Tengo un pod ejecutándose con el nombre 'jenkins-app-2843651954-4zqdp'. Quiero instalar algunos softwares temporalmente en este pod. ¿Cómo puedo hacer esto?
Estoy intentando esto kubectl exec -it jenkins-app-2843651954-4zqdp -- /bin/bash y luego ejecuto los comandos apt-get install pero como el usuario con el que estoy accediendo no tiene acceso a sudo, no puedo ejecutar comandos
kubectl describe pod ... para encontrar el nodo que ejecuta su Pod y el ID del contenedor ( docker://... )docker exec -it -u root ID /bin/bashHay algunos complementos para kubectl que pueden ayudarlo a lograr esto: https://github.com/jordanwilson230/kubectl-plugins
Uno de los complementos llamado 'ssh' le permitirá ejecutar como usuario root ejecutando (por ejemplo) kubectl ssh -u root -p nginx-0
Sobre la base de la respuesta de @jordanwilson230, también desarrolló un script bash llamado exec-as que usa Docker-in-Docker para lograr esto: https://github.com/jordanwilson230/kubectl-plugins/blob/krew/kubectl-exec-as
Cuando se instala a través del administrador de complementos kubectl krew → kubectl krew install exec-as puede simplemente
kubectl exec-as -u <username> <podname> -- /bin/bashEsto solo funciona en clústeres de Kubernetes que permiten contenedores privilegiados.