Esta página mostra como criar um cluster zonal padrão, com as funcionalidades predefinidas ativadas, no Google Kubernetes Engine (GKE). Os clusters zonais têm uma única instância do plano de controlo numa única zona. Consoante os seus requisitos de disponibilidade, pode optar por distribuir os seus nós para o cluster zonal numa única zona ou em várias zonas.
Esta página destina-se a operadores, arquitetos da nuvem e programadores que precisam de criar e configurar clusters, e que implementam cargas de trabalho no GKE. Para saber mais sobre as funções comuns e as tarefas de exemplo que referimos no Google Cloud conteúdo, consulte Funções e tarefas comuns de utilizadores do GKE.
Antes de ler esta página, certifique-se de que conhece as opções de configuração de clusters.
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 zonal
As informações mínimas que tem de especificar quando cria um novo cluster zonal são um nome, um projeto (normalmente, o projeto atual) e uma zona (normalmente, a localização predefinida para ferramentas de linha de comandos), usando as predefinições para todos os outros valores. No entanto, existem mais definições de configuração possíveis, das quais apenas algumas são descritas nesta secção e algumas 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
e do Terraform google_container_cluster
.
Pode criar um cluster zonal através da CLI gcloud, da Google Cloud consola ou do Terraform.
Se estiver a desenvolver aplicações GKE com o Cloud Code para VS Code, experimente criar clusters com o Cloud Code.
gcloud
Para criar um cluster zonal com a CLI gcloud, use um dos seguintes comandos.
Substitua o seguinte:
CLUSTER_NAME
: o nome do novo cluster.CHANNEL
: o tipo de canal de lançamento, que pode ser um dos seguintes:rapid
,regular
,stable
ouNone
. Por predefinição, o cluster está inscrito no canal de lançamentoregular
, a menos que seja especificada, pelo menos, uma das seguintes flags:--cluster-version
,--release-channel
,--no-enable-autoupgrade
e--no-enable-autorepair
.CONTROL_PLANE_LOCATION
: a zona do Compute Engine do plano de controlo do seu cluster.VERSION
: a versão que quer especificar para o seu cluster.COMPUTE_ZONE,COMPUTE_ZONE1,[...]
: as zonas nas quais os nós são criados. Pode especificar tantas zonas quantas forem necessárias para o seu cluster. Todas as zonas têm de estar na mesma região que o plano de controlo do cluster, especificado pela flag--location
. Para clusters zonais, o elemento--node-locations
tem de conter a zona principal do cluster.
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.
Usando um canal de lançamento específico:
Para criar um novo cluster com um canal de lançamento específico, execute o seguinte comando:
gcloud container clusters create CLUSTER_NAME \ --release-channel CHANNEL \ --location CONTROL_PLANE_LOCATION \ --node-locations COMPUTE_ZONE,COMPUTE_ZONE1
Usar uma versão específica:
Para criar um novo cluster com uma versão específica do cluster, execute o seguinte comando:
gcloud container clusters create CLUSTER_NAME \ --cluster-version VERSION \ --location CONTROL_PLANE_LOCATION \ --node-locations COMPUTE_ZONE,COMPUTE_ZONE1
Usar a versão predefinida para clusters não inscritos num canal de lançamento:
Para criar um novo cluster com a versão predefinida para clusters não inscritos num canal de lançamento, não precisa de especificar uma versão do cluster, mas tem de definir o canal de lançamento como None
:
gcloud container clusters create CLUSTER_NAME \ --release-channel None \ --location CONTROL_PLANE_LOCATION \ --node-locations COMPUTE_ZONE,COMPUTE_ZONE1
Exemplo
O seguinte comando cria um cluster multizonal denominado example-cluster
, em que o plano de controlo do cluster está localizado na zona us-central-a
e existem três localizações de nós. O cluster está inscrito no regular
canal de lançamento.
Quando a flag --num-nodes
é omitida, o número predefinido de nós por zona criados pelo cluster é três. Como foram especificadas três zonas, este comando cria um cluster de nove nós com três nós em us-central1-a
, us-central1-b
e us-central1-c
.
gcloud container clusters create example-cluster \ --location us-central1-a \ --node-locations us-central1-a,us-central1-b,us-central1-c
Consola
Para criar um cluster zonal com a Google Cloud consola, execute as seguintes tarefas:
Na Google Cloud consola, aceda à página Criar um cluster do Kubernetes.
Na secção Noções básicas do cluster, conclua o seguinte:
- Introduza o Nome do cluster.
- Para o Tipo de localização, selecione Zonal e, de seguida, selecione a zona para o seu cluster.
- Se estiver a criar um cluster multizonal, selecione a caixa de verificação Especificar localizações de nós predefinidas e, em seguida, escolha zonas adicionais nas quais quer que os conjuntos de nós sejam executados.
Escolha um canal de lançamento. Opcionalmente, pode selecionar Nenhum canal na lista pendente. No entanto, recomendamos que reveja a comparação entre clusters inscritos e não inscritos num canal de lançamento antes de escolher esta opção. O GKE atualiza automaticamente os clusters que não estão num canal de lançamento com versões do canal estável.
Opcional: especifique uma versão do plano de controlo na lista pendente Versão.
Opcional: configure outras definições para o novo 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.
No painel de navegação, em Node Pools, clique em default-pool.
Na secção Detalhes do conjunto de nós, conclua o seguinte:
- Introduza um Nome para o conjunto de nós predefinido.
- Opcional: escolha a versão do Node.
- Introduza o Number of nodes (Número de nós) a criar no cluster. Tem de ter quota de recursos disponível para os nós e os respetivos recursos (como trajetos de firewall).
- Opcional: pode optar por desativar as atualizações automáticas de nós. No entanto, recomendamos que reveja as considerações antes de desativar as atualizações automáticas de nós antes de escolher esta opção.
No painel de navegação, em Node Pools, clique em Nodes.
Na lista pendente Tipo de imagem, selecione a imagem do nó.
Escolha a configuração da máquina predefinida a usar para as instâncias. Cada tipo de máquina é faturado de forma diferente. O tipo de máquina predefinido é
e2-medium
. Para ver informações sobre os preços dos tipos de máquinas, consulte a folha de preços dos tipos de máquinas.Na lista pendente Tipo de disco de arranque, selecione o tipo de disco.
Introduza o tamanho do disco de arranque.
Opcional: no painel de navegação, em Conjuntos de nós, clique em Segurança.
- 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.
Clique em Criar.
Terraform
Para criar um cluster zonal com um node pool de zona única através do Terraform, consulte o seguinte exemplo:
Para criar um cluster zonal com um node pool de várias zonas através do Terraform, consulte o seguinte exemplo:
Para saber mais sobre a utilização do Terraform, consulte o artigo Compatibilidade do Terraform com o GKE.
Interaja com um cluster através do kubectl
Depois de criar um cluster, tem de o
configurar kubectl
antes de poder interagir com o cluster a partir da linha de comandos.
Modelos de clusters
Anteriormente, o GKE suportava modelos para clusters. Esses modelos foram removidos da consola do Google Cloud , mas ainda estão acessíveis através dos seguintes links:
O que se segue?
- Saiba mais sobre as opções de configuração de clusters que pode criar.
- Saiba mais sobre a arquitetura do cluster do GKE.
- Saiba como gerir os seus clusters.
- Saiba como eliminar clusters.
Experimente
Se está a usar o Google Cloud pela primeira vez, crie uma conta para avaliar o desempenho do GKE em cenários reais. Os novos clientes também recebem 300 USD em créditos gratuitos para executar, testar e implementar cargas de trabalho.
Experimente o GKE gratuitamente