Criação de uma funcionalidade do ACK por meio do eksctl - 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 do eksctl

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

nota

Para realizar as etapas seguintes, você deve estar utilizando o eksctl na versão 0.220.0 ou em versões posteriores. Para verificar a versão, execute eksctl version.

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.

Importante

Esta política concede permissões para o gerenciamento de buckets do S3 com "Resource": "*", o que permite operações em todos os buckets do S3.

Para uso em ambientes de produção: * Restrinja o campo Resource a ARNs de buckets específicos ou padrões de nomes * Use chaves de condição do IAM para limitar o acesso por etiquetas de recurso * Conceda apenas as permissões mínimas necessárias para o seu caso de uso

Para uso com outros serviços da AWS, consulte Configuração das permissões do ACK.

Anexe a política à função:

aws iam attach-role-policy \ --role-name ACKCapabilityRole \ --policy-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):policy/ACKS3Policy

Etapa 2: criação da funcionalidade do ACK

Crie a funcionalidade do ACK por meio do eksctl. Substitua region-code pela região AWS em que seu cluster se encontra e substitua my-cluster pelo nome do seu cluster.

eksctl create capability \ --cluster [.replaceable]`my-cluster` \ --region [.replaceable]`region-code` \ --name ack \ --type ACK \ --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ACKCapabilityRole \ --ack-service-controllers s3
nota

O sinalizador --ack-service-controllers é opcional. Se omitido, o ACK habilita todos os controladores disponíveis. Para otimizar a performance e a segurança, recomendamos habilitar somente os controladores necessários. É possível definir vários controladores ao mesmo tempo: --ack-service-controllers s3,rds,dynamodb

O comando é executado de forma imediata, mas a funcionalidade demora algum tempo para se tornar ativa.

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

Verifique o status da funcionalidade:

eksctl get capability \ --cluster [.replaceable]`my-cluster` \ --region [.replaceable]`region-code` \ --name ack

A funcionalidade estará pronta assim que o status mostrar ACTIVE.

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