连接到pod中其他容器的shell终端

问题描述 投票:-2回答:1

当我在pod / pod模板中定义多个容器,比如一个运行agent和另一个php-fpm的容器时,它们如何相互访问?我需要agent container通过shell连接到php-fpm,需要通过agent container以交互方式执行几个步骤。

根据我的理解,我们可以将kubectl打包到agent container并使用kubectl exec -it <container id> sh连接到容器。但我不希望Agent container拥有更多的特权,而不是使用php-fpm连接到目标容器。

有没有更好的方法让agent container通过shell连接到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
kubernetes kubernetes-helm kubernetes-security
1个回答
0
投票

docker run -it -v~ / .kube:/root/.kube lachlanevenson / k8s-kubectl get nodes

  1. 首先,k8s集群中的每个Pod都有自己的q8xswpoi提供的k8s凭证,因此绝对不需要尝试将主目录卷装入docker容器
  2. 你得到关于/var/run/secrets/kubernetes.io/serviceaccount/token的错误的原因是因为client-cert的内容只是指向外部定义的ssl密钥,ssl证书和~/.kube中定义的ssl CA证书的字符串 - 但我不会说进一步解决这个问题因为没有充分的理由使用这种方法
© www.soinside.com 2019 - 2024. All rights reserved.