【问题标题】:istio operator: pass ingress mTLS certs via filesistio 操作员:通过文件传递入口 mTLS 证书
【发布时间】:2021-02-18 16:59:38
【问题描述】:

我正在尝试通过文件而不是通过秘密将 mTLS 证书传递给 istio 入口网关。 Vault init-container 会将证书存储在

/etc/istio/ingressgateway-certs/tls.key
/etc/istio/ingressgateway-certs/tls.cert
/etc/istio/ingressgateway-ca-certs/ca-chain.cert.pem

所以我试图通过这样的补丁删除秘密元素

      - path: spec.template.spec.volumes[name:ingressgateway-ca-certs].emptyDir
        value: {}
      - path: spec.template.spec.volumes[name:ingressgateway-certs].emptyDir
        value: {}
      - path: spec.template.spec.volumes[name:ingressgateway-certs].secret
      - path: spec.template.spec.volumes[name:ingressgateway-certs].secret.secretName
      - path: spec.template.spec.volumes[name:ingressgateway-ca-certs].secret.secretName
      - path: spec.template.spec.volumes[name:ingressgateway-ca-certs].secret

但它不起作用。 文档说,“对于删除,值应该是未设置的。”

https://istio.io/latest/docs/reference/config/istio.operator.v1alpha1/#K8sObjectOverlay-PathValue

istioctl manifest generate 命令仍然包含秘密部分。 我还尝试将值设置为“未设置”,但(如预期的那样)最终使用未设置作为秘密名称的文字值。 任何指针表示赞赏。

【问题讨论】:

    标签: istio mtls


    【解决方案1】:

    使用它来删除它,因为 vault sidecar 会挂载它。

    - path: spec.template.spec.volumes[name:ingressgateway-ca-certs]         
    - path: spec.template.spec.volumes[name:ingressgateway-certs]
    

    但在最终解决方案中,在不同路径配置和呈现证书以避免与默认路径冲突。例如

    /etc/istio/ingressgateway/certs/tls.key
    /etc/istio/ingressgateway/certs/tls.cert
    /etc/istio/ingressgateway/ca-certs/ca-chain.cert.pem
    

    【讨论】:

      猜你喜欢
      • 2020-11-13
      • 2020-11-02
      • 2015-04-22
      • 2022-07-20
      • 1970-01-01
      • 1970-01-01
      • 2020-08-13
      • 2019-07-04
      • 2023-04-08
      相关资源
      最近更新 更多