You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用kubectl切换Google Kubernetes Engine (GKE)集群并更新上下文至新项目目标集群

如何在GKE集群之间切换kubectl上下文?

没问题!在Google Kubernetes Engine (GKE)里切换kubectl的操作目标集群,核心是更新kubectl的上下文(context)——kubectl正是通过上下文来确定要连接的集群、所属项目和认证信息的。下面分通用方法和你的具体场景来一步步说明:

通用切换步骤

无论你是在Cloud Shell还是本地环境,切换GKE集群都遵循这三个核心步骤:

  • 步骤1:导入目标集群的凭证到kubeconfig
    Google Cloud的gcloud工具可以自动把目标集群的连接信息添加到你的kubeconfig文件(默认路径是~/.kube/config),执行以下命令:

    gcloud container clusters get-credentials CLUSTER_NAME --zone YOUR_CLUSTER_ZONE --project YOUR_PROJECT_ID
    

    这里需要替换CLUSTER_NAME(集群名)、YOUR_CLUSTER_ZONE(集群所在区域,比如us-central1-a)和YOUR_PROJECT_ID(项目ID)。

  • 步骤2:确认可用的上下文列表
    执行命令查看所有已配置的kubectl上下文,确认目标集群的上下文已经添加:

    kubectl config get-contexts
    

    输出里的上下文名称格式通常是gke_PROJECT_ID_ZONE_CLUSTER_NAME,比如gke_my-project-2_us-central1-a_cluster-2。

  • 步骤3:切换到目标上下文
    用以下命令切换到新集群的上下文:

    kubectl config use-context TARGET_CONTEXT_NAME
    

    替换TARGET_CONTEXT_NAME为步骤2里查到的目标上下文名称即可。


针对你的具体场景(Cloud Shell从my-project-1/cluster-1切换到my-project-2/cluster-2)

按照以下步骤操作即可:

  1. 先确认cluster-2的所在区域(如果已经知道可以跳过):
    执行命令列出新项目下的所有GKE集群,找到cluster-2的区域:
    gcloud container clusters list --project my-project-2
    
  2. 导入cluster-2的凭证:
    假设cluster-2的区域是us-central1-a,执行:
    gcloud container clusters get-credentials cluster-2 --zone us-central1-a --project my-project-2
    
  3. 切换到新上下文:
    先查看上下文列表确认名称:
    kubectl config get-contexts
    
    然后切换(替换成实际的上下文名称):
    kubectl config use-context gke_my-project-2_us-central1-a_cluster-2
    
  4. 验证切换成功:
    执行以下命令确认当前操作的是cluster-2:
    kubectl cluster-info
    
    输出会显示当前连接的集群地址,确认是cluster-2的信息即可。

小技巧:给上下文设置别名(可选)

如果经常切换集群,你可以给长上下文名设置一个简短的别名,方便后续使用:

kubectl config rename-context gke_my-project-2_us-central1-a_cluster-2 prod-cluster

之后切换就可以直接用:

kubectl config use-context prod-cluster

内容的提问来源于stack exchange,提问作者Luke Schlangen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 14:42:38