管理集群

本页面介绍如何在 Google Kubernetes Engine (GKE) 中管理集群。如需了解集群的工作原理,请参阅集群架构

准备工作

在开始之前,请确保您已执行以下任务:

使用以下任一方法设定默认的 gcloud 设置:

  • 使用 gcloud init(如果您想要在系统引导下完成默认设置)。
  • 使用 gcloud config(如果您想单独设置项目 ID、区域和地区)。

使用 gcloud init

如果您收到 One of [--zone, --region] must be supplied: Please specify location 错误,请完成本部分。

  1. 运行 gcloud init 并按照说明操作:

    gcloud init

    如果您要在远程服务器上使用 SSH,请使用 --console-only 标志来防止命令启动浏览器:

    gcloud init --console-only
  2. 按照说明授权 gcloud 使用您的 Google Cloud 帐号。
  3. 创建新配置或选择现有配置。
  4. 选择 Google Cloud 项目。
  5. 为可用区级集群选择默认 Compute Engine 可用区,或为区域级集群或 Autopilot 集群选择区域。

使用 gcloud config

  • 设置默认项目 ID
    gcloud config set project PROJECT_ID
  • 如果您使用的是可用区级集群,请设置默认计算可用区
    gcloud config set compute/zone COMPUTE_ZONE
  • 如果您使用的是 Autopilot 集群或区域级集群,请设置默认计算区域
    gcloud config set compute/region COMPUTE_REGION
  • gcloud 更新到最新版本:
    gcloud components update

查看集群

gcloud

要查看特定集群,请运行以下命令:

gcloud container clusters describe CLUSTER_NAME

CLUSTER_NAME 替换为您的集群名称。

要查看默认地区中的所有集群,请运行以下命令:

gcloud container clusters list

控制台

如需查看集群,请转到 Cloud Console 中的 Google Kubernetes Engine 页面。

转到 Google Kubernetes Engine

如需详细了解某一集群,请从列表中选择该集群。

kubectl 设置默认集群

如果您有多个集群,则可以为 kubectl 命令行工具设置默认集群。

如需了解详情,请参阅kubectl 命令设置默认集群

gcloud 设置默认集群

要为 gcloud 命令设置默认集群,请运行以下命令:

gcloud config set container/cluster CLUSTER_NAME

CLUSTER_NAME 替换为您的集群名称。

升级集群

默认情况下,GKE 会自动升级您的集群。但是,您可以选择自行升级标准集群。如需了解详情,请参阅手动升级集群

如需了解如何升级集群,请参阅升级集群的最佳做法

添加或移除地区

本部分仅适用于在标准模式下创建的集群。

以下部分介绍了如何添加或移除集群地区。

更改地区级集群的地区

对于现有的可用区级集群,您可以添加或移除可用区。

gcloud

要为地区级集群添加地区或从地区级集群移除地区,请使用 gcloud container clusters update 命令:

gcloud container clusters update CLUSTER_NAME \
  --zone COMPUTE_ZONE \
  --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

请替换以下内容:

  • CLUSTER_NAME:您为集群选择的名称。
  • COMPUTE_ZONE:集群控制层面的可用区。
  • COMPUTE_ZONE,COMPUTE_ZONE1,[...]:在其中创建节点的可用区。您可以根据集群的需要指定任意数量的可用区。所有可用区必须与集群的控制层面位于同一区域,由 --zone 标志指定。对于可用区级集群,--node-locations 必须包含集群的主要可用区。

例如,example-clusterus-central1-a 中运行。要向集群额外添加两个地区,请运行以下命令:

gcloud container clusters update example-cluster \
  --zone us-central1-a
  --node-locations us-central1-a,us-central1-b,us-central1-c

再举一例,example-clusterus-central1-aus-central1-bus-central1-c 中运行。如果您只希望集群在 us-central1-aus-central1-b 中运行,请运行以下命令:

gcloud container clusters update example-cluster \
  --zone us-central1-a \
  --node-locations us-central1-a,us-central1-b

控制台

要在现有集群中添加或移除地区,请按以下步骤操作:

  1. 转到 Cloud Console 中的 Google Kubernetes Engine 页面:

    转到 Google Kubernetes Engine

  2. 在要修改的集群旁边,点击 操作,然后点击 修改

  3. 在“详细信息”标签页下的默认节点可用区字段中,点击 修改节点池 (Edit node pools)。

  4. 选择所需的可用区并保存更改。

更改区域级集群的地区

本部分仅适用于在标准模式下创建的集群。

目前,只能使用 gcloud 命令更改现有区域级集群的地区。

要为区域级集群添加地区或从区域级集群移除地区,请使用带 --region 标志的 gcloud container clusters update 命令:

gcloud container clusters update CLUSTER_NAME \
  --region COMPUTE_REGION \
  --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

请替换以下内容:

  • CLUSTER_NAME:集群的名称。
  • COMPUTE_REGION:运行集群的区域
  • COMPUTE_ZONECOMPUTE_ZONE1,[...]:在其中创建节点的可用区控制层面区域。可用区必须与集群的控制层面位于同一 COMPUTE_REGION,由 --region 标志指定。

例如,example-clusterus-central1-aus-central1-b 中运行。要添加 us-central1-c,请运行以下命令:

gcloud container clusters update example-cluster \
  --region us-central1 \
  --node-locations us-central1-a,us-central1-b,us-central1-c

再举一例,example-clusterus-central1-aus-central1-bus-central1-c 中运行。如果您只希望集群在 us-central1-aus-central1-b 中运行,请运行以下命令:

gcloud container clusters update example-cluster \
  --region us-central1 \
  --node-locations us-central1-a,us-central1-b

调整集群大小

您可以调整标准集群的大小,以增加或减少其包含的节点数。例如,如果您想要阻止集群消耗资源,而不删除集群,可以将节点数量缩减至零。如需详细了解如何调整大小,请参阅调整集群大小

Autopilot 集群会根据您的 Pod 规范自动调整其大小,因此您无需考虑调整集群大小。例如,如果您更改 Pod 的副本数量或其请求的资源数量,则系统将相应地增加或缩减集群大小。

如果您希望以更高效的方式优化集群,还可以使用 Pod 纵向自动扩缩 (VPA)。 该自动扩缩器可以为 CPU 和内存请求及限制提供建议值,也可以自动更新这些值。

删除集群

您可以在需要时删除集群。如需了解详情,请参阅删除集群

后续步骤