【问题标题】: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。只要正确定义以下对象,就会同时生成certificatesecret

    • 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:
        - {}
    

    【讨论】:

      【解决方案2】:

      要使此配置生效,您需要在集群中配置并运行一个 jetstack/cert-manager 实例。 cert-manager 文档有一些说明如何配置 Automatically creating Certificates for Ingress resources 的文档,您需要与您已经包含的配置保持一致;特别是入口的注释,以及启动器的秘密名称。

      我相信您当前拥有的主机名/主机将无法获得由letsencrypt 颁发的证书,因为它们没有使用有效的域。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-24
        • 2020-11-30
        • 1970-01-01
        • 1970-01-01
        • 2021-05-09
        • 2021-12-03
        • 2023-01-12
        • 2020-02-04
        相关资源
        最近更新 更多