我正在尝试通过文件而不是通过秘密将 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
但它不工作。Doc 说,“对于删除,应该取消设置值。”
https://istio.io/latest/docs/reference/config/istio.operator.v1alpha1/#K8sObjectOverlay-PathValue
istioctl manifest generate 命令仍然包含秘密部分。我还尝试将值设置为“未设置”,但(如预期的那样)最终使用未设置作为秘密名称的文字值。任何指针表示赞赏。