Amazon Elastic Kubernetes Cluster (EKS) - Como criar um serviço Kubernetes gerenciado usando a AWS

Este é um blog introdutório para criar um cluster EKS usando menos privilégios e ferramentas de linha de comando. Bem, muitos dos provedores de nuvem fornecem serviços gerenciados de Kubernetes.

Os principais são:

  • EKS (cluster Elastic Kubernetes) da AWS
  • GKE (Google Kubernetes Engine) da GCP
  • AKS (Serviço Kubernetes do Azure) pela nuvem do Azure
  • IKS (IBM kubernetes Service) pela nuvem IBM

Aqui, descrevo passo a passo o que fazer desde a criação de um usuário, concedendo o acesso à configuração de um cluster EKS. Suponho que você tenha uma conta da AWS configurada anteriormente.

A seguir estão as etapas que seguirei para criar um cluster Kubernetes usando o EKS:

  • Criando uma política com o mínimo de privilégios necessário.
  • Crie um usuário na AWS.
  • Atribua a política ao usuário.
  • Crie uma instância da AWS (bastião).
  • Instale as ferramentas necessárias (eksctl, kubectl).
  • Execute o comando para criar o cluster.

VAMOS LÁ!!

Criando uma política com o mínimo de privilégios necessário.

O cluster EKS consiste basicamente em um plano de controle e nos nós. Como é um cluster Kubernetes gerenciado, os usuários não terão acesso ao plano de controle. Os nós são as instâncias da máquina virtual. portanto, damos ao usuário o acesso para iniciar máquinas virtuais.

A AWS em segundo plano, usa a formação de nuvens para criar o cluster Kubernetes e seus recursos associados. Em palavras simples, a pilha de formação de nuvens é como um serviço de modelo para criar e gerenciar um conjunto de recursos na AWS. Mais? AQUI.

Também concedemos ao usuário outras permissões, como dimensionamento automático do IAM, EKS e EC2.

Para criar uma política, no console da AWS, vá para serviços → IAM → políticas → criar política. O JSON com acesso necessário está AQUI !! Copie o JSON no campo conforme mostrado abaixo. (Observe que você precisa substituir com o ID da sua conta da AWS.)

Criar política

Além disso, revise a política para verificar as permissões e criar a política.

Revisar e criar política

Crie um usuário

No console da AWS, vá para Serviços → IAM → Usuários → Adicionar usuário. Acesso programático é tudo o que precisamos aqui para criar o EKS hoje.

Adicionar usuário

Atribua a política ao usuário

Clique em Avançar: Permissões e anexe a política personalizada que criamos na etapa anterior. Em seguida, revise e crie o usuário. NOTA: - Observe a chave de acesso e a chave secreta antes de fechar. precisaremos mais tarde.

selecionar e anexar política

Crie uma instância da AWS

Vou criar uma instância aqui para criar e conectar-se ao cluster. Como alternativa, você pode instalar algumas ferramentas e iniciar um cluster a partir da sua máquina host também. Mais? O Google sempre o apoiou. Descubra: p

Vamos criar uma instância agora! AWS Console → Serviços → EC2 → Iniciar instância (seu local preferido)

Eu usarei o Ubuntu Server 16.04 do tipo t2.micro para criar a VMhere. Você pode personalizar a VM conforme necessário.

Selecione a imagemTipos de instância

Após criar a máquina VM, conecte-se a ela usando as chaves geradas.

Instale as ferramentas necessárias e execute o comando para criar o cluster.

Vou usar um script de shell para instalar todos os recursos necessários e iniciar o cluster, tudo de uma só vez! O script está AQUI !!

Bem, o script instala primeiro o python3 para instalar o awscli posteriormente na máquina virtual. Quando atingir a etapa aws configure, forneça a chave de acesso e a chave secreta que criamos na etapa 3. Defina a região preferida da AWS para criar um cluster quando solicitado e o formato de saída como json. Em seguida, é baixado e instalado o eksctl (a ferramenta CLI para criar clusters no EKS) e o kubectl (a ferramenta de linha de comando para controlar clusters do Kubernetes). O comando eksctl create cluster é executado com muitos outros parâmetros, como o nome do cluster, versão de Kubernetes, região, nome do grupo de nós, tipo de máquina e muito mais. Se o acesso ssh aos nós não for necessário, as duas últimas linhas poderão ser vomitadas. Eu uso o ssh-keygen para criar as chaves antes de executar o script e fornecer à chave pública o comando para anexá-lo aos nós, caso seja necessário conectar-me aos nós posteriormente.

Após conectar-se à VM, copie o script, edite os parâmetros para definir o nome, a região e outros parâmetros. Gere um par de chaves e execute o script. Você precisa aguardar alguns minutos para que o cluster seja criado. O status "CREATE_COMPLETE" pode ser visualizado no console de formação em nuvem da AWS. Os nós do Kubectl get podem ser usados ​​para listar os nós após a criação bem-sucedida do cluster.

Qualquer tipo de mensagem de erro será descrita em detalhes nos logs da pilha do Cloud Formação para depuração adicional.

Para limpar os recursos, você pode excluir a pilha de formação de nuvens do console ou executar o eks delete cluster com o nome do cluster e a região como parâmetros.

Bem, agora você tem um novo cluster Kubernetes gerenciado pela AWS!

Feliz explorando!