管理集群


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

准备工作

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

  • 启用 Google Kubernetes Engine API。
  • 启用 Google Kubernetes Engine API
  • 如果您要使用 Google Cloud CLI 执行此任务,请安装初始化 gcloud CLI。 如果您之前安装了 gcloud CLI,请运行 gcloud components update 以获取最新版本。

查看集群

gcloud

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

gcloud container clusters describe CLUSTER_NAME

CLUSTER_NAME 替换为您的集群名称。

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

gcloud container clusters list

控制台

如需查看集群,请转到 Google Cloud 控制台中的 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. 转到 Google Cloud 控制台中的 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 和内存请求及限制提供建议值,也可以自动更新这些值。

删除集群

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

将集群添加到舰队中

如果您的组织使用多个集群,则可以将集群添加到舰队(即 Kubernetes 集群的逻辑分组)来简化多集群管理。创建舰队可帮助您的组织将管理级别从单个集群升级到整组集群,并让您能够使用支持舰队的功能,例如多集群 IngressConfig SyncPolicy Controller

您可以使用 Google Cloud 控制台、gcloud CLI,或者以声明方式使用 Terraform 或 Config Connector 将 GKE 集群添加到舰队。

如需详细了解舰队的工作原理,请参阅舰队管理;如需了解如何创建舰队,请参阅创建舰队以简化多集群管理

后续步骤