Ajudar a melhorar esta página
Quer contribuir para este guia do usuário? Escolha o link Editar esta página no GitHub, disponível no painel direito de cada página. Suas contribuições ajudarão a tornar nosso guia do usuário melhor para todos.
Criar um cluster do Amazon EKS.
nota
Este tópico aborda a criação de clusters do EKS sem o Modo Automático do EKS.
Para obter instruções detalhadas sobre como criar um cluster do Modo Automático do EKS, consulte Criar um cluster do Modo Automático do Amazon EKS..
Para começar a usar o Modo Automático do EKS, consulte Conceitos básicos do Amazon EKS | Modo Automático do EKS.
Este tópico dá uma visão geral das opções disponíveis e descreve o que deve ser considerado ao criar um cluster do Amazon EKS. Se você precisar criar um cluster com a infraestrutura on-premises como computação para nós, consulte Create an EKS cluster with hybrid nodes. Se esta for a primeira vez que você cria um cluster do Amazon EKS, recomendamos que siga um de nossos guias em Começar a usar o Amazon EKS. Esses guias ajudam a criar um cluster simples e padrão sem expandir para todas as opções que estão disponíveis.
Pré-requisitos
-
Uma VPC e sub-redes existentes que atendem aos requisitos do Amazon EKS. Antes de implantar um cluster para uso em ambientes de produção, convém ter uma compreensão integral dos requisitos da VPC e da sub-rede. Se você não tiver um VPC e sub-redes, poderá criá-los usando um modelo do Amazon EKS fornecido pelo AWS CloudFormation.
-
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. -
Versão
2.12.3
ou posterior ou versão1.27.160
ou posterior da AWS Command Line Interface (AWS CLI) instalada e configurada no seu dispositivo ou no AWS CloudShell. Para verificar sua versão atual, useaws --version | cut -d / -f2 | cut -d ' ' -f1
. Os gerenciadores de pacotes, comoyum
,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 e Configuração rápida com 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á-lo, consulte Instalar a AWS CLI no seu diretório pessoal, no Guia do usuário do AWS CloudShell. -
Uma entidade principal do IAM com permissões para
create
edescribe
um cluster do Amazon EKS. Para ter mais informações, consulte Criar um cluster local do Kubernetes em um Outpost e Listar ou descrever todos os clusters.
Etapa 1: Criar perfil IAM de cluster
-
Se já tiver um perfil do IAM de cluster ou se for criar seu cluster com
eksctl
, você poderá ignorar essa etapa. Por padrão,eksctl
cria um perfil para você. -
Execute o seguinte comando para criar um arquivo JSON de política de confiança do IAM:
cat >eks-cluster-role-trust-policy.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } EOF
-
Crie o perfil do IAM do cluster do Amazon EKS. Se necessário, prefixe
eks-cluster-role-trust-policy.json
com o caminho no computador no qual você gravou o arquivo na etapa anterior. O comando associa a política de confiança criada na etapa anterior à função. Para criar um perfil do IAM, a entidade principal do IAM que estiver criando o perfil deverá ser atribuída à seguinte açãoiam:CreateRole
(permissão):aws iam create-role --role-name myAmazonEKSClusterRole --assume-role-policy-document file://"eks-cluster-role-trust-policy.json"
-
Você pode atribuir a política gerenciada do Amazon EKS ou criar sua própria política personalizada. Para obter as permissões mínimas que você deve usar em sua política personalizada, consulte Função do IAM do cluster do Amazon EKS.
Anexe a política gerenciada do Amazon EKS chamada AmazonEKSClusterPolicy à perfil. Para anexar uma política do IAM a uma entidade principal do IAM a entidade principal do IAM que está anexando a política deve receber uma das seguintes ações do IAM (permissões):
iam:AttachUserPolicy
ouiam:AttachRolePolicy
.aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy --role-name myAmazonEKSClusterRole
Perfil vinculado ao serviço
O Amazon EKS cria automaticamente um perfil vinculado ao serviço chamado AWSServiceRoleForAmazonEKS
.
Isso é adicional ao perfil do IAM do cluster. A função vinculada ao serviço é um tipo exclusivo de função do IAM vinculada diretamente ao Amazon EKS. O perfil permite que o Amazon EKS gerencie clusters em sua conta. Para ter mais informações, consulte Usar funções para clusters do Amazon EKS.
A identidade do IAM que você usa para criar o cluster do EKS deve ter permissão para criar o perfil vinculado ao serviço. Isso inclui a permissão iam:CreateServiceLinkedRole
.
Caso o perfil vinculado ao serviço não exista e seu perfil do IAM atual não tenha permissões suficientes para criá-lo, a operação de criação do cluster apresentará falhas.
Etapa 2: Criar cluster
Você pode criar um cluster usando:
Criar cluster - eksctl
-
Você precisa da versão
0.199.0
ou posterior da ferramenta de linha de comando daeksctl
instalada no seu dispositivo ou AWS CloudShell. Para instalar ou atualizar oeksctl
, consulte Instalaçãona documentação do eksctl
. -
Crie um cluster do Amazon EKS
IPv4
com a versão padrão do Amazon EKS Kubernetes em sua região padrão AWS. Antes da execução do comando, realize as seguintes substituições: -
Substitua
region-code
pela região AWS na qual você deseja criar o cluster. -
Substitua
my-cluster
por um nome para seu cluster. O nome só pode conter caracteres alfanuméricos (sensíveis a maiúsculas e minúsculas) e hifens. Ele deve começar com um caractere alfanumérico e não pode ter mais de 100 caracteres. O nome deve ser exclusivo na região da AWS e na conta da AWS em que você está criando o cluster. -
Substitua
1.29
por qualquer versão compatível do Amazon EKS. -
Altere os valores para
vpc-private-subnets
para atender às suas necessidades. Também é possível adicionar outras IDs. Você deve especificar pelo menos dois IDs de sub-rede. Se preferir especificar sub-redes públicas, poderá alterar--vpc-private-subnets
para--vpc-public-subnets
. Sub-redes públicas têm uma tabela de rotas associada a uma rota para um gateway da Internet, mas sub-redes privadas não têm tabelas de rotas associadas. Convém utilizar sub-redes privadas sempre que possível.As sub-redes escolhidas devem atender aos Requisitos para sub-redes do Amazon EKS. Antes de selecionar sub-redes, convém estar familiarizado com todos os Requisitos e considerações sobre VPCs e sub-redes do Amazon EKS.
-
Execute o seguinte comando:
eksctl create cluster --name my-cluster --region region-code --version 1.29 --vpc-private-subnets subnet-ExampleID1,subnet-ExampleID2 --without-nodegroup
O provisionamento de cluster leva alguns minutos. Durante a criação do cluster, várias linhas de saída são exibidas. A última linha do resultado é semelhante ao exemplo de linha a seguir.
[✓] EKS cluster "my-cluster" in "region-code" region is ready
-
Continue com Etapa 3: atualizar o kubeconfig
Configurações opcionais
Para ver a maioria das opções que podem ser especificadas ao criar um cluster com eksctl
, use o comando eksctl create cluster --help
. Para ver todas as opções disponíveis, é possível utilizar um arquivo config
. Para obter mais informações, consulte Uso dos arquivos de configuraçãoeksctl
. Você pode encontrar exemplos de arquivos de configuração
Veja a seguir as configurações opcionais que, se necessário, devem ser adicionadas ao comando anterior. Apenas é possível habilitar essas opções ao criar o cluster, e não depois. Se precisar especificar essas opções, você deverá criar o cluster com um arquivo de configuração eksctl
-
Se você quiser especificar um ou mais grupos de segurança que o Amazon EKS atribui às interfaces de rede que ele cria, especifique a opção securityGroup
. Independentemente de você escolher algum grupo de segurança, o Amazon EKS cria um grupo de segurança que permite comunicação entre seu cluster e sua VPC. O Amazon EKS associa esse grupo de segurança, e qualquer um que você escolher, às interfaces de rede que ele cria. Para saber mais sobre o grupo de segurança de cluster criado pelo Amazon EKS, consulte Exibir os requisitos para grupos de segurança do Amazon EKS em clusters. É possível modificar as regras no grupo de segurança do cluster criado pelo Amazon EKS.
-
Se você quiser especificar de qual bloco
IPv4
Classless Inter-domain Routing (CIDR) Kubernetes atribui endereços IP de serviço, especifique a opção serviceIPv4CIDR. Especificar seu próprio intervalo pode ajudar a evitar conflitos entre serviços Kubernetes e outras redes com emparelhamento ou conectadas à sua VPC. Insira um intervalo em notação CIDR. Por exemplo:
10.2.0.0/16
.O bloco CIDR deve atender aos seguintes requisitos:
-
Estar dentro de um dos seguintes intervalos:
10.0.0.0/8
,172.16.0.0/12
ou192.168.0.0/16
. -
Ter um tamanho mínimo de
/24
e máximo de/12
. -
Não se sobrepor ao intervalo da VPC para seus recursos do Amazon EKS.
Apenas é possível especificar essa opção ao utilizar a família de endereços
IPv4
e somente ao criar o cluster. Se isso não for especificado, o Kubernetes atribuirá endereços IP de serviço de qualquer um dos blocos CIDR10.100.0.0/16
ou172.20.0.0/16
.
-
-
Se estiver criando um cluster e quiser que o cluster atribua endereços
IPv6
a Pods e serviços em vez de endereçosIPv4
, especifique a opção ipFamily. Por padrão, o Kubernetes atribui endereços
IPv4
a Pods e serviços. Antes de decidir usar a famíliaIPv6
, certifique-se de estar familiarizado com todas as considerações e requisitos nos tópicos Requisitos e considerações de VPC, Requisitos e considerações de sub-rede, Visualizar requisitos de grupos de segurança do Amazon EKS para clusters e Saiba mais sobre endereços IPv6 para clusters, Pods e serviços. Se você escolher a famíliaIPv6
, não poderá especificar um intervalo de endereços para o Kubernetes atribuir endereços de serviçoIPv6
da mesma forma que pode ser feita para a famíliaIPv4
. O Kubernetes atribui endereços de serviço com base no intervalo de endereços local exclusivo (fc00::/7
).
Criar cluster - AWS console
-
Abra o console do Amazon EKS
. -
Escolha Add cluster (Adicionar cluster) e, em seguida, Create (Criar).
-
Em Opções de configuração, selecione Configuração personalizada.
-
Para obter informações sobre como criar rapidamente um cluster com o Modo Automático do EKS, consulte Criar um cluster do Modo Automático do EKS com o Console de Gerenciamento da AWS.
-
-
Em Modo Automático do EKS, desative a opção Usar Modo Automático do EKS.
-
Para obter informações sobre como criar um cluster do Modo Automático do EKS com configuração personalizada, consulte Criar um cluster do Modo Automático do Amazon EKS..
-
-
Na página Configure cluster (Configurar cluster), preencha os seguintes campos:
-
Name (Nome): um nome exclusivo para o cluster. O nome pode conter apenas caracteres alfanuméricos (diferencia maiúsculas de minúsculas), hifens e sublinhados. Ele deve começar com um caractere alfanumérico e não pode ter mais de 100 caracteres. O nome deve ser exclusivo na região da AWS e na conta da AWS em que você está criando o cluster.
-
Perfil do IAM do cluster: escolha o perfil do IAM do cluster do Amazon EKS que você criou para permitir que o ambiente de gerenciamento do Kubernetes gerencie os recursos da AWS em seu nome.
-
Kubernetes version - A versão do Kubernetes a ser usada em seu cluster. Recomendamos que você selecione a versão mais recente, a menos que precise de uma versão anterior.
-
Tipo de suporte- A política de versão do Kubernetes que você deseja definir para o seu cluster. Se desejar que seu cluster seja executado somente em uma versão com suporte padrão, escolher Suporte padrão é uma opção possível. Se desejar que seu cluster entre no suporte estendido ao final do suporte padrão para uma versão, escolha Suporte estendido. Se você selecionar uma versão do Kubernetes que esteja atualmente em suporte estendido, não poderá selecionar o suporte padrão como opção.
-
Secrets encryption (Criptografia de segredos): (opcional) escolha habilitar a criptografia de segredos do Kubernetes usando uma chave do KMS. Também é possível isso depois de criar o cluster. Antes de habilitar esse recurso, verifique se você está familiarizado com as informações em Criptografar segredos do Kubernetes com o AWS KMS em clusters existentes.
-
Tags (Etiquetas) – (opcional) adicione etiquetas ao cluster. Para ter mais informações, consulte Organizar recursos do Amazon EKS com tags.
-
Mudança de zona do ARC: (opcional) você pode usar o Controlador de Recuperação de Aplicações do Route 53 para mitigar zonas de disponibilidade prejudicadas. Para ter mais informações, consulte Saiba mais sobre a mudança de zona do Amazon Application Recovery Controller (ARC) no Amazon EKS.
-
-
Na seção Acesso ao cluster da página de configuração do cluster, preencha os seguintes campos:
-
Inicialização do acesso de administrador do cluster: o criador do cluster é automaticamente um administrador do Kubernetes. Caso deseje desabilitar essa opção, selecione Desabilitar acesso de administrador ao cluster.
-
Modo de autenticação do cluster: determine como você deseja conceder aos usuários e perfis do IAM acesso às APIs do Kubernetes. Para ter mais informações, consulte Definir modo de autenticação do cluster.
Após terminar com essa página, escolha Próximo.
-
-
Na página Specify networking (Especificar redes), selecione valores para os seguintes campos:
-
VPC: escolha uma VPC existente que atenda aos Requisitos de VPC do Amazon EKS na qual criar o cluster. Antes de escolher uma VPC, recomendamos que você esteja familiarizado com todos os requisitos e considerações em View Amazon EKS networking requirements for VPC and subnets. Não será possível alterar quais VPCs você deseja utilizar depois de criar o cluster. Se nenhuma VPC estiver listada, você precisará criar uma primeiro. Para ter mais informações, consulte Criar uma Amazon VPC para o cluster do Amazon EKS.
-
Subnets (Sub-redes): por padrão, as sub-redes disponíveis na VPC especificada no campo anterior são pré-selecionadas. É necessário selecionar pelo menos duas.
As sub-redes escolhidas devem atender aos Requisitos para sub-redes do Amazon EKS. Antes de selecionar sub-redes, convém estar familiarizado com todos os Requisitos e considerações sobre VPCs e sub-redes do Amazon EKS.
Security groups (Grupos de segurança) (Opcional): especifique um ou mais grupos de segurança que você deseja que o Amazon EKS associe às interfaces de rede que ele cria.
Independentemente de você escolher algum grupo de segurança, o Amazon EKS cria um grupo de segurança que permite comunicação entre seu cluster e sua VPC. O Amazon EKS associa esse grupo de segurança, e qualquer um que você escolher, às interfaces de rede que ele cria. Para saber mais sobre o grupo de segurança de cluster criado pelo Amazon EKS, consulte Exibir os requisitos para grupos de segurança do Amazon EKS em clusters. É possível modificar as regras no grupo de segurança do cluster criado pelo Amazon EKS.
-
Escolher família de endereços IP do cluster: é possível escolher IPv4 e IPv6.
Por padrão, o Kubernetes atribui endereços
IPv4
a Pods e serviços. Antes de decidir usar a famíliaIPv6
, verifique se você está familiarizado com todas as considerações e requisitos dos tópicos Requisitos e considerações da VPC, Requisitos e considerações para sub-redes, Exibir os requisitos para grupos de segurança do Amazon EKS em clusters e Saiba mais sobre endereços IPv6 para clusters, Pods e serviços. Se você escolher a famíliaIPv6
, não poderá especificar um intervalo de endereços para o Kubernetes atribuir endereços de serviçoIPv6
da mesma forma que pode ser feita para a famíliaIPv4
. O Kubernetes atribui endereços de serviço com base no intervalo de endereços local exclusivo (fc00::/7
). -
(Opcional) Escolha Configurar intervalo de endereços IP do serviço Kubernetes e especifique um Intervalo de serviço do
IPv4
.Especificar seu próprio intervalo pode ajudar a evitar conflitos entre serviços Kubernetes e outras redes com emparelhamento ou conectadas à sua VPC. Insira um intervalo em notação CIDR. Por exemplo:
10.2.0.0/16
.O bloco CIDR deve atender aos seguintes requisitos:
-
Estar dentro de um dos seguintes intervalos:
10.0.0.0/8
,172.16.0.0/12
ou192.168.0.0/16
. -
Ter um tamanho mínimo de
/24
e máximo de/12
. -
Não se sobrepor ao intervalo da VPC para seus recursos do Amazon EKS.
-
Apenas é possível especificar essa opção ao utilizar a família de endereços
IPv4
e somente ao criar o cluster. Se isso não for especificado, o Kubernetes atribuirá endereços IP de serviço de qualquer um dos blocos CIDR10.100.0.0/16
ou172.20.0.0/16
.-
Para Cluster endpoint access (Acesso ao endpoint do cluster), selecione uma opção. Depois de criar o cluster, você poderá alterar essa opção. Antes de selecionar uma opção não padrão, familiarize-se com as opções e suas implicações. Para ter mais informações, consulte Controlar o acesso à rede ao endpoint do servidor de API do cluster.
Após terminar com essa página, escolha Próximo.
-
-
(Opcional) Na página Configurar observabilidade, escolha quais opções de Métricas e Log do ambiente de gerenciamento deseja ativar. Por padrão, o cada tipo de log está desativado.
-
Para obter mais informações sobre as opções de métricas do Prometheus, consulte Etapa 1: ativar as métricas do Prometheus.
-
Para obter mais informações sobre as opções do Log do ambiente de gerenciamento, consulte Enviar logs do ambiente de gerenciamento para o CloudWatch Logs.
Após terminar com essa página, escolha Próximo.
-
-
Na página Select add-ons (Selecionar complementos), escolha os complementos que você deseja adicionar ao cluster. Alguns complementos são pré-selecionados. Você pode escolher quantos complementos do Amazon EKS e do AWS Marketplace desejar. Se os complementos do AWS Marketplace que você deseja instalar não estiverem listados, será possível clicar na numeração da página para visualizar resultados de páginas adicionais ou pesquisar os complementos disponíveis no AWS Marketplace inserindo algum texto na caixa de pesquisa. Você também poderá pesquisar por categoria, fornecedor ou modelo de preços e depois escolher os complementos nos resultados da pesquisa. Ao criar um cluster, é possível visualizar, selecionar e instalar qualquer complemento que ofereça suporte às Identidade de Pods do EKS, conforme detalhado em Saiba como a EKS Pod Identity concede aos pods acesso aos serviços da AWS.
Após terminar com essa página, escolha Próximo.
Alguns complementos, como Amazon VPC CNI, CoreDNS e kube-proxy, são instalados por padrão. Se você desabilitar qualquer um dos complementos padrão, isso poderá afetar sua capacidade de executar aplicações do Kubernetes.
-
Na página Configurar opções de complementos selecionados, selecione a versão que deseja instalar. Você sempre pode atualizar para uma versão posterior após a criação do cluster.
Para complementos com suporte para Identidade de Pods do EKS, é possível usar o console para gerar automaticamente o perfil com o nome, a política gerenciada pela AWS e a política de confiança pré-preenchidos especificamente para o complemento. É possível reutilizar perfis existentes ou criar novos perfis para complementos com suporte. Para obter as etapas de uso do console para criar perfis para complementos que ofereçam suporte às Identidades de Pods do EKS, consulte Criar complemento (console do AWS). Se um complemento não oferecer suporte à Identidade de Pods do EKS, uma mensagem será exibida com instruções para usar o assistente para criar os perfis do IAM para contas de serviço (IRSA) após a criação do cluster.
Você pode atualizar a configuração de cada complemento após a criação do cluster. Para obter mais informações sobre a configuração de complementos, consulte Atualizar um complemento do Amazon EKS. Após terminar com essa página, escolha Próximo.
-
Na página Review and create (Revisar e criar), revise as informações que você inseriu ou selecionou nas páginas anteriores. Se precisar fazer alterações, escolha Edit (Editar). Quando estiver satisfeito, escolha Criar. O campo Status mostra o campo CREATING (Criando) enquanto o cluster é provisionado.
nota
Talvez você receba um erro porque uma das zonas de disponibilidade em sua solicitação não tem capacidade suficiente para criar um cluster do Amazon EKS. Se isso acontecer, o resultado do erro conterá as zonas de disponibilidade que são compatíveis com o novo cluster. Tente criar o cluster com pelo menos duas sub-redes que estejam localizadas nas zonas de disponibilidade compatíveis de sua conta. Para ter mais informações, consulte Insufficient capacity (Capacidade insuficiente).
O provisionamento de cluster leva alguns minutos.
-
Continue com Etapa 3: atualizar o kubeconfig
Crar cluster: AWS CLI
-
Crie o cluster usando o comando a seguir. Antes da execução do comando, realize as seguintes substituições:
-
Substitua
region-code
pela região AWS na qual você deseja criar o cluster. -
Substitua
my-cluster
por um nome para seu cluster. O nome pode conter apenas caracteres alfanuméricos (diferencia maiúsculas de minúsculas), hifens e sublinhados. Ele deve começar com um caractere alfanumérico e não pode ter mais de 100 caracteres. O nome deve ser exclusivo na região da AWS e na conta da AWS em que você está criando o cluster. -
Substitua
1.30
por qualquer versão compatível do Amazon EKS. -
Substitua
111122223333
pelo ID da sua conta emyAmazonEKSClusterRole
pelo nome do perfil IAM do cluster. -
Substitua os valores de
subnetIds
pelos seus próprios valores. Também é possível adicionar outras IDs. Você deve especificar pelo menos dois IDs de sub-rede.As sub-redes escolhidas devem atender aos Requisitos para sub-redes do Amazon EKS. Antes de selecionar sub-redes, convém estar familiarizado com todos os Requisitos e considerações sobre VPCs e sub-redes do Amazon EKS.
-
Se não quiser especificar um ID de grupo de segurança, remova
,securityGroupIds=sg-<ExampleID1>
do comando. Se quiser especificar um ou mais IDs de grupo de segurança, substitua os valores desecurityGroupIds
pelos seus próprios. Também é possível adicionar outras IDs.Independentemente de você escolher algum grupo de segurança, o Amazon EKS cria um grupo de segurança que permite comunicação entre seu cluster e sua VPC. O Amazon EKS associa esse grupo de segurança, e qualquer um que você escolher, às interfaces de rede que ele cria. Para saber mais sobre o grupo de segurança de cluster criado pelo Amazon EKS, consulte Exibir os requisitos para grupos de segurança do Amazon EKS em clusters. É possível modificar as regras no grupo de segurança do cluster criado pelo Amazon EKS.
aws eks create-cluster --region region-code --name my-cluster --kubernetes-version 1.30 \ --role-arn arn:aws:iam::111122223333:role/myAmazonEKSClusterRole \ --resources-vpc-config subnetIds=subnet-ExampleID1,subnet-ExampleID2,securityGroupIds=sg-ExampleID1
nota
Talvez você receba um erro porque uma das zonas de disponibilidade em sua solicitação não tem capacidade suficiente para criar um cluster do Amazon EKS. Se isso acontecer, o resultado do erro conterá as zonas de disponibilidade que são compatíveis com o novo cluster. Tente criar o cluster com pelo menos duas sub-redes que estejam localizadas nas zonas de disponibilidade compatíveis de sua conta. Para ter mais informações, consulte Insufficient capacity (Capacidade insuficiente).
Veja a seguir as configurações opcionais que, se necessário, devem ser adicionadas ao comando anterior. Apenas é possível habilitar essas opções ao criar o cluster, e não depois.
-
Por padrão, o EKS instala vários complementos de rede durante a criação do cluster. Isso inclui o Amazon VPC CNI, o CoreDNS e o kube-proxy.
Se você quiser desabilitar a instalação desses complementos de rede padrão, use o parâmetro abaixo. Essa opção poderá ser usada para CNIs alternativos, como Cilium. Para obter mais informações, confira a API Reference do EKS.
aws eks create-cluster --bootstrapSelfManagedAddons false
-
Se quiser especificar de qual bloco de Encaminhamento Entre Domínios Sem Classificação (CIDR)
IPv4
o Kubernetes atribui endereços IP de serviço, você deve especificá-lo adicionando--kubernetes-network-config serviceIpv4Cidr=<cidr-block>
ao comando a seguir.Especificar seu próprio intervalo pode ajudar a evitar conflitos entre serviços Kubernetes e outras redes com emparelhamento ou conectadas à sua VPC. Insira um intervalo em notação CIDR. Por exemplo:
10.2.0.0/16
.O bloco CIDR deve atender aos seguintes requisitos:
-
Estar dentro de um dos seguintes intervalos:
10.0.0.0/8
,172.16.0.0/12
ou192.168.0.0/16
. -
Ter um tamanho mínimo de
/24
e máximo de/12
. -
Não se sobrepor ao intervalo da VPC para seus recursos do Amazon EKS.
-
Apenas é possível especificar essa opção ao utilizar a família de endereços
IPv4
e somente ao criar o cluster. Se isso não for especificado, o Kubernetes atribuirá endereços IP de serviço de qualquer um dos blocos CIDR10.100.0.0/16
ou172.20.0.0/16
.-
Se estiver criando um cluster e quiser que o cluster atribua endereços
IPv6
a Pods e serviços em vez de endereçosIPv4
, adicione--kubernetes-network-config ipFamily=ipv6
ao comando a seguir.Por padrão, o Kubernetes atribui endereços
IPv4
a Pods e serviços. Antes de decidir usar a famíliaIPv6
, verifique se você está familiarizado com todas as considerações e requisitos dos tópicos Requisitos e considerações da VPC, Requisitos e considerações para sub-redes, Exibir os requisitos para grupos de segurança do Amazon EKS em clusters e Saiba mais sobre endereços IPv6 para clusters, Pods e serviços. Se você escolher a famíliaIPv6
, não poderá especificar um intervalo de endereços para o Kubernetes atribuir endereços de serviçoIPv6
da mesma forma que pode ser feita para a famíliaIPv4
. O Kubernetes atribui endereços de serviço com base no intervalo de endereços local exclusivo (fc00::/7
).
-
-
Leva alguns minutos para provisionar o cluster. Você pode consultar o status do cluster com o comando a seguir.
aws eks describe-cluster --region region-code --name my-cluster --query "cluster.status"
Não prossiga para a próxima etapa até que a saída recebida esteja
ACTIVE
. -
Continue com Etapa 3: atualizar o kubeconfig
Etapa 3: atualizar o kubeconfig
-
Se você criou seu cluster usando
eksctl
, pode ignorar esta etapa. Isso ocorre porqueeksctl
já concluiu essa etapa para você. Habilite okubectl
para se comunicar com o cluster adicionando um novo contexto ao arquivokubectl
config
. Para obter mais informações sobre como criar e atualizar o arquivo, consulte Conectar o kubectl a um cluster do EKS criando um arquivo kubeconfig.aws eks update-kubeconfig --region region-code --name my-cluster
Veja um exemplo de saída abaixo.
Added new context arn:aws:eks:region-code:111122223333:cluster/my-cluster to /home/username/.kube/config
-
Confirme a comunicação com o cluster, executando o seguinte comando:
kubectl get svc
Veja um exemplo de saída abaixo.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 28h
Etapa 4: configuração do cluster
-
(Recomendado) Para usar alguns complementos do Amazon EKS ou para permitir que workloads individuais do Kubernetes tenham permissões específicas do AWS Identity and Access Management (IAM), crie um provedor IAM OpenID Connect (OIDC) para seu cluster. Você só precisa criar um provedor de OIDC do IAM para o cluster uma vez. Para saber mais sobre os complementos do Amazon EKS, consulte Complementos do Amazon EKS. Para saber mais sobre a atribuição de permissões específicas do IAM às workloads, consulte Perfis do IAM para contas de serviço.
-
(Recomendado) Configure o cluster para o plugin Amazon VPC CNI plugin for Kubernetes antes de implantar nós do Amazon EC2 no cluster. Por padrão, o plugin foi instalado com o seu cluster. Quando nós do Amazon EC2 são adicionados ao cluster, o plugin é implantado automaticamente em cada nó do Amazon EC2 que você adicionar. O plugin requer a anexação de uma das seguintes políticas do IAM a um perfil do IAM. Se o seu cluster usar a família
IPv4
, use a política do IAM gerenciada AmazonEKS_CNI_Policy. Se o seu cluster usar a famíliaIPv6
, use uma política do IAM criada por você.O perfil do IAM ao qual a política é anexada pode ser o perfil do IAM do nó ou um perfil dedicado utilizado apenas para o plugin. Convém anexar a política a esse perfil. Para obter mais informações sobre como criar o perfil, consulte Configurar o plug-in CNI da Amazon VPC para usar IRSA ou perfil do IAM de nó do Amazon EKS.
-
Se você implantou seu cluster usando o AWS Management Console, pode ignorar esta etapa. O AWS Management Console implanta os complementos Amazon VPC CNI plugin for Kubernetes, CoreDNS e
kube-proxy
do Amazon EKS por padrão.Se você implementar o cluster usando o
eksctl
ou a AWS CLI, os complementos autogerenciados Amazon VPC CNI plugin for Kubernetes, CoreDNS ekube-proxy
serão implantados. É possível migrar os complementos autogerenciados Amazon VPC CNI plugin for Kubernetes, CoreDNS ekube-proxy
, que são implantados com seu cluster, para complementos do Amazon EKS. Para ter mais informações, consulte Complementos do Amazon EKS. -
(Opcional) Se você ainda não fez isso, poderá habilitar as métricas do Prometheus para seu cluster. Para obter mais informações, consulte Criar um extrator no Guia do usuário do Amazon Managed Service for Prometheus.
-
Se você planeja implementar workloads em seu cluster que usam volumes do Amazon EBS e criou um cluster
1.23
ou posterior, deverá instalar o Amazon EBS CSI em seu cluster antes de implementar as workloads.
Próximas etapas
-
A entidade principal do IAM que criou o cluster é a única que tem acesso ao cluster. Conceda permissões a outras entidades principais do IAM para que elas possam acessar o cluster.
-
Se a entidade principal do IAM que criou o cluster tiver apenas as permissões mínimas do IAM referenciadas nos pré-requisitos, então talvez seja interessante adicionar mais permissões do Amazon EKS a essa entidade principal. Para obter mais informações sobre como conceder permissões do Amazon EKS a entidades principais do IAM, consulte Identity and Access Management para o Amazon EKS.
-
Se quiser que a entidade principal do IAM que criou o cluster ou qualquer outra entidade principal visualize os recursos da Kubernetes no console do Amazon EKS, conceda as permissões necessárias às entidades.
-
Se quiser que os nós e as entidades principais do IAM acessem o cluster de dentro da VPC, habilite o endpoint privado do seu cluster. Por padrão, o endpoint público está habilitado. É possível desativar o endpoint público depois de habilitar o endpoint privado, se desejado. Para ter mais informações, consulte Controlar o acesso à rede ao endpoint do servidor de API do cluster.