O arquivo kubeconfig armazena as credenciais de acesso ao cluster, incluindo as informações de identidade do usuário conectado. Após obter um arquivo kubeconfig no console, use um cliente kubectl para se conectar e gerencie um cluster do Alibaba Cloud Container Compute Service (ACS).
kubectl e kubeconfig
O kubectl é a ferramenta padrão de linha de comando para gerenciar o Kubernetes. Use o kubectl para se conectar e gerencie clusters ACS. Um arquivo kubeconfig contém informações sobre clusters, usuários, namespaces e mecanismos de autenticação. O kubectl usa esse arquivo para se conectar ao cluster.
Métodos de conexão
Escolha o método de conexão conforme a localização da máquina cliente do kubectl.
Conexão via rede pública: use este método quando a máquina cliente estiver na rede pública. O cluster deve ter o acesso público ao API server ativado, o que expõe o API server por meio de um Elastic IP Address (EIP). Para instruções sobre como ativar o acesso público, consulte Control public access to the API server of a cluster.
Conexão via rede interna: use este método quando apenas o acesso interno for necessário. A máquina cliente do kubectl deve estar na mesma Virtual Private Cloud (VPC) do cluster.
Etapa 1: Instale o kubectl
Instale o kubectl na máquina cliente, de acordo com o sistema operacional e a versão do cluster.
Etapa 2: Configure as credenciais do cluster
Os clusters ACS fornecem dois arquivos kubeconfig com credenciais: um para acesso pela rede pública e outro para a rede interna. Por padrão, o kubectl busca um arquivo chamado config no diretório $HOME/.kube da máquina cliente. Esse arquivo armazena as credenciais de acesso do cluster a ser gerenciado, e o kubectl o utiliza para estabelecer a conexão.
Faça login no console do ACS. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique em no nome do cluster desejado ou em Details na coluna Actions.
Na página Cluster Information, clique em na aba Connection Information. Selecione um kubeconfig temporário ou de longo prazo. Para o temporário, especifique o período de validade.
Clique em na aba Internal Access ou Public Access e clique em Copy.
-
Cole o conteúdo no arquivo
$HOME/.kube/configdo cliente e salve-o.Nota: Se o diretório ou o arquivo não existir, crie-o antes de prosseguir.
-
Verifique a conexão listando todos os namespaces:
kubectl get namespacesSaída esperada:
NAME STATUS AGE default Active 4h39m kube-node-lease Active 4h39m kube-public Active 4h39m kube-system Active 4h39m
Perguntas frequentes
Os comandos a seguir usam YOUR_KUBECONFIG_PATH como espaço reservado para o caminho absoluto do arquivo kubeconfig. Por padrão, o kubectl usa o arquivo $HOME/.kube/config para se conectar ao cluster. Para especificar um arquivo kubeconfig diferente, defina a variável de ambiente KUBECONFIG ou use o parâmetro --kubeconfig.
Pergunta 1: Como obtenho as informações de identidade associadas ao certificado usado em um arquivo kubeconfig?
Execute o seguinte comando:
grep client-certificate-data YOUR_KUBECONFIG_PATH |awk '{print $2}' |base64 -d | openssl x509 -noout -text |grep Subject:
A saída esperada é semelhante a esta:
Subject: O=system:users, OU=, CN=1***-1673419473
A lista a seguir descreve os parâmetros da saída:
Oindica o grupo de usuários do Kubernetes ao qual o usuário pertence. Neste exemplo, o nome do grupo ésystem:users.CNidentifica o usuário associado. Neste caso, o usuário é1***-1673419473, em que1***corresponde a um ID de usuário da Alibaba Cloud vinculado à conta.
Pergunta 2: Como verifico a data de expiração do certificado usado em um arquivo kubeconfig?
Execute o comando a seguir:
grep client-certificate-data YOUR_KUBECONFIG_PATH |awk '{print $2}' |base64 -d | openssl x509 -noout -enddate
A saída esperada é semelhante a esta:
notAfter=Jan 10 06:44:34 2026 GMT
O valor Jan 10 06:44:34 2026 GMT representa a data de expiração do certificado.
Obtenha um novo arquivo kubeconfig com um certificado atualizado pelo console ou via OpenAPI até 60 dias antes da expiração do certificado atual ou a qualquer momento após a expiração.
Pergunta 3: Como resolver o erro certificate is valid for ao me conectar a um cluster com kubectl?
Se você vincular um novo endereço IP à instância do Server Load Balancer (SLB) do API server do cluster e tentar acessar esse novo IP com o kubectl, o comando falhará. O sistema retornará o erro Error while proxying request: x509: certificate is valid for xxx ou Unable to connect to the server: x509: certificate is valid for xxx.
Adicione o novo endereço IP ao subject alternative name (SAN) do certificado do API server, conforme descrito em Customize the SAN of the API server certificate for a cluster. O exemplo a seguir ilustra a configuração:
Na caixa de diálogo Update Custom Certificate SAN, insira o novo endereço IP, como 192.168.1.137, no campo Custom Certificate SAN. Separe vários endereços IP ou nomes de domínio com vírgulas (,). Em seguida, clique em OK. Nota: modificar o SAN causa uma breve reinicialização do API server.