Criar um cluster do Autopilot

Veja nesta página como criar um cluster do Google Kubernetes Engine (GKE) no modo Autopilot. O Autopilot é um modo de operação do GKE que permite que você se concentre nos serviços e aplicativos enquanto o GKE gerencia os nós e a infraestrutura. Quando você implanta as cargas de trabalho, o GKE provisiona, configura e gerencia os recursos e o hardware, incluindo o escalonamento.

Antes de começar

Antes de começar, verifique se você realizou as tarefas a seguir:

  • Ativar a API Google Kubernetes Engine.
  • Ativar a API Google Kubernetes Engine
  • Se você quiser usar a Google Cloud CLI para essa tarefa, instale e, em seguida, inicialize a CLI gcloud. Se você instalou a CLI gcloud anteriormente, instale a versão mais recente executando o comando gcloud components update. Talvez as versões anteriores da CLI gcloud não sejam compatíveis com a execução dos comandos neste documento.

Configurar contas de serviço do IAM para o GKE

O GKE usa contas de serviço do IAM anexadas aos nós para executar tarefas do sistema, como geração de registros e monitoramento. No mínimo, essas contas de serviço de nó precisam ter o papel de conta de serviço de nó padrão do Kubernetes Engine (roles/container.defaultNodeServiceAccount) no projeto. Por padrão, o GKE usa a conta de serviço padrão do Compute Engine, que é criada automaticamente no projeto, como a conta de serviço do nó.

Para conceder o papel roles/container.defaultNodeServiceAccount à conta de serviço padrão do Compute Engine, siga estas etapas:

Console

  1. Acesse a página Boas-vindas:

    Acessar a página de boas-vindas

  2. No campo Número do projeto, clique em Copiar para a área de transferência.
  3. Acesse a página IAM:

    Acessar IAM

  4. Clique em Conceder acesso.
  5. No campo Novos participantes, especifique o seguinte valor:
    PROJECT_NUMBER-compute@developer.gserviceaccount.com
    Substitua PROJECT_NUMBER pelo número do projeto que você copiou.
  6. No menu Selecionar um papel, escolha o papel Conta de serviço de nó padrão do Kubernetes Engine.
  7. Clique em Salvar.

gcloud

  1. Encontre o número do projeto: Google Cloud
    gcloud projects describe PROJECT_ID \
        --format="value(projectNumber)"

    Substitua PROJECT_ID pelo ID do seu projeto.

    O resultado será assim:

    12345678901
    
  2. Conceda o papel roles/container.defaultNodeServiceAccount à conta de serviço padrão do Compute Engine:
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \
        --role="roles/container.defaultNodeServiceAccount"

    Substitua PROJECT_NUMBER pelo número do projeto da etapa anterior.

Criar um cluster do Autopilot

As informações mínimas que você precisa especificar ao criar um novo cluster do Autopilot são um nome, um projeto (geralmente o projeto atual) e uma região (geralmente a região padrão para ferramentas de linha de comando). No entanto, há muitas outras configurações possíveis, algumas das quais não podem ser alteradas após a criação do cluster. Entenda quais configurações não podem ser alteradas após a criação do cluster e escolha a configuração certa ao criar um cluster se não quiser criá-lo novamente.

Você pode conferir uma visão geral das opções de configuração do cluster em Sobre as opções de configuração do cluster e uma lista completa de opções possíveis nos guias de referência gcloud container clusters create-auto e google_container_cluster do Terraform.

É possível criar um cluster do Autopilot usando a Google Cloud CLI, o Google Cloud console do Google Cloud ou o Terraform:

gcloud

Execute este comando:

gcloud container clusters create-auto CLUSTER_NAME \
    --location=LOCATION \
    --project=PROJECT_ID

Substitua:

  • CLUSTER_NAME: o nome do novo cluster de Autopilot.
  • LOCATION: a região para o cluster.
  • PROJECT_ID: o ID do projeto.

Recomendamos que você especifique uma conta de serviço do IAM com privilégios mínimos para que os nós possam usar em vez da conta de serviço padrão do Compute Engine. Para saber como criar uma conta de serviço com privilégios mínimos, consulte Usar uma conta de serviço privilégio mínimo mínimos.

Para especificar uma conta de serviço personalizada na CLI gcloud, adicione a seguinte flag ao comando:

--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

Substitua SERVICE_ACCOUNT_NAME pelo nome da conta de serviço com privilégios mínimos.

Para ver uma lista de outras opções que podem ser especificadas, consulte a documentação de referência de gcloud container clusters create-auto.

Console

Execute as seguintes tarefas:

  1. No Google Cloud console do, acesse a página Criar um cluster do Autopilot.

    Acessar "Criar um cluster do Autopilot"

  2. Na seção Princípios básicos do cluster, conclua o seguinte:

  3. Insira o Nome do cluster.

  4. Selecione uma região para o cluster.

    1. Opcional: se você quiser registrar o novo cluster em uma frota, acesse a seção Registro da frota e siga as instruções do Google Cloud console para Criar e registrar um novo cluster e concluir o registro dele.
  5. Para a seção Rede, consulte Personalizar o isolamento de rede para instruções de configuração.

  6. Opcionalmente, especifique uma conta de serviço do IAM personalizada para os nós:
    1. Na página Configurações avançadas, expanda a seção Segurança.
    2. No menu Conta de serviço, selecione a conta de serviço preferida.

    Recomendamos que você especifique uma conta de serviço do IAM com privilégios mínimos para que os nós possam usar em vez da conta de serviço padrão do Compute Engine. Para saber como criar uma conta de serviço com privilégios mínimos, consulte Usar uma conta de serviço privilégio mínimo mínimos.

  7. Opcionalmente, defina outras configurações, como janelas de manutenção e recursos avançados de segurança.

  8. Clique em Criar.

Terraform

Para criar um cluster do Autopilot usando o Terraform, consulte o exemplo a seguir:

resource "google_container_cluster" "default" {
  name     = "gke-autopilot-basic"
  location = "us-central1"

  enable_autopilot = true
}

Para criar um cluster do Autopilot que usa uma conta de serviço do IAM personalizada, siga estas etapas:

  1. Crie uma conta de serviço do IAM e conceda a ela o papel roles/container.defaultNodeServiceAccount no projeto:

    resource "google_service_account" "default" {
      account_id   = "gke-node-service-account"
      display_name = "GKE node service account"
    }
    
    data "google_project" "project" {
    }
    
    resource "google_project_iam_member" "default" {
      project = data.google_project.project.project_id
      role    = "roles/container.defaultNodeServiceAccount"
      member  = "serviceAccount:${google_service_account.default.email}"
    }
  2. Crie um cluster do Autopilot que use a nova conta de serviço:

    resource "google_container_cluster" "default" {
      name     = "autopilot-custom-account"
      location = "us-central1"
    
      enable_autopilot = true
    
      cluster_autoscaling {
        auto_provisioning_defaults {
          service_account = google_service_account.default.email
        }
      }
    }

Para saber mais como usar o Terraform, consulte o Suporte do Terraform para GKE.

Criar um cluster do Autopilot com um canal de lançamento e uma versão específicos

Por padrão, o GKE inscreve novos clusters do Autopilot no canal de lançamento normal ,com a versão padrão do GKE no canal. É possível alterar o canal de lançamento ao criar um cluster do Autopilot usando a CLI gcloud, o Google Cloud console ou o Terraform.

Também é possível definir uma versão específica do GKE ao criar um cluster usando a CLI gcloud. A definição da versão do cluster só é útil se você tiver um requisito de versão específico. Para definir a versão do cluster, especifique a flag --cluster-version no comando gcloud container clusters create-auto. A versão especificada precisa ser uma versão do GKE disponível.

As instruções a seguir para configurar o canal de lançamento e a versão são opcionais. A menos que você precise de uma versão específica do GKE, mantenha a configuração padrão do canal de lançamento.

gcloud

Execute este comando:

gcloud container clusters create-auto CLUSTER_NAME \
    --location=LOCATION \
    --release-channel=RELEASE_CHANNEL

Substitua RELEASE_CHANNEL pelo nome do canal de lançamento para o cluster. O padrão é Regular.

Também é possível especificar --cluster-version=CLUSTER_VERSION, substituindo CLUSTER_VERSION pela versão para o cluster, como 1.29.4-gke.1043002. A versão especificada se aplica até que uma versão mais recente se torne o padrão no seu canal de lançamento. O GKE faz upgrade automaticamente do cluster para a nova versão padrão. Se você omitir essa flag, O GKE define a versão como a versão padrão do canal de lançamento.

Para verificar as versões disponíveis, consulte Quais versões estão disponíveis em um canal?. É possível executar qualquer versão secundária no canal selecionado ou escolher um subconjunto de versões de patch de outros canais.

Console

Para definir o canal de lançamento ao criar um cluster do Autopilot, faça o seguinte:

  1. No Google Cloud console do, acesse a página Criar um cluster do Autopilot.

    Acessar "Criar um cluster do Autopilot"

  2. Na seção Princípios básicos do cluster, conclua o seguinte:

    1. Especificar um nome
    2. Selecione uma Região.
  3. Na seção Configurações avançadas, escolha um canal de lançamento.

  4. Se quiser, defina outras configurações para o novo cluster.

  5. Clique em Criar.

Terraform

Para definir o canal de lançamento e a versão do cluster ao criar um cluster do Autopilot usando o Terraform, consulte o exemplo a seguir:

resource "google_container_cluster" "default" {
  name     = "gke-autopilot-release-channel"
  location = "us-central1"

  enable_autopilot = true

  release_channel {
    channel = "REGULAR"
  }
}

Para saber mais como usar o Terraform, consulte o Suporte do Terraform para GKE.

Também é possível alterar o canal de lançamento e a versão do GKE para clusters existentes. Para ver instruções, consulte Como fazer upgrade manual de um plano de controle e Como selecionar um novo canal de lançamento.

Conexão ao cluster

gcloud

gcloud container clusters get-credentials CLUSTER_NAME \
    --location=LOCATION \
    --project=PROJECT_ID

Esse comando configura kubectl para usar o cluster que você criou.

Console

  1. Na lista de clusters, além do cluster ao qual você quer se conectar, clique em Ações e, em seguida, em Conectar.

  2. Clique em Executar no Cloud Shell quando solicitado. O comando gerado é copiado no Cloud Shell, por exemplo:

    gcloud container clusters get-credentials autopilot-cluster --location=us-central1 --project=autopilot-test
    
  3. Pressione Enter para executar o comando.

Verificar o modo do cluster

Verifique se o cluster é do Autopilot usando a CLI gcloud ou o Google Cloud console do Google Cloud.

gcloud

Para verificar se o cluster foi criado no modo Autopilot, execute o seguinte comando:

gcloud container clusters describe CLUSTER_NAME \
    --location=LOCATION

A saída contém o seguinte:

autopilot:
  enabled: true

Console

Para verificar se o cluster foi criado no modo Autopilot, faça o seguinte:

  1. Acesse a página do Google Kubernetes Engine no Google Cloud console do.

    Acessar o Google Kubernetes Engine

  2. Encontre o cluster na lista de clusters. Em Modo, ele deve dizer Autopilot.

A seguir