Criação de uma funcionalidade do ACK por meio da AWS CLI - Amazon EKS

Ajudar a melhorar esta página

Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.

Criação de uma funcionalidade do ACK por meio da AWS CLI

Este tópico descreve como criar uma funcionalidade do AWS Controllers for Kubernetes (ACK) usando a AWS CLI.

Pré-requisitos

  • AWS CLI: versão 2.12.3 ou em versões posteriores. Para verificar a versão, execute aws --version. Para obter mais informações, consulte Instalação no Guia do Usuário da Interface de Linha de Comando AWS.

  • kubectl – uma ferramenta de linha de comando para trabalhar com clusters do Kubernetes. Para obter mais informações, consulte Configurar o kubectl e o eksctl.

Etapa 1: criação de um perfil da funcionalidade do IAM

Crie um arquivo de política de confiança:

cat > ack-trust-policy.json << 'EOF' { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "capabilities.eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] } ] } EOF

Crie o perfil do IAM:

aws iam create-role \ --role-name ACKCapabilityRole \ --assume-role-policy-document file://ack-trust-policy.json

Anexe a política gerenciada AdministratorAccess ao perfil:

aws iam attach-role-policy \ --role-name ACKCapabilityRole \ --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
Importante

A política AdministratorAccess sugerida concede permissões abrangentes e destina-se a simplificar as etapas iniciais do uso do serviço. Para ambientes de produção, substitua essa política por uma personalizada que forneça somente as permissões exigidas pelos serviços específicos da AWS que você pretende gerenciar usando o ACK. Para obter orientações sobre como criar políticas de privilégio mínimo, consulte Configuração das permissões do ACK e Considerações sobre segurança para funcionalidades do EKS.

Etapa 2: criação da funcionalidade do ACK

Crie o recurso da funcionalidade do ACK no cluster. Substitua region-code pela região AWS em que seu cluster se encontra e substitua my-cluster pelo nome do seu cluster.

aws eks create-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-ack \ --type ACK \ --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ACKCapabilityRole \ --delete-propagation-policy RETAIN

O comando é concluído de imediato, mas a funcionalidade demora algum tempo para se tornar ativa, conforme o EKS cria a infraestrutura e os componentes necessários para a funcionalidade. O EKS instalará as definições de recursos personalizados do Kubernetes relacionadas a essa funcionalidade no cluster durante o processo de criação.

nota

Caso ocorra um erro indicando a inexistência do cluster ou falta de permissões, verifique o seguinte:

  • Se o nome do cluster está correto

  • Se a AWS CLI está configurada para a região correta

  • Se você tem as permissões do IAM obrigatórias

Etapa 3: verificação da ativação da funcionalidade

Aguarde até que a funcionalidade se torne ativa. Substitua region-code pela região AWS em que seu cluster se encontra e substitua my-cluster pelo nome do seu cluster.

aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-ack \ --query 'capability.status' \ --output text

A funcionalidade estará pronta assim que o status mostrar ACTIVE. Não prossiga para a próxima etapa até que o status seja ACTIVE.

Também é possível visualizar os detalhes completos da funcionalidade:

aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-ack

Etapa 4: verificação da disponibilidade de recursos personalizados

Após a funcionalidade estar ativa, verifique se os recursos personalizados do ACK estão disponíveis no cluster:

kubectl api-resources | grep services.k8s.aws

Você deverá visualizar várias APIs listadas para os recursos da AWS.

nota

A funcionalidade do AWS Controllers for Kubernetes instalará diversas CRDs para vários tipos de recursos da AWS.

Próximas etapas