When I define multiple containers in a pod/pod template like one container running agent
and another php-fpm
, how can they access each other? I need the agent container
to connect to php-fpm
by shell and need to execute few steps interactively through agent container
.
Based on my understanding, we can package kubectl
into the agent container
and use kubectl exec -it <container id> sh
to connect to the container. But I don't want Agent container
to have more privilege than to connect to the target container with is php-fpm
.
Is there a better way for agent container
to connect to php-fpm
by a shell and execute commands interactively?
Also, I wasn't successful in running kubectl
from a container when using minikube
due to following errors
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
docker run -it -v ~/.kube:/root/.kube lachlanevenson/k8s-kubectl get nodes
/var/run/secrets/kubernetes.io/serviceaccount/token
, and thus there is absolutely no need to attempt to volume mount your home directory into a docker containerclient-cert
is because the contents of ~/.kube
are merely strings that point to the externally defined ssl key, ssl certificate, and ssl CA certificate defined inside ~/.kube/config
-- but I won't speak to fixing that problem further since there is no good reason to be using that approach