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:
- Parte 1: prévia do Anthos GKE rodando na AWS
- Parte 2: passo a passo da instalação
- Parte 3: workloads no cluster GKE interagindo com serviços da AWS
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:
- 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).
- 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.
- 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).
- 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.