Acceso a un contenedor
Escenario
Si encuentra problemas inesperados al usar un contenedor puede iniciar sesión en el contenedor para depurarlo.
Inicio de sesión en un contenedor usando CloudShell
- CloudShell se implementa según VPCEP. Para usar kubectl para acceder a un clúster, debe configurar el grupo de seguridad (Cluster name-cce-control-Random number) en el nodo principal del clúster para permitir que los siguientes bloques CIDR accedan al puerto 5443. De forma predeterminada, el puerto 5443 permite el acceso desde todos los bloques CIDR. Si tiene grupos de seguridad reforzados y no se puede acceder a ningún clúster de CloudShell, compruebe si el puerto 5443 permite el acceso desde 198.19.0.0/16.
- Actualmente, puede usar CloudShell para iniciar sesión en contenedores solo en las regiones CN North-Beijing1, CN North-Beijing4, CN East-Shanghai1, CN East-Shanghai2, CN South-Guangzhou y CN North-Ulanqab1.
Puede encontrar la entrada de acceso en la lista de pods de carga de trabajo, como se muestra en la siguiente figura.
Después de hacer clic en Remote Login, se muestra el siguiente cuadro de diálogo. Seleccione el contenedor al que desea acceder y el comando, y haga clic en OK.
CloudShell se inicia, kubectl se inicializa y el comando kubectl exec se ejecuta automáticamente.
Espere de 5 a 10 segundos hasta que el comando kubectl exec se ejecute automáticamente.
Inicio de sesión en un contenedor con kubectl
- Utilice kubectl para conectarse al clúster. Para obtener más información, véase Conexión a un clúster con kubectl.
- Ejecute el siguiente comando para ver el pod creado:
kubectl get pod
El resultado del ejemplo es el siguiente:NAME READY STATUS RESTARTS AGE nginx-59d89cb66f-mhljr 1/1 Running 0 11m
- Consulte el nombre del contenedor en el pod.
kubectl get po nginx-59d89cb66f-mhljr -o jsonpath='{range .spec.containers[*]}{.name}{end}{"\n"}'
El resultado del ejemplo es el siguiente:container-1
- Ejecute el siguiente comando para iniciar sesión en el contenedor container-1 en el pod nginx-59d89cb66f-mhljr:
kubectl exec -it nginx-59d89cb66f-mhljr -c container-1 -- /bin/sh
- Para salir del contenedor, ejecute el comando exit.