Ответ 1
- Используйте
kubectl describe pod...
чтобы найти узел, на котором запущен ваш Pod и идентификатор контейнера (docker://...
) - SSH в узел
- запустить
docker exec -u root ID --/bin/bash
У меня есть одна подкачка с именем "jenkins-app-2843651954-4zqdp". Я хочу временно установить несколько программных средств на этом контейнере. Как я могу это сделать?
Я пытаюсь this- kubectl exec -it jenkins-app-2843651954-4zqdp --/bin/bash
а затем запускает команды apt-get install, но поскольку пользователь, с которым я обращаюсь, не имеет доступа к sudo, я не могу запускать команды
kubectl describe pod...
чтобы найти узел, на котором запущен ваш Pod и идентификатор контейнера (docker://...
)docker exec -u root ID --/bin/bash
Есть некоторые плагины для kubectl, которые могут помочь вам достичь этого: https://github.com/jordanwilson230/kubectl-plugins
Один из плагинов, называемый 'ssh', позволит вам выполнить от имени пользователя root, запустив (например) kubectl ssh -u root -p nginx-0
docker container ls
, чтобы найти идентификатор контейнераdocker exec -it -u root ID /bin/bash
kubectl exec -it <POD NAME> -n <NAMESPACE> -c <CONTAINER NAME> bash