Cómo desplegar y gestionar contenedores con Podman sin usar sudo
Con Docker containers, puedes simplemente agregar tu usuario al grupo de docker para poder desplegar y gestionar contenedores sin tener que usar sudo. Durante años, esto se ha considerado el enfoque más seguro para utilizar Docker.
Parte de la razón de esto son los espacios de nombres del kernel y los IDs únicos y de grupo. En circunstancias normales, un usuario tiene acceso a alrededor de mil UIDs que se asignan a varios procesos dentro de un espacio de nombres.
Sin embargo, Podman utiliza un sistema operativo subordinado que se asigna al usuario que despliega el contenedor. Debido a esto, tu usuario necesita considerablemente más UIDs y SUBUIDs que los predeterminados.
Entonces, no solo tenemos que aumentar el número de SUBUIDs y SUBGIDs, sino que también tenemos que permitir esos UIDs y GIDs dentro del espacio de nombres del usuario e instalar un software que proporcione el modo de red para espacios de nombres de red no privilegiados.
Suena complicado, pero no lo es. Y a diferencia de Docker, donde simplemente puedes agregar tu usuario a un grupo y listo, con Podman debes seguir estos pasos para desplegar/gestionar contenedores sin el uso de sudo.
Déjame mostrarte cómo hacerlo.
¡Aprende a desarrollar juegos con Unity y obtén Xbox Game Pass Ultimate por un mes!Cómo otorgarle a un usuario más SUBUIDs/SUBGIDs
Inicia sesión en tu máquina utilizada para contenedores Podman. Lo primero que haremos es habilitar más SUBUIDs y SUBGIDs para el usuario. Para hacer esto, vamos a elegir un rango de IDs que estén más allá de lo normal (entre 200000 y 265536). Para hacerlo, utiliza el siguiente comando:
sudo usermod --add-subuids 200000-265536 --add-subgids 200000-265536 $USER
Si lo prefieres, puedes reemplazar $USER con tu nombre de usuario real.
Cómo otorgar acceso a más espacios de nombres del usuario
A continuación, necesitamos asegurarnos de que el usuario tenga suficientes espacios de nombres. Puedes verificar esto con el siguiente comando:
sysctl --all --pattern user_namespaces
Si ese número es 1,000, necesitarás aumentarlo. Para hacerlo, crea un nuevo archivo con el siguiente comando:
Cómo instalar y usar EasySSH para gestionar múltiples conexiones SSH en Linuxsudo nano /etc/sysctl.d/userns.conf
En ese archivo, agrega lo siguiente:
user.max_user_namespaces=28633
Carga la nueva configuración con:
sudo sysctl -p /etc/sysctl.d/userns.conf
Ahora, cuando ejecutes el comando sysctl --all --pattern user_namespaces
, el nuevo valor debería reflejarse.
Cómo instalar slirp4netns
Ahora, tenemos que instalar un software que proporcione el modo de red para espacios de nombres de red no privilegiados. Para instalar este software en una máquina basada en RHEL, utiliza el siguiente comando:
sudo dnf install slirp4netns -y
Si estás en un sistema basado en Ubuntu o Debian, utiliza el siguiente comando:
sudo apt-get -y install slirp4netns -y
Finalmente, reinicia tu sistema. Tus usuarios deberían poder ahora desplegar contenedores Podman sin tener que usar sudo.
Cómo crear una imagen personalizada con Podman en LinuxEn Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Cómo desplegar y gestionar contenedores con Podman sin usar sudo , tenemos lo ultimo en tecnología 2023.
Artículos Relacionados