Nesta página, você vê como adicionar e executar operações em pools de nós que executam os clusters do Google Kubernetes Engine (GKE). Para aprender sobre como os pools de nós funcionam, consulte Pools de nós.
Antes de começar
Antes de começar, verifique se você realizou as tarefas a seguir:
- Verifique se você ativou a API Google Kubernetes Engine. Ativar a API Google Kubernetes Engine
- Verifique se o SDK do Cloud está instalado.
Defina as configurações padrão da gcloud
usando um dos métodos a seguir:
- Use
gcloud init
se quiser orientações para definir os padrões. - Use
gcloud config
para definir individualmente a região, a zona e o ID do projeto.
Como usar o gcloud init
Se você receber o erro One of [--zone, --region] must be supplied: Please specify
location
, conclua esta seção.
-
Execute
gcloud init
e siga as instruções:gcloud init
Se você estiver usando SSH em um servidor remoto, utilize a sinalização
--console-only
para impedir que o comando inicie um navegador:gcloud init --console-only
-
Siga as instruções para autorizar a
gcloud
a usar sua conta do Google Cloud. - Crie uma nova configuração ou selecione uma atual.
- Escolha um projeto do Google Cloud.
- Escolha uma zona padrão do Compute Engine.
Como usar o gcloud config
- Defina o ID do projeto padrão:
gcloud config set project PROJECT_ID
- Se você estiver trabalhando com clusters zonais, defina a zona do Compute padrão:
gcloud config set compute/zone COMPUTE_ZONE
- Se você estiver trabalhando com clusters regionais, defina a região do Compute padrão:
gcloud config set compute/region COMPUTE_REGION
- Atualize
gcloud
para a versão mais recente:gcloud components update
Como adicionar um pool de nós
gcloud
Para criar um pool de nós, execute o comando
gcloud container node-pools create
:
gcloud container node-pools create POOL_NAME --cluster CLUSTER_NAME
Para ver a lista completa de opções, consulte a documentação do gcloud container node-pools create
.
Uma solicitação node-pools create
bem-sucedida retorna as informações do pool de nós:
Creating node pool example-pool...done. Created [https://container.googleapis.com/v1/projects/kubernetes-engine-docs/zones/us-central1-f/clusters/example-cluster/nodePools/example-pool]. NAME MACHINE_TYPE DISK_SIZE_GB NODE_VERSION example-pool e2-medium 100 1.2.4
Você criou o pool de nós. Às vezes, ele é criado com sucesso, mas os comandos gcloud
expiram em vez de relatar o status do servidor. Para verificar o status de todos os pools de nós, incluindo aqueles que ainda não foram totalmente provisionados, use o comando a seguir:
gcloud container node-pools list --cluster CLUSTER_NAME
Console
Para adicionar um pool de nós a um cluster atual, execute as etapas a seguir:
Acesse o menu do Google Kubernetes Engine no Console do Cloud.
Ao lado do cluster que você quer editar, clique em more_vert Ações e em edit Editar.
Clique em add_box Adicionar pool de nós.
Configure o pool de nós como quiser.
Clique em Criar para adicionar o pool de nós.
Como visualizar pools de nós em um cluster
gcloud
Para listar todos os pools de nós de um cluster, execute o
comando
gcloud container node-pools list
:
gcloud container node-pools list --cluster CLUSTER_NAME
Para visualizar detalhes sobre um pool de nós específico, execute o
comando
gcloud container node-pools describe
:
gcloud container node-pools describe POOL_NAME \ --cluster CLUSTER_NAME
Substitua:
CLUSTER_NAME
: o nome do cluster.POOL_NAME
: o nome do pool de nós a ser visualizado.
Console
Para ver os pools de nós de um cluster, siga estas etapas:
Acesse o menu do Google Kubernetes Engine no Console do Cloud.
Clique no nome do cluster que você quer visualizar.
Clique na guia Nós ao lado da guia Detalhes.
A seção Pool de nós mostra os pools de nós no cluster.
Para visualizar os detalhes de um pool de nós específico, clique no nome do pool de nós.
Como redimensionar um pool de nós
gcloud
Para redimensionar os pools de nós de um cluster, execute o
comando
gcloud container clusters resize
:
gcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME \ --num-nodes NUM_NODES
Substitua:
CLUSTER_NAME
: o nome do cluster a ser redimensionado.POOL_NAME
: o nome do pool de nós a ser redimensionado.NUM_NODES
: o número de nós no pool em um cluster zonal. Se você usar clusters regionais ou de várias zonas, NUM_NODES será o número de nós para cada zona em que os pools de nós estão.
Repita este comando para cada pool de nós. Se o cluster tiver apenas um pool de nós, omita a sinalização --node-pool
.
Console
Para reescalonar os pools de nós do cluster, siga estas etapas:
Acesse o menu do Google Kubernetes Engine no Console do Cloud.
Ao lado do cluster que você quer editar, clique em more_vert Ações e em edit Editar.
Clique na guia Nós ao lado da guia Detalhes.
Na seção Pool de nós, clique no nome do pool de nós que você quer redimensionar.
Clique em edit Redimensionar.
No campo Número de nós, insira quantos nós você quer no pool de nós e clique em Redimensionar.
Repita para cada pool de nós conforme necessário.
Como fazer upgrade de um pool de nós
gcloud
Para atualizar todos os nós para a mesma versão do plano de controle, execute o
comando
gcloud container clusters upgrade
:
gcloud container clusters upgrade CLUSTER_NAME
Para atualizar um pool de nós específico, especifique o sinalizador --node-pool
:
gcloud container clusters upgrade CLUSTER_NAME --node-pool POOL_NAME
Console
Para fazer upgrade de um pool de nós, siga estas etapas:
Acesse o menu do Google Kubernetes Engine no Console do Cloud.
Ao lado do cluster que você quer editar, clique em more_vert Ações e em edit Editar.
Clique na guia Nós ao lado da guia Detalhes.
Na seção Pools de nós, clique no nome do pool de nós que você quer atualizar.
Clique em edit Editar.
No campo Versão do nó, clique em Alterar.
Selecione a versão do Kubernetes que você quer.
Leia o aviso e clique em Alterar para confirmar.
Implantar um pod em um pool de nós específico
É possível implantar explicitamente um pod em um pool de nós específico usando um nodeSelector
no manifesto do pod. nodeSelector
programa pods em
nós com um rótulo correspondente.
Todos os pools de nós do GKE têm rótulos com o seguinte formato:
cloud.google.com/gke-nodepool: POOL_NAME
.
Adicione esse rótulo ao campo nodeSelector
no seu pod, conforme mostrado no
exemplo a seguir:
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
env: test
spec:
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent
nodeSelector:
cloud.google.com/gke-nodepool: POOL_NAME
Para mais informações, consulte Como atribuir pods a nós.
Como alternativa ao seletor de nós, é possível usar a afinidade de nó. Use essa afinidade se quiser uma regra "soft" em que o pod tenta cumprir a restrição, mas ainda seja programado, mesmo que a restrição não seja atendida. Para mais informações, consulte Afinidade de nó. Também é possível especificar solicitações de recursos nos contêineres.
Como excluir um pool de nós
A exclusão de um pool exclui os nós e as rotas que levam a eles. Todos os pods executados nesses nós são removidos e reprogramados. Se os pods tiverem seletores de nó específicos, poderão permanecer em uma condição não programável se nenhum outro nó no cluster cumprir os critérios.
gcloud
Para excluir um pool de nós, execute o comando
gcloud container node-pools delete
:
gcloud container node-pools delete POOL_NAME --cluster CLUSTER_NAME
Console
Para excluir um pool de nós, siga estas etapas:
Acesse o menu do Google Kubernetes Engine no Console do Cloud.
Ao lado do cluster que você quer editar, clique em more_vert Ações e em edit Editar.
Clique na guia Nós ao lado da guia Detalhes.
Na seção Pool de nós, ao lado do pool de nó que você quer excluir, clique em delete.
Confirme a exclusão do pool de nós clicando em Excluir.
A seguir
- Leia sobre como os pools de nós funcionam.
- Saiba mais sobre os pools de nós com provisionamento automático.
- Saiba como configurar
kubelet
esysctl
usando a configuração do sistema do nó.