Acesso de um contêiner
Cenário
Se você encontrar problemas inesperados ao usar um contêiner, poderá efetuar logon no contêiner para depurá-lo.
Fazer logon em um contêiner usando o CloudShell
- O CloudShell é implementado com base no VPC Endpoint (VPCEP). Para usar o kubectl para acessar um cluster, configure o grupo de segurança (Cluster name-cce-control-Random number) no nó mestre do cluster para permitir o acesso à porta 5443. Por padrão, a porta 5443 permite acesso de todos os blocos CIDR. Se você tiver grupos de segurança reforçados e nenhum cluster não puder ser acessado no CloudShell, verifique se a porta 5443 permite acesso de 198.19.0.0/16.
- Atualmente, você pode usar CloudShell para fazer logon em contêineres apenas nas regiões CN North-Beijing1, CN North-Beijing4, CN East-Shanghai1, CN East-Shanghai2, CN South-Guangzhou e CN North-Ulanqab1.
Você pode encontrar a entrada de acesso na lista de pods de carga de trabalho, conforme mostrado na figura a seguir.
Depois de clicar em Remote Login, a seguinte caixa de diálogo é exibida. Selecione o contêiner que deseja acessar e o comando e clique em OK.
O CloudShell é iniciado, o kubectl é inicializado e o comando kubectl exec é executado automaticamente.
Aguarde de 5 a 10 segundos até que o comando kubectl exec seja executado automaticamente.
Fazer logon em um contêiner usando o kubectl
- Use o kubectl para se conectar ao cluster. Para mais detalhes, consulte Conexão a um cluster usando o kubectl.
- Execute o seguinte comando para exibir o pod criado:
kubectl get pod
A saída de exemplo é a seguinte:NAME READY STATUS RESTARTS AGE nginx-59d89cb66f-mhljr 1/1 Running 0 11m
- Consulte o nome do contêiner no pod.
kubectl get po nginx-59d89cb66f-mhljr -o jsonpath='{range .spec.containers[*]}{.name}{end}{"\n"}'
A saída de exemplo é a seguinte:container-1
- Execute o seguinte comando para efetuar logon no contêiner container-1 no pod nginx-59d89cb66f-mhljr:
kubectl exec -it nginx-59d89cb66f-mhljr -c container-1 -- /bin/sh
- Para sair do contêiner, execute o comando exit.