【问题标题】:Expose mulitple containerPort via values.yaml通过 values.yaml 公开多个 containerPort
【发布时间】:2021-09-22 15:14:20
【问题描述】:

有没有办法在 values.yaml 文件中传递端口数组。我想设置多个 ContainerPort。我尝试使用--set "test.containerPort={8080,10102,19905} 并收到错误消息,因为 io.k8s.apimachinery.pkg.util.intstr.IntOrString: got "array", expected "string".

任何示例/建议都会很有帮助。

【问题讨论】:

    标签: kubernetes kubernetes-helm helmfile helm3


    【解决方案1】:

    Helm 使用 Go 模板机制,因此它实际上从 values.yaml 获取参数并将它们放入 template/* 文件中。

    换句话说,你设置多个容器端口的方式取决于你使用的 Helm Chart。

    例如,如果有一个文件template/my-statefulset.yaml

    apiVersion: apps/v1
    kind: StatefulSet
    ...
    spec:
      template:
        spec:
          containers:
            ports:
    {{ toYaml .Values.ports| indent 10 }}
    ...
    

    然后,您可以使用以下values.yaml 来设置多个容器端口。

    ports:
      - name: my first port
        containerPort: 5678
      - name: my second port
        containerPort: 5679
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-13
      • 1970-01-01
      • 2016-02-20
      • 2020-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多