Para mitigar posibles riesgos de seguridad, ContainerOS impide que los usuarios inicien sesión directamente en el sistema y ejecuten operaciones sin dejar rastro. Si necesita iniciar sesión en una instancia para tareas de mantenimiento, ContainerOS proporciona un contenedor administrativo dedicado para actividades no rutinarias, como la resolución de problemas y la instalación de paquetes. En este tema se describe cómo ejecutar operaciones comunes en los contenedores administrativos: iniciar sesión, iniciarlos, detenerlos, reiniciarlos y consultar su estado.
Este tema aplica únicamente a los nodos que no están en Auto Mode .
Métodos de mantenimiento de nodos ContainerOS
El contenedor administrativo incluye más paquetes de software que el entorno del host y le permite instalar paquetes adicionales con el administrador de paquetes YUM. Desde el contenedor puede consultar los procesos del sistema, las redes y las configuraciones. También proporciona un comando dedicado para acceder al host, lo cual equivale a conectarse a la instancia mediante Workbench, SSH o VNC. |  |
En ContainerOS 3.5 y versiones posteriores, se eliminó el shell del entorno del host. Consulte la siguiente tabla para elegir un método de mantenimiento adecuado para sus nodos ContainerOS.
Método | ContainerOS 3.5 y versiones posteriores | Versiones de ContainerOS anteriores a la 3.5 |
Iniciar sesión en el contenedor administrativo | | Debe vincular una key pair de SSH a la instancia. Cuando cree un node pool, establezca la credencial de inicio de sesión como una key pair. Para obtener más información, consulte Create and manage node pools. En los node pools existentes, también puede vincular una key pair de SSH a una instancia. Para obtener más información, consulte Bind an SSH key pair. Inicie sesión en el host mediante Workbench (solo inicio de sesión sin contraseña). Ejecute sudo lifseacli container start para iniciar el contenedor administrativo. Inicie sesión mediante SSH.
De forma predeterminada, el servicio SSH (sshd) está deshabilitado en el host. |
Iniciar sesión en el host | Después de iniciar sesión en el contenedor administrativo, ejecute el comando sudo superman. | |
También puede usar el comando kubectl debug para dar mantenimiento a los nodos ContainerOS.
Métodos de inicio de sesión para ContainerOS 3.5 y versiones posteriores
Categoría | Workbench (solo inicio de sesión sin contraseña) | Inicio de sesión por VNC |
Requisitos previos | Ninguna. El agente de Cloud Assistant viene preinstalado en el contenedor administrativo. No es necesario instalarlo manualmente. | El inicio de sesión por VNC requiere autenticación con contraseña. Primero debe establecer una contraseña de inicio de sesión para el contenedor administrativo mediante una sesión de Workbench sin contraseña. |
Procedimiento | -
Inicie sesión en la ACK console. En el panel de navegación izquierdo, haga clic en Clusters.
-
En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en .
En la columna Actions del nodo, elija More > Workbench Remote Access. Siga las instrucciones en pantalla para completar el inicio de sesión sin contraseña.
| -
Inicie sesión en la ACK console. En el panel de navegación izquierdo, haga clic en Clusters.
-
En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en .
En la columna Actions del nodo, elija More > VNC Remote Access y siga las instrucciones en pantalla para completar la verificación de identidad.
|
Métodos de inicio de sesión para versiones de ContainerOS anteriores a la 3.5
Inicio de sesión en el host
Categoría | Workbench (solo inicio de sesión sin contraseña) | Inicio de sesión por VNC |
Requisitos previos | Asegúrese de que el nodo tenga acceso de red al servicio Cloud Assistant. | El inicio de sesión por VNC requiere autenticación con contraseña. Primero debe establecer una contraseña de inicio de sesión para el contenedor administrativo mediante una sesión de Workbench sin contraseña. |
Procedimiento | -
Inicie sesión en la ACK console. En el panel de navegación izquierdo, haga clic en Clusters.
-
En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en .
En la columna Actions del nodo, elija More > Workbench Remote Access.
| -
Inicie sesión en la ACK console. En el panel de navegación izquierdo, haga clic en Clusters.
-
En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en .
En la columna Actions del nodo, elija More > VNC Remote Access y siga las instrucciones en pantalla para completar la verificación de identidad.
|
Inicio de sesión en el contenedor administrativo
Requisitos previos
-
Cuando cree un node pool, establezca la credencial de inicio de sesión como una key pair. Para obtener más información, consulte Create and manage node pools.
En los node pools existentes, también puede vincular una key pair de SSH a una instancia. Para obtener más información, consulte Bind an SSH key pair.
Debe estar instalado el agente de Cloud Assistant. Para obtener más información, consulte Install the Cloud Assistant Agent.
El puerto 22 debe estar permitido en las reglas de su security group. Para obtener más información, consulte Manage security group rules.
-
El inicio de sesión sin contraseña debe estar habilitado para la instancia ECS.
En la página Remote Connection via Session Management, haga clic en la pestaña Password-free Logon y confirme que la administración de sesiones esté habilitada para todas las regiones. El interruptor debe estar en estado habilitado (verde).
Acceso al entorno del host
Inicie sesión en la consola de ECS y vaya al panel Command de Cloud Assistant. Para obtener más información, consulte Create and run commands.
-
En Cloud Assistant, ejecute el siguiente comando para iniciar el contenedor administrativo:
sudo lifseacli container start
Salida esperada:
Downloading docker image...
Successfully downloaded docker image
Successfully start admin container!
La salida indica que Cloud Assistant inició correctamente el contenedor administrativo.
-
Desde una terminal en su computadora local, ejecute el siguiente comando para iniciar sesión en el contenedor administrativo con la clave privada especificada.
Nota
Reemplace <ssh-private-key.pem> con la clave privada de la key pair vinculada a la instancia. Reemplace <instance-ip> con la dirección IP de la instancia.
También puede iniciar sesión como admin mediante Workbench. Use la clave privada de la key pair vinculada a la instancia. Asegúrese de que el puerto 22 esté abierto en su instancia.
ssh -i <ssh-private-key.pem> admin@<instance-ip>
Después de iniciar sesión en el contenedor administrativo, el sistema de archivos raíz del host se monta como solo lectura en el directorio /.lifsea/rootfs del contenedor. Utilice este punto de montaje para buscar información y configuraciones del sistema.
$ssh -i mainxt.pem admin@47.99.45.171
Welcome to LifseaOS maintenance container!
This container is based on Alibaba Cloud Linux 3, therefore most things
should behave the same as a Alibaba Cloud Linux 3 VM or container.
Some common tools are pre-installed for debug purpose and you can install
any tools you want through yum.
Also you can access the LifseaOS host root filesystem (see /.lifsea/rootfs)
within the container.
If you want to place yourself in a real LifseaOS host environment, a tool
named "superman" (`sudo superman`) is provided. Once run, you will go
inside the LifseaOS host's rootfs with a root shell.
Enjoy!
[admin@iZbp1inxxxxtziZ ~]$
-
Ejecute el siguiente comando para acceder al entorno del host desde el contenedor administrativo.
-
Ejecute el comando ls para listar los comandos del sistema disponibles.
[root@xxxs9Z /]# ls
bin boot dev etc home lib lib64 media mnt opt ostree proc root run sbin srv sys sysroot tmp usr var
Solo hay disponible una cantidad limitada de comandos del sistema en el entorno del host.
Gestión del contenedor administrativo
Una vez dentro del entorno del host, ejecute exit para volver al contenedor administrativo. Ejecute exit nuevamente para salir. El contenedor administrativo sigue ejecutándose, por lo que puede volver a conectarse mediante SSH o usar comandos para detenerlo, reiniciarlo o eliminarlo.
Acciones | Descripción |
Detener el contenedor administrativo | sudo lifseacli container stop
|
Reiniciar el contenedor administrativo | Si vincula o desvincula una key pair después de iniciar el contenedor administrativo, debe reiniciar el contenedor para que el cambio surta efecto. sudo lifseacli container restart
|
Eliminar el contenedor administrativo | sudo lifseacli container rm
Importante Al eliminar el contenedor administrativo, también se destruye cualquier software que haya instalado o archivo que haya guardado en él. Si vuelve a iniciar un contenedor administrativo, se crea un entorno nuevo y limpio. Se recomienda no almacenar datos críticos en el contenedor administrativo. |
Consultar el estado del contenedor administrativo | sudo lifseacli container status
|
Preguntas frecuentes
Error UNPROTECTED PRIVATE KEY FILE!****
Síntomas
Se muestra el siguiente error:
$ssh -i manxi.pem admin@47
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'manxi.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "manxi.pem": bad permissions
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
Causa
Los permisos del archivo de clave privada son demasiado permisivos.
Solución
Ejecute el comando chmod 400 <ssh-private-key.pem> para cambiar los permisos del archivo de clave privada a 400. Reemplace <ssh-private-key.pem> con el nombre de su archivo de clave privada.