-2

当我在 pod/pod 模板中定义多个容器时,比如一个容器正在运行agent,另一个容器php-fpm,它们如何相互访问?我需要通过 shellagent container连接,并且需要通过.php-fpmagent container

根据我的理解,我们可以打包kubectlagent containerkubectl exec -it <container id> sh用来连接到容器中。但我不想Agent container拥有比使用 is 连接到目标容器更多的特权php-fpm

有没有更好的方法可以通过 shellagent container连接并以php-fpm交互方式执行命令?

另外,由于以下错误,我在使用时没有成功kubectl从容器运行minikube

docker run -it -v ~/.kube:/root/.kube lachlanevenson/k8s-kubectl get nodes
Error in configuration:
* unable to read client-cert /Users/user/.minikube/apiserver.crt for minikube due to open /Users/user/.minikube/apiserver.crt: no such file or directory
* unable to read client-key /Users/user/.minikube/apiserver.key for minikube due to open /Users/user/.minikube/apiserver.key: no such file or directory
* unable to read certificate-authority /Users/user/.minikube/ca.crt for minikube due to open /Users/user/.minikube/ca.crt: no such file or directory
4

1 回答 1

0

docker run -it -v ~/.kube:/root/.kube lachlanevenson/k8s-kubectl 获取节点

  1. 首先,k8s 集群中的每个 Pod 都有自己的 k8s 凭证,由 提供/var/run/secrets/kubernetes.io/serviceaccount/token,因此绝对不需要尝试将主目录卷挂载到 docker 容器中
  2. 您收到错误的原因client-cert是因为内容~/.kube只是指向外部定义的 ssl 密钥、ssl 证书和内部定义的 ssl CA 证书的字符串~/.kube/config——但我不会进一步解决这个问题,因为有没有充分的理由使用这种方法
于 2017-09-11T06:29:36.540 回答