本页面介绍如何在 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 页面。
如需详细了解某一集群,请从列表中选择该集群。
为 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-cluster
在 us-central1-a
中运行。要向集群额外添加两个可用区,请运行以下命令:
gcloud container clusters update example-cluster \
--zone us-central1-a
--node-locations us-central1-a,us-central1-b,us-central1-c
再举一例,example-cluster
在 us-central1-a
、us-central1-b
、us-central1-c
中运行。如果您只希望集群在 us-central1-a
和 us-central1-b
中运行,请运行以下命令:
gcloud container clusters update example-cluster \
--zone us-central1-a \
--node-locations us-central1-a,us-central1-b
控制台
要在现有集群中添加地区或从现有集群中移除地区,请执行以下步骤:
转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。
在要修改的集群旁边,点击 more_vert 操作,然后点击 edit 修改。
在“详细信息”标签页下的默认节点可用区字段中,点击 edit 修改节点池 (Edit node pools)。
选择所需的可用区并保存更改。
更改区域级集群的地区
目前,只能使用 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_ZONE
和COMPUTE_ZONE1,[...]
:在其中创建节点的可用区控制层面区域。可用区必须与集群的控制层面位于同一COMPUTE_REGION
,由--region
标志指定。
例如,example-cluster
在 us-central1-a
和 us-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-cluster
在 us-central1-a
、us-central1-b
、us-central1-c
中运行。如果您只希望集群在 us-central1-a
和 us-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 集群的逻辑分组)来简化多集群管理。创建舰队可帮助您的组织将管理级别从单个集群升级到整组集群,并让您能够使用支持舰队的功能,例如多集群 Ingress、Config Sync 和 Policy Controller。
您可以使用 Google Cloud 控制台、gcloud CLI,或者以声明方式使用 Terraform 或 Config Connector 将 GKE 集群添加到舰队。
如需详细了解舰队的工作原理,请参阅舰队管理;如需了解如何创建舰队,请参阅创建舰队以简化多集群管理。