Neste documento, mostramos como criar um cluster regional padrão para aumentar a disponibilidade do plano de controle e das cargas de trabalho do cluster durante upgrades de cluster, manutenção automatizada ou uma interrupção por zona.
Os clusters do Autopilot do GKE são sempre regionais.
Visão geral
Ao criar um cluster regional em vez de um cluster zonal, o plano de controle do cluster é replicado em várias zonas em uma determinada região. Para pools de nós em um cluster regional, é possível especificar manualmente as zonas em que os pools de nós serão executados. Também é possível usar a configuração padrão, que replica cada pool de nós em três zonas do plano de controle. Todas as zonas precisam estar na mesma região do plano de controle do cluster.
Os clusters regionais replicam recursos em várias zonas e consomem cotas adicionais.
Para saber mais sobre os diferentes tipos de disponibilidade de cluster, consulte Sobre opções de configuração de cluster.
Nas instruções das seções a seguir, mostramos como:
- Crie um cluster regional com um pool de nós de zona única.
- Crie um cluster regional com um pool de nós de várias zonas.
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
.
- 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, verifique se tem as APIs e permissões necessárias.
Criar um cluster regional com um pool de nós de zona única
Nas instruções a seguir, mostramos como criar um cluster regional com um pool de nós que opera em uma única zona dentro da região. O plano de controle do cluster é replicado em várias zonas na região especificada, mas os nós estão localizados na zona única e não são replicados em outras zonas.
É possível usar a gcloud CLI, o console do Google Cloud ou o Terraform para criar o cluster.
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 regional com a gcloud CLI, use um dos comandos a seguir e substitua as seguintes variáveis:
CLUSTER_NAME
: o nome do novo cluster regional;COMPUTE_REGION
: a região do cluster, comous-central1
.COMPUTE_ZONE
: a zona do pool de nós, comous-central1-a
. A zona precisa estar na mesma região que o plano de controle do cluster.CHANNEL
: o tipo de canal de lançamento, que pode serrapid
,regular
,stable
ouNone
Por padrão, o cluster é inscrito no canal de lançamentoregular
, a menos que pelo menos uma das sinalizações a seguir seja especificada:--cluster-version
,--release-channel
,--no-enable-autoupgrade
, e--no-enable-autorepair
.VERSION
: a versão que você quer especificar para o cluster.
Ao criar um cluster, é possível usar a
sinalização --service-account
para especificar uma conta de serviço do IAM diferente
que os nós do primeiro pool de nós do cluster usam em vez da
conta de serviço padrão do Compute Engine. Recomendamos que você
crie e use 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 \
--region COMPUTE_REGION \
--node-locations COMPUTE_ZONE \
--release-channel CHANNEL
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 \
--region COMPUTE_REGION \
--node-locations COMPUTE_ZONE \
--cluster-version VERSION
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 \
--region COMPUTE_REGION \
--node-locations COMPUTE_ZONE \
--release-channel None
Exemplo
O comando a seguir cria um cluster regional inscrito no canal de lançamento
regular
(padrão), com três nós (padrão) na zona
us-west1-c
:
gcloud container clusters create my-regional-cluster \
--region us-west1 \
--node-locations us-west1-c
Exemplo
O comando a seguir cria um cluster regional inscrito no canal de lançamento
regular
(padrão), com dois nós localizados na zona us-west1-c
:
gcloud container clusters create my-regional-cluster \
--region us-west1 \
--node-locations us-west1-c \
--num-nodes 2
Console
Acesse a página Google Kubernetes Engine no console do Google Cloud.
Clique em add_box Criar.
Na seção Princípios básicos do cluster, conclua o seguinte:
- Insira o Nome do cluster.
- Em Tipo de local, selecione Regional e selecione a região pretendida para o cluster.
- Se você quiser modificar os locais padrão dos nós (por exemplo, para execução em uma única zona), marque a caixa de seleção Especificar os locais padrão do nó e escolha as zonas em que você quer que os pools de nós sejam executados.
Escolher um canal de lançamento Como opção, selecione Nenhum canal na lista suspensa. No entanto, recomendamos que você analise a comparação entre clusters inscritos e não inscritos 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.
Opcional: especifique uma versão do plano de controle na lista suspensa Versão.
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.
No painel de navegação, em Pools de nós, clique em default-pool.
Na seção Detalhes do pool de nós, preencha o seguinte:
- Insira um Nome para o pool de nós padrão.
- Opcional: escolha a Versão do nó.
- 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).
- 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.
No painel de navegação, em Pools de nós, clique em Nós.
Na lista suspensa Tipo de imagem, selecione a imagem de nó.
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.Na lista suspensa Tipo de disco de inicialização, selecione o tipo de disco.
Digite o Tamanho do disco de inicialização.
Opcional: no painel de navegação, em Pools de nós, clique em Segurança.
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.
Clique em Criar.
Terraform
Para criar um cluster regional com um pool de nós de zona única usando o Terraform, consulte o exemplo a seguir:
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.
Criar um cluster regional com um pool de nós de várias zonas
Nas instruções a seguir, mostramos como criar um cluster regional com um pool de nós de várias zonas, que é a configuração padrão. O plano de controle e os nós do cluster são replicados em várias zonas na região especificada.
É possível usar a gcloud CLI, o console do Google Cloud ou o Terraform para criar o cluster.
Se você estiver desenvolvendo aplicativos do GKE com o Visual Studio Code, tente criar clusters com o Cloud Code.
gcloud
Para criar um cluster regional com a gcloud CLI, use um dos comandos a seguir e substitua as seguintes variáveis:
CLUSTER_NAME
: o nome do novo cluster regional;COMPUTE_REGION
: a região do cluster, comous-central1
.CHANNEL
: o tipo de canal de lançamento, que pode serrapid
,regular
,stable
ouNone
Por padrão, o cluster é registrado no canal de lançamentoregular
se as seguintes sinalizações não forem especificadas:--cluster-version
,--release-channel
,--no-enable-autoupgrade
e--no-enable-autorepair
.VERSION
: a versão que você quer especificar para o cluster.- Para regiões com mais de três zonas
ou nos casos em que é preferível menos zonas, use a sinalização
--node-locations
opcional para modificar as zonas padrão em que os nós são replicados.
Ao criar um cluster, é possível usar a
sinalização --service-account
para especificar uma conta de serviço do IAM diferente
que os nós do primeiro pool de nós do cluster usam em vez da
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 \
--region COMPUTE_REGION \
--release-channel CHANNEL
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 \
--region COMPUTE_REGION \
--cluster-version VERSION
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 \
--region COMPUTE_REGION \
--release-channel None
Exemplo
O comando a seguir cria um cluster regional inscrito no canal de lançamento regular
,
com nove nós em us-west1
(três zonas com três nós
cada, que é o padrão):
gcloud container clusters create my-regional-cluster --region us-west1
Exemplo
O comando a seguir cria um cluster regional inscrito no canal de lançamento regular
,
com seis nós (três zonas com dois nós cada, especificadas
por --num-nodes
):
gcloud container clusters create my-regional-cluster \
--region us-west1 \
--num-nodes 2
Exemplo
O comando a seguir cria um cluster regional inscrito no canal de lançamento regular
,
com seis nós em duas zonas (duas zonas especificadas por
--node-locations
com três nós cada):
gcloud container clusters create my-regional-cluster \
--region us-central1 \
--node-locations us-central1-b,us-central1-c
Console
Acesse a página Google Kubernetes Engine no console do Google Cloud.
Clique em add_box Criar.
Na seção Princípios básicos do cluster, conclua o seguinte:
- Insira o Nome do cluster.
- Em Tipo de local, selecione Regional e selecione a região pretendida para o cluster.
- Se você quiser modificar os locais padrão dos nós (por exemplo, para execução em uma única zona), marque a caixa de seleção Especificar os locais padrão do nó e escolha as zonas em que você quer que os pools de nós sejam executados.
Escolher um canal de lançamento Como opção, selecione Nenhum canal na lista suspensa. No entanto, recomendamos que você analise a comparação entre clusters inscritos e não inscritos 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.
Opcional: especifique uma versão do plano de controle na lista suspensa Versão.
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.
No painel de navegação, em Pools de nós, clique em default-pool.
Na seção Detalhes do pool de nós, preencha o seguinte:
- Insira um Nome para o pool de nós padrão.
- Opcional: escolha a Versão do nó.
- 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).
- 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.
No painel de navegação, em Pools de nós, clique em Nós.
Na lista suspensa Tipo de imagem, selecione a imagem de nó.
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.Na lista suspensa Tipo de disco de inicialização, selecione o tipo de disco.
Digite o Tamanho do disco de inicialização.
Opcional: no painel de navegação, em Pools de nós, clique em Segurança.
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.
Clique em Criar.
Terraform
Para criar um cluster regional com um pool de nós de várias zonas usando o Terraform, consulte o exemplo a seguir:
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.
A seguir
- Saiba mais sobre os tipos de clusters que podem ser criados.
- Crie um cluster zonal.