Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins 如何掌舵-设置对象数组(地图数组)?_Jenkins_Kubernetes Helm_Kubernetes Ingress - Fatal编程技术网

Jenkins 如何掌舵-设置对象数组(地图数组)?

Jenkins 如何掌舵-设置对象数组(地图数组)?,jenkins,kubernetes-helm,kubernetes-ingress,Jenkins,Kubernetes Helm,Kubernetes Ingress,我正在尝试安装到Kubernetes群集,但使用tls(证书管理器,让我们加密) 困难在于密钥master.ingres.tls接受一个数组,一个对象数组 helm install --name jenkins --namespace jenkins --set master.serviceType=ClusterIP,master.ingress.enabled=true, master.ingress.hostName=jenkins.mydomain.com, master.ingress

我正在尝试安装到Kubernetes群集,但使用tls(证书管理器,让我们加密)

困难在于密钥master.ingres.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}
这会产生不同的错误,如果我尝试更改它:

未找到匹配项: master.serviceType=ClusterIP,master.ingres.enabled=true,master.ingres.hostName=jenkins.mydomain.com,master.ingres.annotations.certmanager.k8s.io/cluster issuer=letsencrypt prod,master.ingres.tls={master.ingres.tls[0]。secretName=jenkins cert}

发布jenkins失败:无法处理版本“v1beta1”中的入口 作为入口:v1beta1.ingres.Spec:v1beta1.ingresspec.TLS: []v1beta1.ingrestls:readObjectStart:预期为{或n,但已找到“, “tls”…]的#10字节中发现错误:[“secretName”|…,更大 上下文 …|eName:“jenkins”,“servicePort:8080}]}}],“tls:[“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}
- "{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}

如何正确地掌舵?添加自定义my-values.yaml解决了此问题

my-values.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
安装命令:

头盔安装——名称jenkins-f my-values.yaml stable/jenkins