使用Nginx-ingress部署ARTIFACTORY Helm图表
当你使用Helm图表附带的默认Nginx部署Artifactory时,它默认创建了一个面向互联网的负载均衡器,这在大多数Kubernetes环境中是受限的。在这种情况下,如果您希望使用外部负载均衡器和只向组织的网络公开Artifactory服务的Ingress来部署Artifactory,则可以遵循以下步骤。
什么是入口?
Ingress是Kubernetes资源,允许您为Kubernetes服务配置HTTP负载均衡器。这样的负载均衡器配置将服务公开给Kubernetes集群之外的客户端。
使用Nginx-ingress部署Artifactory Helm图表的步骤:
步骤1:
与任何云提供商一起创建Kubernetes集群。我使用了EKS (AWS Kubernetes集群)。此外,请确保已安装kubectl随附服务舵(v3优先)在您的系统上对Kubernetes集群执行Kubernetes和Helm基本实用程序命令。我
步骤2:
使用以下命令安装Nginx-Ingress Controller(我们可以使用自定义证书部署Nginx-Ingress)。欲了解更多信息,请参考Github页面在这里).$ helm repo添加ingress-nginx https://kubernetes.github.io/ingress-nginx
$ helm回购更新
$ kubectl创建nginx-ingress
$ helm upgrade——install nginx-ingress——命名空间nginx-ingress ingress-nginx/ingress-nginx
步骤3:
将域指向Nginx-Ingress服务的EXTERNAL_IP
例如,创建DNStest.artifactory.com并将其指向EXTERNAL_IP##命令获取EXTERNAL_IP
kubectl get svc -n nginx-ingress nginx-ingress-controller -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'
步骤4:
使用以下命令&在部署Artifactory的命名空间下创建Nginx证书的秘密。
命令:
$ kubectl创建秘密TLS <秘密名称>——cert=/路径到/ TLS。Pem——key=/路径到/tls。键——命名空间artifactory
例子:
$ kubectl create secret tls nginx-tls——cert=/Users/admin/Documents/kubernetes/certs/tls。crt——关键= /用户/ admin /文档/ kubernetes /组/ tls。键——命名空间artifactory
步骤5:
使用Helm Chart安装JFrog Artifactory,将以下入口配置添加到values.yaml文件(我们可以添加nginx。根据nginx-ingress标准标注。有关Nginx入口控制器注释的更多信息,请参阅Nginx注释页面在这里).
values.yaml
postgresql:
启用:真
postgresqlPassword: <密码>
databaseUpgradeReady:真
unifiedUpgradeAllowed:真
artifactory:
masterKeySecretName: my-masterkey-secret
joinKeySecretName: my-joinkey-secret
许可:
秘密:artifactory-cluster-license
dataKey: art.lic
nginx:
启用:假
入口:
启用:真
defaultBackend:
启用:真
主机:
—
routerPath: /
artifactoryPath: / artifactory /
名称:“
注释:
kubernetes.io / ingress.class:“nginx”
nginx.ingress.kubernetes。io / proxy-body-size:“0”
nginx.ingress.kubernetes。io / proxy-read-timeout:“600”
nginx.ingress.kubernetes。io / proxy-send-timeout:“600”
nginx.ingress.kubernetes。io / proxy-body-size:“0”
nginx.ingress.kubernetes。io / rewrite-target:“/”
nginx.ingress.kubernetes。io / configuration-snippet: |
重写^/(v2)/token /artifactory/api/docker/null/v2/token;
重写^ / (v2 )/([^\/]*)/(.*) / artifactory / api /码头工人/ 2美元/ 1 / 3美元;
tls:
—secretName: nginx-tls
主机:
—
命令使用舵图安装artifactory。
$ helm repo添加jfrog-charts https://charts.jfrog.io
$ helm回购更新
$ helm upgrade—install artifactory -f values。yaml jfrog-charts / artifactory
安装Artifactory后,等待几分钟,直到状态显示服务正常。然后,您应该能够通过定义的域名访问它。
例子:https://jfrog.artifactory.com
