【发布时间】:2018-02-19 05:24:42
【问题描述】:
当我在一个 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 并交互执行命令?
另外,由于以下错误,我在使用 minikube 时无法从容器中运行 kubectl 成功
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
【问题讨论】:
-
代理容器是否有更好的方法通过 shell 连接到 php-fpm 并交互执行命令? 不知道你是什么就很难回答这个问题尝试做;你想用这些 shell 命令做什么?
-
但我不希望代理容器拥有比使用 php-fpm 连接到目标容器更多的权限,那么你应该放弃你的
kubectl exec方法,因为不用 RBAC 做一些非常非常严肃的工作,Pod 将能够在集群内部做任何它想做的事情
标签: kubernetes kubernetes-helm kubernetes-security