我正在尝试安装Jenkins with Helm到 Kubernetes 集群,但使用 tls(证书管理器,让我们加密)。
困难在于关键 master.ingress.tls 需要一个数组,一个对象数组。
helm install --name jenkins --namespace jenkins --set
master.serviceType=ClusterIP,master.ingress.enabled=true,
master.ingress.hostName=jenkins.mydomain.com,
master.ingress.annotations."certmanager\.k8s\.io\/cluster-issuer"=letsencrypt-prod,
master.ingress.tls={hosts[0]=jenkins.mydomain.com,
secretName=jenkins-cert} stable/jenkins
相关部分是:
master.ingress.tls={hosts[0]=jenkins.mydomain.com,secretName=jenkins-cert}
如果我尝试更改它,则会出现不同的错误:
no matches found: master.serviceType=ClusterIP,master.ingress.enabled=true,master.ingress.hostName=jenkins.mydomain.com,master.ingress.annotations.certmanager.k8s.io/cluster-issuer=letsencrypt-prod,master.ingress.tls={master.ingress.tls[0].secretName=jenkins-cert}
or
release jenkins failed: Ingress in version "v1beta1" cannot be handled as a Ingress: v1beta1.Ingress.Spec: v1beta1.IngressSpec.TLS: []v1beta1.IngressTLS: readObjectStart: expect { or n, but found ", error found in #10 byte of ...|],"tls":["secretName|..., bigger context ...|eName":"jenkins","servicePort":8080}}]}}],"tls":["secretName:jenkins-cert"]}}
尝试this确实返回上面的第一个错误。
尝试了不同的解决方案:
- {hosts[0]=jenkins.mydomain.com,secretName=jenkins-cert}
- {"hosts[0]=jenkins.mydomain.com","secretName=jenkins-cert"}
- {hosts[0]:jenkins.mydomain.com,secretName:jenkins-cert}
- "{hosts[0]=jenkins.mydomain.com,secretName=jenkins-cert}"
- master.ingress.tls[0].secretName=jenkins-cert
- {master.ingress.tls[0].hosts[0]=jenkins.mydomain.com,master.ingress.tls[0].secretName=jenkins-cert}
如何正确设置 Helm?
最佳答案
通过添加自定义 my-values.yaml 解决了这个问题
我的值.yaml:
master:
jenkinsUrlProtocol: "https"
ingress:
enabled: true
apiVersion: "extensions/v1beta1"
labels: {}
annotations:
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: "true"
kubernetes.io/ssl-redirect: "true"
hostName: jenkins.mydomain.com
tls:
- hosts:
- jenkins.mydomain.com
secretName: cert-name
安装命令:
helm install --name jenkins -f my-values.yaml stable/jenkins
关于jenkins - 如何 Helm 设置对象数组( map 数组)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58065957/