【问题标题】:How to setup helm chart to access jenkins through https?如何设置 helm chart 以通过 https 访问 jenkins?
【发布时间】:2019-09-19 19:53:08
【问题描述】:
我在 values.yaml 中有 https://github.com/helm/charts/tree/master/stable/jenkins 的以下内容,一切都很好,除了我只能通过 http 访问 jenkins,而不能通过 https
jenkinsUrlProtocol: "https"
jenkinsUriPrefix: "/jenkins"
ingress:
enabled: true
apiVersion: "extensions/v1beta1"
labels: {}
annotations:
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: "true"
path: "/jenkins"
kubernetes.io/ssl-redirect: "true"
hostName: jenkins.xxx.com
tls:
- secretName: jenkins.cluster.local
hosts:
- jenkins.cluster.local
我在 pod 中没有看到任何错误
【问题讨论】:
标签:
jenkins
https
kubernetes-helm
【解决方案1】:
我收到了完全相同的问题。找出 secret 没有正确创建,即使它在 ingress 中定义。
我之前在 cert-manager 命名空间中创建了一个 clusterissuer。只要正确定义以下对象,就会同时生成certificate 和secret
cert-manager.io/cluster-issuer: clusterissuer
kubernetes.io/ingress.class: nginx
kubernetes.io/ingress.provider: nginx
和tls 部分与secretName
这里是ingressyaml 供参考。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
cert-manager.io/cluster-issuer: clusterissuer
kubernetes.io/ingress.class: nginx
kubernetes.io/ingress.provider: nginx
meta.helm.sh/release-name: jenkins
meta.helm.sh/release-namespace: devops
creationTimestamp: "2020-11-19T12:49:29Z"
...
name: jenkins
namespace: devops
...
spec:
rules:
- host: jenkins.example.com
http:
paths:
- backend:
serviceName: jenkins
servicePort: 8080
tls:
- hosts:
- jenkins.example.com
secretName: jenkins-tls
status:
loadBalancer:
ingress:
- {}