Visão geral
O Terraform é uma ferramenta de código aberto para configurar ambientes de nuvem como a AWS e instalar softwares como o Kubernetes neles. Você pode configurar seu ambiente AWS e criar seus clusters nele 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 seu ambiente AWS e instalar um cluster usando uma configuração de exemplo armazenada no GitHub. Esta página é para administradores e operadores de TI que desejam configurar, monitorar e gerenciar infraestrutura de nuvem, automatizar implantações e usar modelos e configuração declarativa. Para saber mais sobre funções comuns e tarefas de exemplo que mencionamos em Google Cloud conteúdo, consulte Funções e tarefas comuns do usuário do GKE Enterprise .
Para usar esses scripts, você precisa ter familiaridade básica com o Terraform. Em particular, você deve editar os arquivos de configuração do Terraform para adicionar suas próprias informações de usuário e projeto e fazer as alterações necessárias na configuração padrão do cluster.
Para configurar seu ambiente da AWS e criar clusters sem usar o Terraform, consulte Visão 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 na AWS e implantar um cluster nela. A VPC resultante atende a todos os pré-requisitos do GKE na AWS e tem a mesma topologia de rede que a VPC criada pelas instruções manuais de criação de VPC do Google.
O cluster criado pelo conjunto de scripts tem as seguintes características:
- três nós do plano de controle (um em cada uma das três zonas de disponibilidade configuradas). Esses nós são do tipo t3.large .
- Um pool de nós com dois nós do tipo t3.large . Este pool de nós é implantado na região
us-east-1
da AWS e pode ser dimensionado automaticamente para cinco nós.
Como alterar o VPC e o cluster padrão
Você pode alterar as características da VPC e do cluster criados pelos scripts do Terraform editando os arquivos apropriados do Terraform.
- Ajuste a região e as zonas de disponibilidade editando o arquivo
variables.tf
. - Alterar o tipo de instância da AWS .
- Altere as características da VPC, incluindo as sub-redes, zonas de disponibilidade e balanceador de carga, editando os arquivos na subpasta
modules/vpc
.
Para obter uma lista de regiões da AWS controladas por um determinado Google Cloudregião e suas versões associadas do Kubernetes, execute o seguinte comando:
gcloud container aws get-server-config --location `GOOGLE_CLOUD_REGION`
Substitua GOOGLE_CLOUD_REGION
pelo nome do Google Cloud região da qual você deseja que o GKE na AWS controle seu cluster.
Pré-requisitos
Instale o Google Cloud CLI com as instruções de instalação do Google Cloud CLI . Se você já o instalou, siga estas instruções para verificar se está executando a versão 412.0.0 ou superior.
Instale a AWS CLI com as instruções de instalação da AWS CLI .
Crie suas chaves de acesso da AWS .
Configure seu ambiente AWS local com o seguinte comando:
aws configure
Preparar Terraform
Configure a autenticação do Google Cloud CLI executando os seguintes comandos:
gcloud config set project GOOGLE_PROJECT_ID gcloud auth application-default login --no-launch-browser
Habilite os serviços necessários em 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 do Google.Faça uma cópia local do repositório e vá para a pasta
AWS
:git clone https://github.com/GoogleCloudPlatform/anthos-samples.git cd anthos-samples/anthos-multi-cloud/AWS
Implantar o GKE na AWS
Edite as seguintes linhas no arquivo
terraform.tfvars
para substituir os valores padrão:gcp_project_id = GOOGLE_PROJECT_ID admin_users = ["GCP_ACCOUNT_EMAIL"] cluster_version = GKE_VERSION
Substitua o seguinte:
GOOGLE_PROJECT_ID
: seu ID do projeto do Google. Você pode encontrá-lo no lado esquerdo da página do painel do Google Cloud console .ACCOUNT_EMAILS
: uma lista separada por vírgulas de endereços de e-mail que podem fazer login nos clusters após sua criação — por exemplo"admin@example.com","operator@example.com"
. Pelo menos um endereço deve ter um Google Cloud conta. Para adicionar provedores de identidade adicionais ao seu cluster, consulte Gerenciar identidade com o Serviço de Identidade do GKE .GKE_VERSION
: uma versão do GKE compatível com a região escolhida. Para encontrar as versões compatíveis, consulte GKE na AWS: versionamento e suporte .
Inicialize e crie o plano do Terraform:
terraform init
O Terraform instala todas as bibliotecas necessárias, como a Google Cloudprovedor.
Aplique o plano Terraform para criar a AWS Virtual Private Cloud e o cluster:
terraform apply
Siga as instruções para começar a criar um cluster.
A instalação leva cerca de 12 minutos. Quando o Terraform concluir a criação da sua Nuvem Privada Virtual da AWS e do cluster, ele imprimirá informações sobre o cluster e criará um arquivo chamado var.sh
Você poderá usar os valores deste arquivo se criar pools de nós adicionais.
Para verificar se o cluster foi criado com sucesso, observe se ele aparece na página do Kubernetes Engine . Google Cloud console em seu Google Cloud projeto.
Conecte-se ao seu cluster
Para verificar a conectividade com seu cluster e buscar seus detalhes, execute o seguinte comando:
gcloud container fleet memberships get-credentials CLUSTER_NAME
kubectl get nodes
Substitua CLUSTER_NAME
pelo nome do seu cluster. Você pode encontrar o nome do seu cluster no arquivo de saída var.sh
do Terraform.
A saída inclui uma lista de nós no seu cluster e seus status.
Exclua seu cluster e a Nuvem Privada Virtual da AWS
Antes de excluir seu cluster e a AWS Virtual Private Cloud, você deve remover todos os itens a seguir:
- Quaisquer balanceadores de carga ativos da AWS na Nuvem Privada Virtual da AWS
- Quaisquer pools de nós adicionais no seu cluster não criados com o Terraform
- Quaisquer clusters adicionais na Nuvem Privada Virtual da AWS não criados com o Terraform
Para remover o cluster e a AWS Virtual Private Cloud que você criou com o Terraform, execute o seguinte comando:
terraform destroy
O Terraform drena cargas de trabalho dos seus nós, exclui o pool de nós primários e o cluster e exclui sua Nuvem Privada Virtual da AWS.
Autorizar registro em nuvem e monitoramento em nuvem
Se você deseja habilitar o Cloud Logging e o Cloud Monitoring, você deve adicionar uma política de permissão ao seu Google Cloud projeto depois de criar um cluster.
Adicione uma política de permissão com o Google Cloud CLI:
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.
Próximos passos
- Para saber mais sobre o registro centralizado de eventos de cluster do Google, consulte Cloud Logging .
- Para ler sobre as ferramentas de monitoramento de nuvem do Google, consulte Monitoramento de nuvem .
- Para instalar o gerenciamento de configuração centralizado, consulte Configurar um cluster com o Config Controller .
Para obter mais informações sobre os scripts do Terraform GKE na AWS, consulte