

 **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.

# Implemente um cluster local do Amazon EKS no AWS Outposts configurado com o armazenamento de instância do EC2
<a name="eks-outposts-instance-store-local-cluster-create"></a>

Este tópico fornece instruções para implantar um cluster local do Amazon EKS no AWS Outposts configurado com o armazenamento de instância do EC2.

**nota**  
Se o outpost estiver configurado com o Amazon EBS em vez do armazenamento de instância do EC2, a arquitetura descrita neste tópico não estará disponível para ele. Os outposts configurados com o EBS continuarão a usar a implementação de clusters locais existente. Para obter mais informações, consulte [Implantar um cluster do Amazon EKS em AWS Outposts](eks-outposts-local-cluster-create.md).  
Se você estiver interessado em criar um cluster local em um outpost baseado no EBS usando a arquitetura de clusters locais atualizada, entre em contato com a equipe da sua conta da AWS.

**Importante**  
Os clusters locais somente são compatíveis com racks do Outpost. Um único cluster local pode ser executado em vários racks físicos do Outpost que incluem um único Outpost lógico. Um único cluster local não pode ser executado em vários Outposts lógicos.
O ambiente de gerenciamento do Kubernetes é executado em uma conta de serviço gerenciada pela AWS no outpost. Não é possível acessar as instâncias do ambiente de gerenciamento, visualizá-las no console do Amazon EC2 nem executar workloads nessas instâncias.
O ambiente de gerenciamento é executado em seis instâncias do EC2 (três `etcd` \+ três servidores de API) em uma [topologia de etcd externa](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/ha-topology/#external-etcd-topology). Para ver os requisitos de capacidade, consulte [Selecione os tipos de instância e o posicionamento dos clusters locais do Amazon EKS no AWS Outposts configurado com o armazenamento de instância do EC2](eks-outposts-instance-store-capacity-considerations.md).
O [plug-in de CNI da Amazon VPC para Kubernetes](managing-vpc-cni.md), o [kube-proxy](managing-kube-proxy.md) e o [CoreDNS](managing-coredns.md) são instalados automaticamente nos clusters locais. Para obter a lista completa de complementos validados, consulte [Complementos do Amazon EKS para clusters locais no AWS Outposts configurado com o armazenamento de instância do EC2](eks-outposts-instance-store-local-cluster-addons.md).
O Amazon EKS faz backups periódicos do `etcd`. Se o `etcd` perder quórum, o Amazon EKS recuperará o estado do cluster a partir do snapshot mais recente.

 **Pré-requisitos** 
+ Um rack do outpost existente, configurado com armazenamento de instância do EC2, com capacidade virtualizada suficiente para as instâncias do ambiente de gerenciamento. Consulte [Selecione os tipos de instância e o posicionamento dos clusters locais do Amazon EKS no AWS Outposts configurado com o armazenamento de instância do EC2](eks-outposts-instance-store-capacity-considerations.md).
+ Uma VPC e as sub-redes que atendam aos requisitos descritos em [Criar uma VPC e sub-redes para clusters locais do Amazon EKS no AWS Outposts configurado com armazenamento de instância do EC2](eks-outposts-instance-store-vpc-subnet-requirements.md).
+ A ferramenta da linha de comando `kubectl` está instalada no seu computador ou no AWS CloudShell. A versão pode ser a mesma ou até uma versão secundária anterior ou posterior à versão do Kubernetes do cluster. Para instalar ou atualizar o `kubectl`, consulte [Configurar o `kubectl` e o `eksctl`](install-kubectl.md).
+ A AWS CLI versão `2.35.3` instalada e configurada em seu dispositivo ou no AWS CloudShell. Para verificar sua versão atual, use `aws --version`. Para instalar ou atualizar, consulte [Instalar a AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).
+ Uma entidade principal do IAM (usuário ou perfil) com permissões para criar e descrever um cluster do Amazon EKS. Para obter mais informações, consulte [Criar um cluster local do Kubernetes em um Outpost](security-iam-id-based-policy-examples.md#policy-create-local-cluster) e [Listar ou descrever todos os clusters](security-iam-id-based-policy-examples.md#policy-example2).
+ Um perfil do IAM para o cluster com as seguintes políticas gerenciadas pela AWS anexadas: [AmazonEKSClusterPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKSClusterPolicy.html) e [AmazonEKSServicePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKSServicePolicy.html). A política de confiança do perfil que permite que a entidade principal do serviço `eks.amazonaws.com` assuma o perfil.

**nota**  
Quando você cria um cluster local, a [entidade principal do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) que cria o cluster é adicionada permanentemente à tabela de autorização de RBAC do Kubernetes como o administrador com as permissões de `system:masters`. Certifique-se de nunca excluir essa entidade principal.

## Criar um cluster local
<a name="eks-outposts-instance-store-local-cluster-create-cluster"></a>

Você pode criar um cluster local usando o Console de gerenciamento da AWS, a AWS CLI, a API do Amazon EKS ou o AWS CloudFormation.

Ao criar o cluster, observe o seguinte:
+ Você deve informar as sub-redes da zona de disponibilidade na qual o outpost está hospedado. A solicitação falhará se você informar sub-redes de várias zonas de disponibilidade.
+ Defina `endpointPrivateAccess` como `true`. Opcionalmente, é possível habilitar um `endpointPublicAccess`.
+ Você deve informar os valores de `outpostConfig`, incluindo `outpostArns`, `controlPlaneInstanceType` e `etcdInstanceType`. Opcionalmente, você pode especificar a configuração de posicionamento. Consulte [Selecione os tipos de instância e o posicionamento dos clusters locais do Amazon EKS no AWS Outposts configurado com o armazenamento de instância do EC2](eks-outposts-instance-store-capacity-considerations.md).

### AWS CLI
<a name="awscli_is_create_cluster_outpost"></a>

```
aws eks create-cluster \
  --name my-cluster \
  --role-arn arn:aws:iam::111122223333:role/myEKSClusterRole \
  --kubernetes-version 1.36 \
  --resources-vpc-config subnetIds=subnet-ExampleID1,endpointPrivateAccess=true,endpointPublicAccess=true \
  --logging '{"clusterLogging":[{"types":["api","audit","authenticator","controllerManager","scheduler"],"enabled":true}]}' \
  --access-config authenticationMode=API_AND_CONFIG_MAP,bootstrapClusterCreatorAdminPermissions=true \
  --outpost-config outpostArns=arn:aws:outposts:region-code:111122223333:outpost/op-uniqueid,controlPlaneInstanceType=m5.large,controlPlanePlacement={spreadLevel=host},etcdInstanceType=m5.large,etcdPlacement={spreadLevel=host}
```

### Console de gerenciamento da AWS
<a name="console_is_create_cluster_outpost"></a>

1. Abra o [console do Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

1. Selecione **Criar cluster**.

1. Em **Local do ambiente de gerenciamento do Kubernetes**, escolha **AWS Outposts**.

1. Configure o seguinte:
   +  **Nome**: um nome para o cluster.
   +  **Versão do Kubernetes**: a versão a ser usada.
   +  **Perfil de serviço do cluster**: o perfil do IAM com [AmazonEKSClusterPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKSClusterPolicy.html) e [AmazonEKSServicePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKSServicePolicy.html).
   +  **ID do outpost**: o outpost lógico no qual implantar.
   +  **Tipo de instância do ambiente de gerenciamento**: o tipo de instância do servidor de API, do agendador e do gerenciador de controladores do Kubernetes.
   +  **Tipo de instância do etcd**: o tipo de instância do `etcd`.
   +  **Nível de distribuição**: `host` ou `rack` para o ambiente de gerenciamento e posicionamento do `etcd`.

1. Configure a rede: VPC, sub-redes e grupos de segurança. Habilite acesso privado ao endpoint.

1. Configure a observabilidade: registro em log do ambiente de gerenciamento.

1. Revise e crie.

### `CreateCluster`API
<a name="api_is_create_cluster_outpost"></a>

```
{
    "name": "my-cluster",
    "roleArn": "arn:aws:iam::111122223333:role/myEKSClusterRole",
    "version": "1.36",
    "resourcesVpcConfig": {
        "subnetIds": ["subnet-ExampleID1"],
        "endpointPublicAccess": true,
        "endpointPrivateAccess": true
    },
    "logging": {
        "clusterLogging": [{
            "types": ["api", "audit", "authenticator", "controllerManager", "scheduler"],
            "enabled": true
        }]
    },
    "accessConfig": {
        "authenticationMode": "API_AND_CONFIG_MAP",
        "bootstrapClusterCreatorAdminPermissions": true
    },
    "outpostConfig": {
        "outpostArns": ["arn:aws:outposts:region-code:111122223333:outpost/op-uniqueid"],
        "controlPlaneInstanceType": "m5.large",
        "controlPlanePlacement": {
            "spreadLevel": "host"
        },
        "etcdInstanceType": "m5.large",
        "etcdPlacement": {
            "spreadLevel": "host"
        }
    }
}
```

Os parâmetros `controlPlaneInstanceType` e `etcdInstanceType` são obrigatórios quando você cria um cluster local em outposts configurados com o armazenamento de instância do EC2. Os parâmetros `controlPlanePlacement` e `etcdPlacement` são opcionais. Se não forem especificados, nenhuma estratégia de distribuição de posicionamento será aplicada.

**nota**  
 `outpostConfig` é uma propriedade somente criação. Para alterar o tipo de instância do ambiente de gerenciamento, o tipo de instância do `etcd`, o posicionamento ou o outpost, crie um novo cluster.

## Conectar ao cluster
<a name="eks-outposts-instance-store-local-cluster-create-connect"></a>

Configure o `kubectl` para se comunicar com o cluster:

```
aws eks update-kubeconfig --region region-code --name my-cluster
```

**nota**  
Se você criou o cluster usando versões da AWS CLI anteriores à `2.35.3`, atualize a `kubeconfig` para especificar o `--cluster-name` (em vez do `--cluster-id`) nos argumentos `exec`

O endpoint do servidor de API do Kubernetes do cluster local é hospedado no Amazon Route 53. O endpoint é resolvido para os endereços IP privados das interfaces de rede elástica (ENIs) entre contas que o Amazon EKS cria nas sub-redes. Essas ENIs têm endereços IP privados fixos que não se alteram durante o ciclo de vida do cluster.

Quando você cria um cluster, o Amazon EKS cria três interfaces de rede elástica nas sub-redes especificadas. Essas interfaces permitem a comunicação entre seu cluster e sua VPC. Cada interface de rede criada pelo Amazon EKS tem o texto `Amazon EKS {{cluster-name}} ` em sua descrição.

## Implantar nós de processamento
<a name="eks-outposts-instance-store-local-cluster-create-nodes"></a>

Implante nós de processamento no cluster local usando [grupos de nós autogerenciados](launch-workers.md).

1. Implante o modelo de nó de processamento do AWS CloudFormation ou crie instâncias individuais do EC2 no outpost.

   ```
   curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2025-11-24/amazon-eks-outpost-nodegroup.yaml
   ```

1. Conceda ao perfil de instância do nó acesso ao cluster. Crie uma [entrada de acesso](access-entries.md) para o perfil do IAM do nó:

   ```
   aws eks create-access-entry \
     --cluster-name my-cluster \
     --principal-arn arn:aws:iam::111122223333:role/myNodeRole \
     --type EC2_LINUX
   ```

   Como alternativa, se estiver usando o `aws-auth` ConfigMap para autenticação, adicione o perfil de instância do nó ao ConfigMap. Consulte [Conceder aos usuários e perfis do IAM acesso às APIs do Kubernetes](grant-k8s-access.md).

1. Verifique se os nós estão no estado de `Ready`:

   ```
   kubectl get nodes
   ```

## Recursos internos
<a name="eks-outposts-instance-store-local-cluster-create-internal-resources"></a>

Quando você cria um cluster local, o Amazon EKS instala automaticamente as versões autogerenciadas dos seguintes complementos no namespace do `kube-system`: `coredns`, `kube-proxy` e `aws-node` (CNI da VPC). Como opção, você pode instalar as versões gerenciadas desses complementos usando a API de complementos do Amazon EKS. Para obter mais informações, consulte [Complementos do Amazon EKS para clusters locais no AWS Outposts configurado com o armazenamento de instância do EC2](eks-outposts-instance-store-local-cluster-addons.md).

O Amazon EKS também cria interfaces de rede elástica (ENIs) entre contas em suas sub-redes para comunicação entre os clusters e a VPC. Não exclua essas interfaces de rede. Se uma ENI entre contas for excluída ou se seu endereço IP mudar, todos os nós e todos os administradores que usam acesso estático baseado em IP deverão ser atualizados manualmente.