【问题标题】:Jenkins Ingress with k8s v1.19Jenkins Ingress 与 k8s v1.19
【发布时间】:2021-12-14 21:25:17
【问题描述】:

我有一个在 v1.19 之前编写的 Jenkins values.yaml 文件,我需要一些帮助来将其更改为与 v1.19 兼容。

在下面的旧Values.yaml 中,我尝试添加http path:/pathType 应该是 ImplementationSpecific 吗?

只有 defaultBackend 出于某种原因有效,不确定我在使用 pathpathType 时做错了什么。

ingress:
enabled: true
# Override for the default paths that map requests to the backend
paths:
  # - backend:
  #     serviceName: ssl-redirect
  #     servicePort: use-annotation
  - backend:
      serviceName: >-
        {{ template "jenkins.fullname" . }}
      # Don't use string here, use only integer value!
      servicePort: 8080
# For Kubernetes v1.14+, use 'networking.k8s.io/v1'
apiVersion: "networking.k8s.io/v1"
labels: {}
annotations:
  kubernetes.io/ingress.global-static-ip-name: jenkins-sandbox-blah
  networking.gke.io/managed-certificates: jenkins-sandbox-blah
  kubernetes.io/ingress.allow-http: "true"

# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
# Set this path to jenkinsUriPrefix above or use annotations to rewrite path
# path: "/jenkins"
# configures the hostname e.g. jenkins.example.com
hostName: jenkins.sandbox.io

【问题讨论】:

    标签: jenkins kubernetes kubernetes-ingress


    【解决方案1】:

    v1.18v1.19 之间的 Ingress 资源定义有几处更改。

    v1.18 中,我们定义了这样的路径(参见:A minimal Ingress resource example):

      paths:
      - path: /testpath
        pathType: Prefix
        backend:
          serviceName: test
          servicePort: 80
          
    

    1.19 版本中改为:(参见:A minimal Ingress resource example):

      paths:
      - path: /testpath
        pathType: Prefix
        backend:
          service:
            name: test
            port:
              number: 80
              
    

    在您的示例中,您可以稍微修改 values.yaml 并重试:
    注意:您可能需要更改端口号和 pathType,具体取决于您的配置。此外,我添加了kubernetes.io/ingress.class: nginx 注释,因为我使用的是NGINX Ingress Controller,并且我没有配置主机名。

    $ cat values.yaml
    controller:
      ingress:
        enabled: true
        paths:
        - path: "/"
          pathType: Prefix
          backend:
            service:
              name: >-
                {{ template "jenkins.fullname" . }}
              port:
                number: 8080
        apiVersion: "networking.k8s.io/v1"
        annotations:
          kubernetes.io/ingress.global-static-ip-name: jenkins-sandbox-blah
          networking.gke.io/managed-certificates: jenkins-sandbox-blah
          kubernetes.io/ingress.allow-http: "true"
          kubernetes.io/ingress.class: nginx
        # configures the hostname e.g. jenkins.example.com
        # hostName: jenkins.sandbox.io
    

    【讨论】:

    • 最后一个没有设置“pathType”
    猜你喜欢
    • 2019-03-24
    • 2021-05-16
    • 1970-01-01
    • 2019-07-29
    • 2020-11-06
    • 1970-01-01
    • 2021-06-07
    • 2019-02-24
    • 2019-02-02
    相关资源
    最近更新 更多