Implantar uma workload de ampliação de exemplo em um cluster do Modo Automático do Amazon EKS - 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.

Implantar uma workload de ampliação de exemplo em um cluster do Modo Automático do Amazon EKS

Neste tutorial, você aprenderá como implantar uma workload de exemplo em um cluster do Modo Automático do EKS e observará como ela provisiona automaticamente os recursos computacionais necessários. Você usará os comandos do kubectl para observar o comportamento do cluster e acompanhar de perto como o Modo Automático simplifica as operações do Kubernetes na AWS. Ao final deste tutorial, você saberá como o Modo Automático do EKS responde às implantações de workloads gerenciando automaticamente os recursos computacionais subjacentes, sem exigir a configuração manual do grupo de nós.

Pré-requisitos

  • Um cluster do Modo Automático do Amazon EKS com a capacidade computacional habilitada. Registre o nome e a região da AWS do cluster.

  • Uma entidade principal do IAM, como um usuário ou perfil, com permissões suficientes para gerenciar recursos de rede, de computação e do EKS.

  • aws CLI instalada e configurada com uma identidade do IAM.

  • kubectl CLI instalada e conectada ao cluster.

Etapa 1: analisar os recursos computacionais existentes (opcional)

Primeiro, use kubectl para listar os grupos de nós no cluster.

kubectl get nodepools

Exemplo de saída:

general-purpose

Neste tutorial, implantaremos uma workload configurada para usar o grupo de nós general-purpose. Esse grupo de nós é incorporado ao Modo Automático do EKS e inclui padrões razoáveis para workloads gerais, como microsserviços e aplicações Web. Você pode criar seu próprio grupo de nós. Para ter mais informações, consulte Criar um grupo de nós para o Modo Automático do EKS.

Depois, use kubectl para listar os nós conectados ao cluster.

kubectl get nodes

Caso tenha acabado de criar um cluster do Modo Automático do EKS, você não terá nós.

Neste tutorial, você implantará uma workload de exemplo. Se você não tiver nós ou se a workload não se adequar aos nós existentes, o Modo Automático do EKS provisionará um novo nó.

Etapa 2: implantar uma aplicação de exemplo no cluster.

Analise a implantação do Kubernetes a seguir e salve-a como inflate.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: inflate spec: replicas: 1 selector: matchLabels: app: inflate template: metadata: labels: app: inflate spec: terminationGracePeriodSeconds: 0 nodeSelector: eks.amazonaws.com/compute-type: auto securityContext: runAsUser: 1000 runAsGroup: 3000 fsGroup: 2000 containers: - name: inflate image: public.ecr.aws/eks-distro/kubernetes/pause:3.7 resources: requests: cpu: 1 securityContext: allowPrivilegeEscalation: false

Observe que o seletor eks.amazonaws.com/compute-type: auto requer que a workload seja implantada em um nó do Modo Automático do Amazon EKS.

Aplique a implantação ao cluster.

kubectl apply -f inflate.yaml

Etapa 3: observar os eventos do Kubernetes

Use o comando a seguir para observar os eventos do Kubernetes, incluindo a criação de um nó. Use ctrl+c para parar de observar os eventos.

kubectl get events -w --sort-by '.lastTimestamp'

Use kubectl para listar novamente os nós conectados ao cluster. Registre o nó recém-criado.

kubectl get nodes

Etapa 4: visualizar nós e instâncias no console da AWS

Você pode visualizar os nós do Modo Automático do EKS no console do EKS e as instâncias associadas do EC2 no console do EC2.

As instâncias do EC2 implantadas pelo Modo Automático do EKS são restritas. Você não pode executar comandos arbitrários nos nós do Modo Automático do EKS.

Etapa 5: excluir a implantação

Use kubectl para excluir uma implantação de exemplo

kubectl delete -f inflate.yaml

Se você não tiver outras workloads implantadas no cluster, o nó criado pelo Modo Automático do EKS ficará vazio.

Na configuração padrão, o Modo Automático do EKS detecta nós que ficaram vazios por trinta segundos e os encerra.

Use kubectl ou o console do EC2 para confirmar que a instância associada foi excluída.