Ajudar a melhorar esta página
Quer contribuir para este guia do usuário? Role até o final desta página e selecione Editar esta página no GitHub. Suas contribuições ajudarão a tornar nosso guia do usuário melhor para todos.
Conectar o kubectl a um cluster do EKS criando um arquivo kubeconfig
Neste tópico, você cria um arquivo kubeconfig
para o cluster (ou atualiza um existente).
A ferramenta da linha de comando kubectl
usa informações de configuração em arquivos kubeconfig
para se comunicar com o servidor de API de um cluster. Para obter mais informações, consulte Organizando o acesso ao cluster usando arquivos kubeconfig
O Amazon EKS usa o comando aws eks get-token
com kubectl
para autenticação de cluster. Por padrão, a AWS CLI usa as mesmas credenciais que são retornadas com o seguinte comando:
aws sts get-caller-identity
Pré-requisitos
-
Um cluster existente do Amazon EKS. Para implantar, consulte Começar a usar o Amazon EKS.
-
A ferramenta da linha de comando
kubectl
está instalada no seu dispositivo ou no AWS CloudShell. A versão pode ser idêntica ou até uma versão secundária anterior ou posterior à versão Kubernetes do seu cluster. Por exemplo, se a versão do cluster for a1.29
, você poderá usar okubectl
versão1.28
,1.29
ou1.30
com ele. Para instalar ou atualizar okubectl
, consulte Configurar o kubectl e o eksctl. -
A versão
2.12.3
ou superior ou a versão1.27.160
ou superior da AWS Command Line Interface (AWS CLI) instalada e configurada em seu dispositivo ou no AWS CloudShell. Para verificar sua versão atual, use
. Gerenciadores de pacotes, comoaws --version | cut -d / -f2 | cut -d ' ' -f1
yum
,apt-get
ou Homebrew para macOS, geralmente estão várias versões atrás da versão mais recente da AWS CLI. Para instalar a versão mais recente, consulte Instalar, atualizar e desinstalar a AWS CLI e Configuração rápida com o aws configure no Guia do usuário da AWS Command Line Interface. A versão da AWS CLI instalada no AWS CloudShell também pode estar várias versões atrás da versão mais recente. Para atualizá-la, consulte Instalar a AWS CLI no diretório inicial no Guia do usuário do AWS CloudShell. -
Um usuário ou perfil do IAM com permissão para usar a ação de API
eks:DescribeCluster
para o cluster que você especificar. Para ter mais informações, consulte Exemplos de políticas baseadas em identidade do Amazon EKS. Se você usa uma identidade do seu próprio provedor OpenID Connect para acessar seu cluster, consulte Como usarkubectl
na documentação do Kubernetes para criar ou atualizar o arquivo kube config
.
Criar arquivo kubeconfig
automaticamente
Pré-requisitos
-
A versão
2.12.3
ou superior ou a versão1.27.160
ou superior da AWS Command Line Interface (AWS CLI) instalada e configurada em seu dispositivo ou no AWS CloudShell. Para verificar sua versão atual, use
. Gerenciadores de pacotes, comoaws --version | cut -d / -f2 | cut -d ' ' -f1
yum
,apt-get
ou Homebrew para macOS, geralmente estão várias versões atrás da versão mais recente da AWS CLI. Para instalar a versão mais recente, consulte Instalar, atualizar e desinstalar a AWS CLI e Configuração rápida com o aws configure no Guia do usuário da AWS Command Line Interface. A versão da AWS CLI instalada no AWS CloudShell também pode estar várias versões atrás da versão mais recente. Para atualizá-la, consulte Instalar a AWS CLI no diretório inicial no Guia do usuário do AWS CloudShell. -
Permissão para usar a ação de API
eks:DescribeCluster
para o cluster que você especificar. Para ter mais informações, consulte Exemplos de políticas baseadas em identidade do Amazon EKS.
Para criar o arquivo kubeconfig
com a AWS CLI
-
Crie um arquivo
kubeconfig
para o cluster. Substituaregion-code
pela Região da AWS em que seu cluster está localizado e substituamy-cluster
pelo nome do seu cluster.aws eks update-kubeconfig --region
region-code
--namemy-cluster
Por padrão, o arquivo de configuração resultante é criado no caminho padrão do
kubeconfig
(.kube
) em seu diretório inicial ou mesclado com umconfig
existente no local. Você pode especificar outro caminho com a opção--kubeconfig
.Você pode especificar um ARN de função do IAM com a opção
--role-arn
para uso na autenticação quando você emitir comandoskubectl
. Caso contrário, a entidade principal do IAM na AWS CLI padrão ou na cadeia de credenciais padrão do SDK será usada. Você pode visualizar sua identidade padrão da AWS CLI ou do SDK executando o comandoaws sts get-caller-identity
.Para todas as opções disponíveis, execute o comando
aws eks update-kubeconfig help
ou consulteupdate-kubeconfig
na Referência de comando da AWS CLI. -
Teste a configuração.
kubectl get svc
Veja um exemplo de saída abaixo.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 1m
Se você receber qualquer erro de autorização ou de tipo de recurso, consulte Acesso negado ou não autorizado (kubectl) no tópico de solução de problemas.