【发布时间】: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 命令仍然包含秘密部分。 我还尝试将值设置为“未设置”,但(如预期的那样)最终使用未设置作为秘密名称的文字值。 任何指针表示赞赏。
【问题讨论】: