Istio:无法将秘密挂载到 pod

问题描述 投票:0回答:2

我是 Istio 和 K8s 的菜鸟,如果这个问题听起来有点愚蠢,我很抱歉。

我正在尝试向我为其创建如下秘密的网关部署提供我自己的证书。

$ kubectl create -n istio-system secret tls certs --key example.comkey.pem --cert example.com.pem
$ kubectl create -n istio-system secret generic ca-certs --from-file=rootCA.pem

编辑我的部署

sidecar.istio.io/userVolumeMount: '[{"name":"certs", "mountPath":"/etc/certs", "readonly":true},{"name":"ca-certs", "mountPath":"/etc/ca-certs", "readonly":true}]'
sidecar.istio.io/userVolume: '[{"name":"certs", "secret":{"secretName":"certs"}},{"name":"ca-certs", "secret":{"secretName":"ca-certs"}}]'

按照 herehere 中提供的步骤进行操作,但我仍然看不到已安装的文件。

我错过了什么吗?

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.2", GitCommit:"092fbfbf53427de67cac1e9fa54aaa09a28371d7", GitTreeState:"clean", BuildDate:"2021-06-16T12:59:11Z", GoVersion:"go1.16.5", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.2", GitCommit:"092fbfbf53427de67cac1e9fa54aaa09a28371d7", GitTreeState:"clean", BuildDate:"2021-06-16T12:53:14Z", GoVersion:"go1.16.5", Compiler:"gc", Platform:"linux/amd64"}
kubernetes istio istio-sidecar istio-gateway
2个回答
1
投票

我能够解决这个问题。我不确定这是否是正确的方法。 我错过了添加

volumeMounts
volumes
。进行以下更改后,我可以看到我的文件已安装。

volumeMounts:
- name: certs
  mountPath: /etc/certs
  readOnly: true
- name: ca-certs
  mountPath: /etc/ca-certs
  readOnly: true

volumes:
- name: certs
  secret:
  secretName: certs
  optional: true
- name: ca-certs
  secret:
  secretName: ca-certs
  optional: true

-1
投票

一年多后我遇到了同样的问题,为此我创建了这个案例https://github.com/istio/istio/issues/44946。 我想知道你是否修复了它。

© www.soinside.com 2019 - 2024. All rights reserved.