Vista geral
O Terraform é uma ferramenta de código aberto para configurar ambientes na nuvem, como a AWS, e instalar software, como o Kubernetes, nesses ambientes. Pode configurar o seu ambiente da AWS e criar os seus clusters no mesmo com o Terraform ou com as instruções de instalação do GKE na AWS.
Esta página descreve como usar o Terraform para configurar o seu ambiente AWS e instalar um cluster através de uma configuração de exemplo armazenada no GitHub. Esta página destina-se a administradores de TI e operadores que querem configurar, monitorizar e gerir a infraestrutura na nuvem, automatizar implementações e usar modelos e configuração declarativa. Para saber mais acerca das funções comuns e das tarefas de exemplo que referimos no Google Cloud conteúdo, consulte Funções e tarefas comuns do utilizador do GKE.
Para usar estes scripts, precisa de ter conhecimentos básicos do Terraform. Em particular, tem de editar os ficheiros de configuração do Terraform para adicionar as suas próprias informações de utilizador e projeto, bem como fazer as alterações necessárias à configuração predefinida do cluster.
Para configurar o seu ambiente AWS e criar clusters sem usar o Terraform, consulte a vista geral dos pré-requisitos da AWS e as instruções para criar um cluster.
O que os scripts fazem
Este script configura o Terraform para criar uma VPC da AWS e implementar um cluster na mesma. A VPC resultante cumpre todos os pré-requisitos do GKE na AWS e tem a mesma topologia de rede que a VPC criada pelas instruções de criação manual da VPC da Google.
O conjunto de clusters criado pelo script tem as seguintes caraterísticas:
- Três nós do plano de controlo (um em cada uma das três zonas de disponibilidade configuradas). Estes nós são do tipo t3.large.
- Um conjunto de nós com dois nós do tipo t3.large.
Este conjunto de nós está implementado na região da AWS
us-east-1
e pode ser dimensionado automaticamente para cinco nós.
Como alterar a VPC e o cluster predefinidos
Pode alterar as caraterísticas da VPC e do cluster criados pelos scripts do Terraform editando os ficheiros do Terraform adequados.
- Ajuste a região e as zonas de disponibilidade editando o ficheiro
variables.tf
. - Altere o tipo de instância da AWS.
- Altere as caraterísticas da VPC, incluindo as sub-redes, as zonas de disponibilidade e o equilibrador de carga, editando os ficheiros na subpasta
modules/vpc
.
Para ver uma lista das regiões da AWS controladas a partir de uma determinada Google Cloud região e as respetivas versões do Kubernetes associadas, execute o seguinte comando:
gcloud container aws get-server-config --location `GOOGLE_CLOUD_REGION`
Substitua GOOGLE_CLOUD_REGION
pelo nome da
Google Cloud região a partir da qual quer que o GKE no AWS controle o seu cluster.
Pré-requisitos
Instale a CLI do Google Cloud com as instruções de instalação da CLI do Google Cloud. Se já a instalou, siga estas instruções para se certificar de que está a usar a versão 412.0.0 ou superior.
Instale a CLI da AWS com as instruções de instalação da CLI da AWS.
Crie as suas chaves de acesso da AWS.
Configure o seu ambiente AWS local com o seguinte comando:
aws configure
Prepare o Terraform
Configure a autenticação da Google Cloud CLI executando os seguintes comandos:
gcloud config set project GOOGLE_PROJECT_ID gcloud auth application-default login --no-launch-browser
Ative os serviços necessários no seu Google Cloud projeto.
gcloud --project="GOOGLE_PROJECT_ID" services enable \ gkemulticloud.googleapis.com \ gkeconnect.googleapis.com \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com \ anthos.googleapis.com \ logging.googleapis.com \ monitoring.googleapis.com \ opsconfigmonitoring.googleapis.com
Substitua
GOOGLE_PROJECT_ID
pelo ID do seu projeto Google.Faça uma cópia local do repositório e altere para a pasta
AWS
:git clone https://github.com/GoogleCloudPlatform/anthos-samples.git cd anthos-samples/anthos-multi-cloud/AWS
Implemente o GKE no AWS
Edite as seguintes linhas no ficheiro
terraform.tfvars
para substituir os valores predefinidos:gcp_project_id = GOOGLE_PROJECT_ID admin_users = ["GCP_ACCOUNT_EMAIL"] cluster_version = GKE_VERSION
Substitua o seguinte:
GOOGLE_PROJECT_ID
: o ID do seu projeto Google. Pode encontrar esta opção no lado esquerdo da página do painel de controlo da Google Cloud consola.ACCOUNT_EMAILS
: uma lista de endereços de email separados por vírgulas que podem iniciar sessão nos clusters após a sua criação, por exemplo,"admin@example.com","operator@example.com"
. Pelo menos uma morada tem de ter uma Google Cloud conta. Para adicionar fornecedores de identidade adicionais ao seu cluster, consulte o artigo Faça a gestão da identidade com o serviço de identidade do GKE.GKE_VERSION
: uma versão suportada do GKE para a região escolhida. Para encontrar as versões suportadas, consulte o artigo Versões e apoio técnico do GKE on AWS.
Inicialize e crie o plano do Terraform:
terraform init
O Terraform instala todas as bibliotecas necessárias, como o Google Cloud fornecedor.
Aplique o plano do Terraform para criar a nuvem privada virtual da AWS e o cluster:
terraform apply
Siga as instruções para começar a criar um cluster.
A instalação demora cerca de 12 minutos. Quando o Terraform conclui a criação do seu AWS Virtual Private Cloud e cluster, imprime informações sobre o cluster e cria um ficheiro denominado var.sh
. Pode usar os valores neste ficheiro se criar pools de nós adicionais.
Para verificar se o cluster foi criado com êxito, aguarde que seja apresentado na página do Kubernetes Engine da Google Cloud consola no seu Google Cloud projeto.
Ligue-se ao seu cluster
Para validar a conetividade ao cluster e obter os respetivos detalhes, execute o seguinte comando:
gcloud container fleet memberships get-credentials CLUSTER_NAME
kubectl get nodes
Substitua CLUSTER_NAME
pelo nome do seu cluster. Pode encontrar o nome do cluster no ficheiro de saída do var.sh
Terraform.
O resultado inclui uma lista de nós no cluster e o respetivo estado.
Elimine o cluster e a nuvem privada virtual da AWS
Antes de eliminar o cluster e a nuvem privada virtual da AWS, tem de remover todos os seguintes elementos:
- Todos os balanceadores de carga da AWS ativos na nuvem privada virtual da AWS
- Quaisquer node pools adicionais no seu cluster que não tenham sido criados com o Terraform
- Quaisquer clusters adicionais na nuvem privada virtual da AWS que não tenham sido criados com o Terraform
Para remover o cluster e a nuvem privada virtual da AWS que criou com o Terraform, execute o seguinte comando:
terraform destroy
O Terraform esgota as cargas de trabalho dos seus nós, elimina o cluster e o node pool principal, e elimina a sua nuvem privada virtual da AWS.
Autorize o Cloud Logging e o Cloud Monitoring
Se quiser ativar o Cloud Logging e o Cloud Monitoring, tem de adicionar uma política de autorização ao seu Google Cloud projeto depois de criar um cluster.
Adicione uma política de permissão com a CLI do Google Cloud:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:PROJECT_ID.svc.id.goog[gke-system/gke-telemetry-agent]" \
--role=roles/gkemulticloud.telemetryWriter
Substitua PROJECT_ID
pelo ID do seu projeto.
Passos seguintes
- Para saber mais sobre o registo de eventos de cluster centralizado da Google, consulte o artigo Cloud Logging.
- Para ler acerca das ferramentas do Cloud Monitoring da Google, consulte o artigo Cloud Monitoring.
- Para instalar a gestão de configuração centralizada, consulte o artigo Configure um cluster com o Config Controller.
Para mais informações sobre os scripts do Terraform GKE on AWS, consulte