Nesta página, explicamos como redimensionar clusters
do Google Kubernetes Engine (GKE) Standard. É possível redimensionar um cluster para aumentar ou diminuir o número de nós desse cluster. Como alternativa, é possível fazer o escalonamento automático do cluster em que o GKE redimensiona automaticamente os pools de nós em resposta a condições variáveis, como alterações nas cargas de trabalho e uso de recursos.
Essas instruções não se aplicam aos clusters do
Autopilot do GKE, que são redimensionados
automaticamente com base no número de pods do cluster.
Quando você adiciona ou remove nós do cluster, o GKE adiciona ou remove
as instâncias de máquina virtual (VM) associadas dos grupos gerenciados de instâncias (MIGs) subjacentes do Compute Engine,
provisionados para os pools de nós. Para remover nós, não use kubectl delete node, porque isso não exclui a instância de VM do Compute Engine no MIG subjacente do pool de nós. Use o escalonador automático de cluster ou diminua o tamanho do
cluster manualmente.
Antes de começar
Antes de começar, verifique se você realizou as tarefas a seguir:
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.
Aumentar o tamanho do cluster
Quando você aumenta o tamanho de um cluster, ocorrem as seguintes alterações:
Novas instâncias de nós são criadas com a mesma configuração que as
atuais.
Novos pods podem ser agendados nas novas instâncias.
Os pods atuais não são movidos para as novas instâncias.
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 usar clusters regionais ou de várias zonas,
NUM_NODES será o número de nós para cada zona onde
os pools de nós estão.
Repita esse 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 aumentar o tamanho dos pools de nós de um cluster, siga as seguintes etapas:
Acesse a página Google Kubernetes Engine no console do Google Cloud.
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 usar clusters regionais ou de várias zonas,
NUM_NODES será o número de nós para cada zona onde
os pools de nós estão.
Repita esse 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 diminuir o tamanho dos pools de nós de um cluster, siga as seguintes etapas:
Acesse a página Google Kubernetes Engine no console do Google Cloud.
Ao lado do cluster que você quer editar, clique em more_vertAções e, depois, em Editar.
Clique na guia Nós ao lado da guia Detalhes.
Na seção Pools de nós, clique no nome do pool que terá o tamanho
diminuído.
Clique em editRedimensionar.
No campo Número de nós, insira quantos nós você quer no pool de nós e clique em Redimensionar.
Repita essa etapa para cada pool de nós conforme necessário.
Como fazer o escalonamento automático de um cluster
O recurso autoescalador de cluster do GKE faz o escalonamento automático dos pools de nós em resposta a condições variáveis, como alterações nas cargas de trabalho e no uso de recursos.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2024-11-21 UTC."],[],[],null,["# Resize a Standard cluster by adding or removing nodes\n\n[Standard](/kubernetes-engine/docs/concepts/choose-cluster-mode)\n\n*** ** * ** ***\n\nThis page explains how to manually resize Google Kubernetes Engine (GKE)\nStandard clusters. You can resize a cluster to increase or decrease the\nnumber of nodes in that cluster. Alternatively, you can [autoscale](#autoscale)\nyour cluster, where GKE automatically resizes your node pools in\nresponse to changing conditions, such as changes in your workloads and resource\nusage.\n\nThese instructions don't apply to GKE\n[Autopilot](/kubernetes-engine/docs/concepts/autopilot-overview)\nclusters, which automatically resize based on the number of Pods in the cluster.\n\nWhen you add or remove nodes in your cluster, GKE adds or removes\nthe associated virtual machine (VM) instances from the underlying\nCompute Engine [Managed Instance Groups\n(MIGs)](/compute/docs/instance-groups#managed_instance_groups) provisioned for\nyour node pools. For removing nodes, do not use `kubectl delete node` as this\ndoes not delete the Compute Engine VM instance in the node pool's underlying\nMIG. Use [cluster autoscaler](#autoscale) or manually [decrease the size of your\ncluster](#decrease).\n| **Note:** When you increase or decrease the size of a node pool that spans multiple zones, the new size represents the number of nodes in the node pool per zone. For example, if you have a node pool size of two that spans two zones, the total node count is four. If you resize the node pool to a size of four nodes, the total node count becomes eight.\n\nBefore you begin\n----------------\n\nBefore you start, make sure that you have performed the following tasks:\n\n- Enable the Google Kubernetes Engine API.\n[Enable Google Kubernetes Engine API](https://console.cloud.google.com/flows/enableapi?apiid=container.googleapis.com)\n- If you want to use the Google Cloud CLI for this task, [install](/sdk/docs/install) and then [initialize](/sdk/docs/initializing) the gcloud CLI. If you previously installed the gcloud CLI, get the latest version by running `gcloud components update`. **Note:** For existing gcloud CLI installations, make sure to set the `compute/region` [property](/sdk/docs/properties#setting_properties). If you use primarily zonal clusters, set the `compute/zone` instead. By setting a default location, you can avoid errors in the gcloud CLI like the following: `One of [--zone, --region] must be supplied: Please specify location`. You might need to specify the location in certain commands if the location of your cluster differs from the default that you set.\n\nIncrease the size of your cluster\n---------------------------------\n\nWhen you increase the size of a cluster, the following changes occur:\n\n- New node instances are created using the same configuration as the existing instances.\n- New Pods may be scheduled on the new instances.\n- Existing Pods are **not** moved to the new instances.\n\n### gcloud\n\nTo increase the size of a cluster's node pools, run the [`gcloud container clusters resize`](/sdk/gcloud/reference/container/clusters/resize) command: \n\n```\ngcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME \\\n --num-nodes NUM_NODES\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e: the name of the cluster to resize.\n- \u003cvar translate=\"no\"\u003ePOOL_NAME\u003c/var\u003e: the name of the node pool to resize.\n- \u003cvar translate=\"no\"\u003eNUM_NODES\u003c/var\u003e: the number of nodes in the pool in a zonal cluster. If you use multi-zonal or regional clusters, \u003cvar translate=\"no\"\u003eNUM_NODES\u003c/var\u003e is the number of nodes for each zone the node pools is in.\n\nRepeat this command for each node pool. If your cluster has only one node\npool, omit the `--node-pool` flag.\n\n### Console\n\nTo increase the size of a cluster's node pools, perform the following steps:\n\n1. Go to the **Google Kubernetes Engine** page in the Google Cloud console.\n\n [Go to Google Kubernetes Engine](https://console.cloud.google.com/kubernetes/list)\n2. Beside the cluster you want to edit, click *more_vert*\n **Actions** , then click **Edit**.\n\n3. Click the **Nodes** tab next to the **Details** tab.\n\n4. In the **Node Pools** section, click the name of the node pool that you\n want to increase in size.\n\n5. Click *edit* **Resize**.\n\n6. In the **Number of nodes** field, enter how many nodes that you want in\n the node pool, and then click **Resize**.\n\n7. Repeat for each node pool as needed.\n\nDecrease the size of your cluster\n---------------------------------\n\n| **Warning:** Do not use both cluster autoscaler and manual resize commands simultaneously on a node pool, as this can cause interactions that result in unstable or incorrect node pool size.\n\nWhen you decrease the size of a cluster, the following changes occur:\n\n- GKE gracefully terminates nodes that are being deleted, using the [drain](https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/) process to remove the Pods from the instance. [`PodDisruptionBudget`](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) and [`terminationGracePeriodSeconds`](https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods) are both respected for up to one hour.\n- Pods managed by a replication controller are rescheduled by the controller to run on the remaining instances.\n- Pods not managed by a replication controller are not restarted.\n\nThe MIG does not differentiate between instances running\nPods and instances without Pods. Resizing down removes instances at random.\n\nTo learn how to add node pools and to manage existing ones, refer to\n[Adding and managing node pools](/kubernetes-engine/docs/how-to/node-pools). \n\n### gcloud\n\nTo decrease the size of a cluster's node pools, run the [`gcloud container clusters resize`](/sdk/gcloud/reference/container/clusters/resize) command: \n\n```\ngcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME \\\n --num-nodes NUM_NODES\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e: the name of the cluster to resize.\n- \u003cvar translate=\"no\"\u003ePOOL_NAME\u003c/var\u003e: the name of the node pool to resize.\n- \u003cvar translate=\"no\"\u003eNUM_NODES\u003c/var\u003e: the number of nodes in the pool in a zonal cluster. If you use multi-zonal or regional clusters, \u003cvar translate=\"no\"\u003eNUM_NODES\u003c/var\u003e is the number of nodes for each zone the node pools is in.\n\nRepeat this command for each node pool. If your cluster has only one node\npool, omit the `--node-pool` flag.\n\n### Console\n\nTo decrease the size of a cluster's node pools, perform the following steps:\n\n1. Go to the **Google Kubernetes Engine** page in the Google Cloud console.\n\n [Go to Google Kubernetes Engine](https://console.cloud.google.com/kubernetes/list)\n2. Beside the cluster you want to edit, click *more_vert*\n **Actions** , then click **Edit**.\n\n3. Click the **Nodes** tab next to the **Details** tab.\n\n4. In the **Node Pools** section, click the name of the node pool that you\n want to decrease in size.\n\n5. Click *edit* **Resize**.\n\n6. In the **Number of nodes** field, enter how many nodes that you want in\n the node pool, and then click **Resize**.\n\n7. Repeat for each node pool as needed.\n\nAutoscaling a cluster\n---------------------\n\nGKE's [cluster autoscaler](/kubernetes-engine/docs/concepts/cluster-autoscaler) feature automatically resizes\nyour node pools in response to changing conditions, such as changes in your\nworkloads and resource usage.\n\nTo learn more about how autoscaling works, refer to the [cluster autoscaler](/kubernetes-engine/docs/concepts/cluster-autoscaler)\ndocumentation. To set up autoscaling for your cluster, see\n[Autoscaling a cluster](/kubernetes-engine/docs/how-to/cluster-autoscaler).\n\nWhat's next\n-----------\n\n- [Learn more about clusters](/kubernetes-engine/docs/concepts/cluster-architecture)."]]