当我在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
答案 0 :(得分:0)
docker run -it -v~ / .kube:/root/.kube lachlanevenson / k8s-kubectl get nodes
/var/run/secrets/kubernetes.io/serviceaccount/token
提供的自己的k8s凭据,因此绝对不需要尝试将主目录卷装入docker容器client-cert
错误的原因是因为~/.kube
的内容只是字符串,指向外部定义的ssl密钥,ssl证书和ssl在~/.kube/config
内定义的CA证书 - 但由于没有充分的理由使用该方法,我不会进一步解决该问题