Como criar um cluster zonal


Neste tópico, mostramos como criar um cluster zonal padrão com os recursos padrão ativados no Google Kubernetes Engine (GKE). Os clusters de zona têm somente um plano de controle em uma única zona Dependendo dos requisitos de disponibilidade, é possível distribuir os nós para o cluster de zona em uma única ou em várias zonas.

Para saber mais sobre os diferentes tipos de disponibilidade de cluster, consulte Sobre opções de configuração de cluster.

Zona única versus várias zonas

Um cluster de zona única tem um único plano de controle em execução em uma zona. Este plano de controle gerencia cargas de trabalho em nós em execução na mesma zona. Se você executar uma carga de trabalho em uma única zona, ela ficará indisponível no caso de uma interrupção temporária zonal.

Os nós de um cluster de várias zonas são executados em várias zonas, mas têm apenas uma única réplica do plano de controle. Se você executar uma carga de trabalho em várias zonas e houver uma interrupção zonal, ela será interrompida nessa zona, mas vai permanecer disponível em outras.

Se você precisar de maior disponibilidade para o plano de controle, crie um cluster regional em seu lugar. Em um cluster regional, o plano de controle é replicado em várias zonas em uma região.

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 gcloud components update.
  • Clusters de várias zonas usam mais recursos do que clusters de zona única. Se você estiver criando um cluster com várias zonas, verifique se você tem cotas adequadas.
  • Verifique se você tem a permissão correta para criar clusters. Você precisa ser, no mínimo, um Administrador de clusters do Kubernetes Engine.
  • Se quiser registrar o novo cluster em uma frota (apenas acesso limitado), verifique se você tem as APIs e permissões necessárias.

Criar um cluster zonal

É possível criar um cluster zonal usando a CLI gcloud, o console do Google Cloud ou o Terraform.

Se você estiver desenvolvendo aplicativos do GKE com o Cloud Code para VS Code, crie clusters com o Cloud Code.

gcloud

Para criar um cluster zonal com a CLI gcloud, use um dos comandos a seguir.

Substitua:

  • CLUSTER_NAME: o nome do novo cluster;
  • CHANNEL: o tipo de canal de lançamento, que pode ser rapid, regular, stable ou None Por padrão, o cluster é inscrito no canal de lançamento regular, a menos que pelo menos uma das sinalizações a seguir seja especificada: --cluster-version, --release-channel, --no-enable-autoupgrade, e --no-enable-autorepair.
  • COMPUTE_ZONE: a zona de computação do plano de controle do cluster.
  • VERSION: a versão que você quer especificar para o cluster;
  • COMPUTE_ZONE,COMPUTE_ZONE1,[...]: as zonas em que os nós são criados. Especifique quantas zonas forem necessárias para o cluster. Todas as zonas precisam estar na mesma região que o plano de controle do cluster, especificado pela sinalização --zone. Para clusters zonais, --node-locations precisa conter a zona principal do cluster.

Ao criar um cluster, é possível usar o Sinalização --service-account para especificar um serviço do IAM diferente que os nós do primeiro pool de nós do cluster usam em vez do Conta de serviço padrão do Compute Engine. Recomendamos que você criar e usar uma conta de serviço com privilégios mínimos;

Como usar um canal de lançamento específico:

Para criar um novo cluster usando um canal de lançamento específico, execute o comando a seguir:

gcloud container clusters create CLUSTER_NAME \
    --release-channel CHANNEL \
    --zone COMPUTE_ZONE \
    --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

Como usar uma versão específica:

Para criar um novo cluster usando uma versão de cluster específica, execute o comando a seguir:

gcloud container clusters create CLUSTER_NAME \
    --cluster-version VERSION \
    --zone COMPUTE_ZONE \
    --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

Como usar a versão padrão para clusters não inscritos em um canal de lançamento:

Para criar um novo cluster usando a versão padrão para clusters não inscritos em um canal de lançamento, não é necessário especificar uma versão do cluster, mas você precisa definir o canal de lançamento como None:

gcloud container clusters create CLUSTER_NAME \
    --release-channel None \
    --zone COMPUTE_ZONE \
    --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

Exemplo

O comando a seguir cria um cluster de várias zonas chamado example-cluster, cujo plano de controle está localizado na zona us-central-a e há três locais de nó. O cluster está inscrito no canal de lançamento regular.

Quando a sinalização --num-nodes é omitida, o número padrão de nós por zona criado pelo cluster é três. Como três zonas foram especificadas, esse 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 \
    --zone us-central1-a \
    --node-locations us-central1-a,us-central1-b,us-central1-c

Console

Para criar um cluster zonal com o Console do Google Cloud, execute as seguintes tarefas:

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

    Acessar o Google Kubernetes Engine

  2. Clique em Criar.

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

    1. Insira o Nome do cluster.
    2. Em Tipo de local, selecione Por zona e selecione a zona do cluster.
    3. Se você estiver criando um cluster de várias zonas, marque a caixa de seleção Especificar os locais padrão do nó e escolha as outras zonas em que quer executar os pools de nós.

    4. Escolher um canal de lançamento Como opção, selecione Nenhum canal na lista suspensa. No entanto, recomendamos que você analise quando não inscrever seu cluster em um canal de lançamento antes de escolher essa opção. O GKE faz upgrade automaticamente dos clusters que não estão em um canal de lançamento com versões do Canal Stable.

    5. Opcional: especifique uma versão do plano de controle na lista suspensa Versão.

  4. Opcional (disponível no GKE Enterprise): se você quiser registrar o novo cluster em uma frota, acesse a seção Registro da frota e siga as as instruções do console do Google Cloud para Criar e registrar um novo cluster e concluir o registro dele.

  5. No painel de navegação, em Pools de nós, clique em default-pool.

  6. Na seção Detalhes do pool de nós, preencha o seguinte:

    1. Insira um Nome para o pool de nós padrão.
    2. Opcional: escolha a Versão do nó.
    3. Digite o Número de nós a serem criados no cluster. É necessário ter uma cota de recursos disponível para os nós e os recursos deles (como rotas de firewall).
    4. Opcional: é possível desativar os upgrades automáticos de nós. No entanto, recomendamos que você leia as considerações antes de desativar os upgrades automáticos de nós antes de escolher essa opção.
  7. No painel de navegação, em Pools de nós, clique em Nós.

  8. Na lista suspensa Tipo de imagem, selecione a imagem de nó.

  9. Escolha a Configuração da máquina padrão para usar nas instâncias. O faturamento varia de acordo com cada tipo de máquina. O tipo de máquina padrão é e2-medium. Para informações sobre preços de tipos de máquina, consulte a tabela de preços.

  10. Na lista suspensa Tipo de disco de inicialização, selecione o tipo de disco.

  11. Digite o Tamanho do disco de inicialização.

  12. Opcional: no painel de navegação, em Pools de nós, clique em Segurança.

  13. Opcional: na lista suspensa Conta de serviço, selecione uma conta de serviço de gerenciamento de identidade e acesso (IAM) para os aplicativos usarem ao chamar as APIs do Google Cloud. Recomendamos usar uma conta de serviço com privilégios mínimos. em vez de usar a conta padrão de serviço.

  14. Clique em Criar.

Terraform

Para criar um cluster zonal com um pool de nós de zona única usando o Terraform, consulte o exemplo a seguir:

resource "google_container_cluster" "default" {
  name               = "gke-standard-zonal-single-zone"
  location           = "us-central1-a"
  initial_node_count = 1

  # Set `deletion_protection` to `true` will ensure that one cannot
  # accidentally delete this instance by use of Terraform.
  deletion_protection = false
}

Para criar um cluster zonal com um pool de nós de várias zonas usando o Terraform, consulte o exemplo a seguir:

resource "google_container_cluster" "default" {
  name               = "gke-standard-regional-multi-zone"
  location           = "us-central1"
  node_locations     = ["us-central1-b", "us-central1-c"]
  initial_node_count = 2

  # Set `deletion_protection` to `true` will ensure that one cannot
  # accidentally delete this instance by use of Terraform.
  deletion_protection = false
}

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

Interagir com um cluster usando a kubectl

Depois de criar um cluster, é preciso configurar a kubectl antes de interagir com o cluster a partir da linha de comando.

Modelos de cluster

Anteriormente, o GKE era compatível com modelos para clusters. Esses modelos foram removidos do Console do Google Cloud, mas ainda podem ser acessados nos seguintes links:

A seguir

Faça um teste

Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho do GKE em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.

Faça uma avaliação sem custos do GKE