Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Kubernetes multi-cloud com Google Anthos e AWS (parte 2)

By Mike SparrSep 24, 20204 min read

Esta página também está disponível em English, Deutsch, Español, Français, Italiano e 日本語.

No primeiro post, mostramos uma prévia do Anthos GKE rodando na AWS, junto com alguns casos de uso e funcionalidades que ele traz para a plataforma da Amazon Web Services. Agora é hora de colocar a mão na massa: um passo a passo direto ao ponto de como configurar tudo.

Para simplificar as instruções online do Google, reescrevi alguns comandos para deixá-los menos fragmentados e eliminei algumas etapas manuais de point-and-click. A equipe de produto do Anthos está trabalhando para incorporar ainda mais etapas à CLI e simplificar a configuração, então o processo só tende a ficar mais fácil — espere algumas mudanças por aí.

Este é o segundo de uma série de 3 partes sobre o Anthos GKE do Google:

Arquitetura

Fonte: Google

Pré-requisitos

  • Conta ativa no Google Cloud Platform (GCP) com Anthos (trial) habilitado
  • Conta ativa na Amazon Web Services (AWS)
  • Terminal na sua máquina local ou acesso a um terminal remoto
  • JQ instalado para fazer parsing de JSON via CLI
  • Terraform CLI instalado [opcional] para rodar comandos TF

TL;DR

Vamos cobrir quatro etapas principais, com scripts separados que destacam as tarefas de cada uma:

  1. Criar chaves e roles IAM tanto na AWS quanto no GCP, e baixar e instalar a CLI anthos-gke (hoje, é preciso ser aprovado pelo Google para fazer o download, então fale com seu account manager o quanto antes).
  2. Configurar o cluster de gerenciamento (control plane), inicializar os scripts Terraform que vão criá-lo e rodar o Terraform para preparar a AWS e instalar o control plane.
  3. Usar o Terraform para inicializar a configuração do seu primeiro cluster, abrir um túnel até o bastion na AWS e rodar kubectl para criar o primeiro cluster (cluster-0).
  4. Adicionar ClusterRoleBinding ao cluster, gerar o token de autenticação e conectar o GCP Cloud Console ao novo cluster para centralizar monitoramento e administração.

1\. Configuração inicial das chaves e download da CLI do Anthos

Pré-requisitos do Anthos GKE na AWS (setup)

Talvez você prefira simplesmente copiar e colar as tarefas acima no terminal e executá-las uma de cada vez (recomendado na primeira tentativa, para facilitar o debug). Depois de concluir, você deve conseguir rodar os comandos a seguir e ver uma saída parecida com a abaixo.

2\. Criar um cluster de gerenciamento (control plane)

Quando você executa os comandos init e apply do anthos-gke, a CLI gera o código Terraform no seu diretório de trabalho e aplica esse código para subir a infraestrutura na AWS. Em seguida, instala o cluster de gerenciamento (control plane).

A CLI anthos-gke gera scripts Terraform na sua máquina e os executa

Observação: se aparecer algum problema, basta usar os próprios scripts Terraform com a Terraform CLI para reaplicar as configurações.

3\. Criar seu primeiro cluster

Se chegou até aqui, parabéns! Tecnicamente, está tudo pronto e, a partir daqui, você pode usar as custom resource definitions (CRDs) AWSCluster e AWSNodePool para criar clusters e node pools como preferir.

O código Terraform gerado tem algumas saídas que produzem um manifesto a ser aplicado no control plane, e o cluster de gerenciamento do GKE provisionará seu novo cluster.

Dica: dê uma olhada no arquivo cluster-0.yaml gerado pelo Terraform. Antes de aplicar o manifesto, vale reduzir os valores de min/max de nós para economizar na nuvem. Você pode saber mais sobre a arquitetura do Anthos GKE no site do Google.

Criando seu primeiro cluster GKE na AWS

Dica de profissional: use o comando watch para acompanhar o status até aparecer "Provisioned".

CMD: watch kubectl get AWSClusters

4\. Conectando seu cluster ao GKE Hub

Depois de gerar o token e copiá-lo para a área de transferência, volte ao console do GCP, clique em "Login" no cluster, selecione "Token" e cole o token.

Autenticando o GKE admin (GKE Hub) no seu cluster da AWS

Parabéns!

Se chegou até aqui, pode se orgulhar. As tarefas até que não são tão complicadas, e incluí algumas variáveis de ambiente no topo de cada script para o caso de você executá-los separadamente. Se copiar e colar os comandos em um único shell, dá para pular as tarefas de bastion/proxy/context em cada arquivo e configurar e autenticar os clusters sem dor de cabeça.

Próximos passos

No próximo artigo, vamos ver como implantar workloads no seu cluster e fazê-los interagir com outros serviços da AWS.

Volte aqui para conferir o link quando estiver disponível ou, se preferir, me siga para ficar por dentro dos novos posts. Você também pode visitar o nosso https://blog.doit-intl.com para ler outros artigos.