Подключить к терминалу оболочки другого контейнера в контейнере
Когда я определяю несколько контейнеров в шаблоне pod/pod как один запущенный контейнер agent
и другой php-fpm
как они могут получить доступ друг к другу? мне нужно agent container
подключиться к php-fpm
оболочкой и нужно выполнить несколько шагов в интерактивном режиме через agent container
,
Исходя из моего понимания, мы можем упаковать kubectl
в agent container
и использовать kubectl exec -it <container id> sh
подключить к контейнеру. Но я не хочу Agent container
иметь больше привилегий, чем подключаться к целевому контейнеру с помощью is php-fpm
,
Есть ли лучший способ для agent 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
1 ответ
docker run -it -v ~/.kube:/root/.kube lachlanevenson/k8s-kubectl получить узлы
- Во-первых, каждый Pod в кластере k8s имеет свои учетные данные k8s, предоставленные
/var/run/secrets/kubernetes.io/serviceaccount/token
и, таким образом, абсолютно не нужно пытаться смонтировать ваш домашний каталог в док-контейнер - Причина, по которой вы получаете сообщение об ошибке
client-cert
потому что содержимое~/.kube
это просто строки, которые указывают на внешний ключ ssl, сертификат ssl и сертификат CA ssl, определенный внутри~/.kube/config
- но я не буду говорить об устранении этой проблемы в дальнейшем, так как нет веских причин использовать этот подход