Esta página explica como criar um cluster do Google Kubernetes Engine (GKE) no modo Autopilot. O Autopilot é um modo de funcionamento do GKE que lhe permite focar-se nos seus serviços e aplicações, enquanto o GKE gere os seus nós e infraestrutura. Quando implementa as suas cargas de trabalho, o GKE aprovisiona, configura e gere os recursos e o hardware, inclusive quando dimensiona.
Antes de começar
Antes de começar, certifique-se de que realizou as seguintes tarefas:
- Ative a API Google Kubernetes Engine. Ative a API Google Kubernetes Engine
- Se quiser usar a CLI gcloud para esta tarefa,
instale-a e, em seguida,
inicialize-a. Se instalou anteriormente a CLI gcloud, execute
gcloud components update
para obter a versão mais recente.
- Certifique-se de que tem as autorizações corretas para criar clusters. No mínimo, deve ter a função de administrador do cluster do Kubernetes Engine.
- Se quiser registar o novo cluster numa frota, certifique-se de que tem as APIs e as autorizações necessárias.
Configure contas de serviço IAM para o GKE
O GKE usa contas de serviço da IAM anexadas aos seus nós para
executar tarefas do sistema, como registo e monitorização. No mínimo, estas contas de serviço de nós
têm de ter a função
Conta de serviço de nós predefinida do Kubernetes Engine
(roles/container.defaultNodeServiceAccount
) no seu projeto. Por predefinição,
o GKE usa a
conta de serviço predefinida do Compute Engine,
que é criada automaticamente no seu projeto, como a conta de serviço do nó.
Para conceder a função roles/container.defaultNodeServiceAccount
à conta de serviço predefinida do Compute Engine, conclua os passos seguintes:
consola
- Aceda à página Boas-vindas:
- No campo Número do projeto, clique em Copiar para a área de transferência.
- Aceda à página IAM:
- Clique em Conceder acesso.
- No campo Novos responsáveis, especifique o seguinte valor:
SubstituaPROJECT_NUMBER-compute@developer.gserviceaccount.com
PROJECT_NUMBER
pelo número do projeto que copiou. - No menu Selecionar uma função, selecione a função Conta de serviço do nó predefinido do Kubernetes Engine.
- Clique em Guardar.
gcloud
- Encontre o seu Google Cloud número do projeto:
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"
Substitua
PROJECT_ID
pelo ID do seu projeto.O resultado é semelhante ao seguinte:
12345678901
- Conceda a função
roles/container.defaultNodeServiceAccount
à conta de serviço predefinida 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 do passo anterior.
Crie um cluster do Autopilot
As informações mínimas que tem de especificar quando cria um novo cluster do Autopilot são um nome, um projeto (normalmente, o projeto atual) e uma região (normalmente, a região predefinida para ferramentas de linha de comandos). No entanto, existem muitas mais definições de configuração possíveis, algumas das quais não podem ser alteradas após a criação do cluster. Certifique-se de que compreende que definições não podem ser alteradas após a criação do cluster e que escolhe a definição certa quando cria um cluster, se não quiser ter de o criar novamente.
Pode ver uma vista geral das opções de configuração de clusters em Acerca das opções de configuração de clusters e uma lista completa das opções possíveis nos guias de referência do gcloud container clusters create-auto
e do Terraform google_container_cluster
.
Pode criar um cluster do Autopilot através da CLI do Google Cloud, da Google Cloud consola ou do Terraform:
gcloud
Execute o seguinte comando:
gcloud container clusters create-auto CLUSTER_NAME \
--location=LOCATION \
--project=PROJECT_ID
Substitua o seguinte:
CLUSTER_NAME
: o nome do novo cluster do Autopilot.LOCATION
: a região do seu cluster.PROJECT_ID
: o ID do seu projeto.
Recomendamos vivamente que especifique uma conta de serviço do IAM com privilégios mínimos que os seus nós possam usar em vez da conta de serviço predefinida do Compute Engine. Para saber como criar uma conta de serviço com privilégios mínimos, consulte o artigo Use uma conta de serviço com privilégios mínimos.
Para especificar uma conta de serviço personalizada na CLI gcloud, adicione a seguinte flag ao seu comando:
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Substitua SERVICE_ACCOUNT_NAME pelo nome da sua conta de serviço com privilégios mínimos.
Para ver uma lista de outras opções que pode especificar, consulte a
gcloud container clusters create-auto
documentação de referência.
Consola
Execute as seguintes tarefas:
Na Google Cloud consola, aceda à página Criar um cluster do Autopilot.
Na secção Noções básicas do cluster, conclua o seguinte:
Introduza o Nome do cluster.
Selecione uma região para o seu cluster.
- Opcional (disponível com o GKE Enterprise): se quiser registar o novo cluster numa frota, aceda à secção Registo de frotas e siga as Google Cloud instruções da consola para criar e registar um novo cluster para concluir o registo do cluster.
Para a secção Rede, consulte o artigo Personalize o isolamento da rede para ver instruções de configuração.
- Opcionalmente, especifique uma conta de serviço do IAM personalizada para os seus nós:
- Na página Definições avançadas, expanda a secção Segurança.
- No menu Conta de serviço, selecione a sua conta de serviço preferida.
Recomendamos vivamente que especifique uma conta de serviço do IAM com privilégios mínimos que os seus nós possam usar em vez da conta de serviço predefinida do Compute Engine. Para saber como criar uma conta de serviço com privilégios mínimos, consulte o artigo Use uma conta de serviço com privilégios mínimos.
Opcionalmente, configure outras definições, como janelas de manutenção e funcionalidades de segurança avançadas.
Clique em Criar.
Terraform
Para criar um cluster do Autopilot com o Terraform, consulte o seguinte exemplo:
Para criar um cluster do Autopilot que use uma conta de serviço do IAM personalizada, siga estes passos:
Crie uma conta de serviço de IAM e conceda-lhe a função
roles/container.defaultNodeServiceAccount
no projeto:Crie um cluster do Autopilot que use a nova conta de serviço:
Para saber mais sobre a utilização do Terraform, consulte o artigo Compatibilidade do Terraform com o GKE.
Crie um cluster do Autopilot com um canal de lançamento e uma versão específicos
Por predefinição, o GKE inscreve novos clusters do Autopilot no canal de lançamento Regular, com a versão predefinida do GKE no canal. Pode alterar o canal de lançamento quando cria um cluster do Autopilot através da CLI gcloud, da Google Cloud consola ou do Terraform.
Também pode definir uma versão específica do GKE quando cria um cluster
com a CLI gcloud. A definição da versão do cluster só é útil se 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 que especificar tem de ser uma versão do GKE disponível.
As instruções seguintes para definir o canal de lançamento e a versão são opcionais. A menos que precise de uma versão específica do GKE, recomendamos que mantenha a predefinição do canal de lançamento.
gcloud
Execute o seguinte 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. A predefinição é Regular
.
Opcionalmente, especifique --cluster-version=CLUSTER_VERSION
,
substituindo CLUSTER_VERSION
pela versão do GKE
para o cluster, como 1.29.4-gke.1043002
. A versão que especificar aplica-se até que uma versão mais recente se torne a predefinição no seu canal de lançamento.
Em seguida, o GKE atualiza automaticamente o cluster para a nova versão predefinida. Se omitir esta flag,
o GKE define a versão para a
versão predefinida do canal de lançamento.
Para verificar as versões disponíveis, consulte o artigo Que versões estão disponíveis num canal?. Pode executar qualquer versão secundária no canal selecionado ou escolher um subconjunto de versões de patch de outros canais.
Consola
Para definir o canal de lançamento quando cria um cluster do Autopilot, faça o seguinte:
Na Google Cloud consola, aceda à página Criar um cluster do Autopilot.
Na secção Noções básicas do cluster, conclua o seguinte:
- Especifique um Nome.
- Selecione uma região.
Na secção Definições avançadas, escolha um canal de lançamento.
Opcionalmente, configure outras definições para o novo cluster.
Clique em Criar.
Terraform
Para definir o canal de lançamento e a versão do cluster quando cria um cluster do Autopilot com o Terraform, consulte o seguinte exemplo:
Para saber mais sobre a utilização do Terraform, consulte o artigo Compatibilidade do Terraform com o GKE.
Também pode alterar o canal de lançamento e a versão do GKE para clusters existentes. Para obter instruções, consulte o artigo Atualizar manualmente um plano de controlo e o artigo Selecionar um novo canal de lançamento.
Estabeleça ligação ao cluster
gcloud
gcloud container clusters get-credentials CLUSTER_NAME \
--location=LOCATION \
--project=PROJECT_ID
Este comando configura o kubectl
para usar o cluster que criou.
Consola
Na lista de clusters, junto ao cluster ao qual quer estabelecer ligação, clique em more_vert Ações e, de seguida, clique em Estabelecer ligação.
Quando lhe for pedido, clique em Executar no Cloud Shell. O comando gerado é copiado para o Cloud Shell, por exemplo:
gcloud container clusters get-credentials autopilot-cluster --location=us-central1 --project=autopilot-test
Prima Enter para executar o comando.
Valide o modo de cluster
Pode verificar se o seu cluster é um cluster do Autopilot através da CLI gcloud ou da consola 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
Consola
Para verificar se o cluster foi criado no modo Autopilot, faça o seguinte:
Aceda à página do Google Kubernetes Engine na Google Cloud consola.
Encontre o seu cluster na lista de clusters. Em Modo, deve indicar Autopilot.