Команды Exec для контейнеров кубернете с доступом root

У меня есть одна подкачка с именем "jenkins-app-2843651954-4zqdp". Я хочу временно установить несколько программных средств на этом контейнере. Как я могу это сделать?

Я пытаюсь this- kubectl exec -it jenkins-app-2843651954-4zqdp --/bin/bash а затем запускает команды apt-get install, но поскольку пользователь, с которым я обращаюсь, не имеет доступа к sudo, я не могу запускать команды

Ответы

Ответ 1

  • Используйте kubectl describe pod... чтобы найти узел, на котором запущен ваш Pod и идентификатор контейнера (docker://...)
  • SSH в узел
  • запустить docker exec -u root ID --/bin/bash

Ответ 2

Есть некоторые плагины для kubectl, которые могут помочь вам достичь этого: https://github.com/jordanwilson230/kubectl-plugins

Один из плагинов, называемый 'ssh', позволит вам выполнить от имени пользователя root, запустив (например) kubectl ssh -u root -p nginx-0

Ответ 3

  • docker container ls, чтобы найти идентификатор контейнера
  • docker exec -it -u root ID /bin/bash

Ответ 4

kubectl exec -it <POD NAME> -n <NAMESPACE> -c <CONTAINER NAME> bash