导入 GKE 集群

使用此特定于提供商的操作步骤,将现有的 Google GKE 集群导入为第三方集群。除非文档中提供了特定于提供商的能力来负责该生命周期,否则外部提供商仍然负责提供商基础设施以及由提供商管理的 Kubernetes 和节点生命周期。

前提条件

  • 集群上的 Kubernetes 版本和组件满足导入公有云集群的版本要求

  • 确保集群类型为标准集群,且账户具有维护控制平面的权限。当前不支持 Autopilot clusters。

  • 镜像仓库必须支持 HTTPS 访问,并提供由公共证书颁发机构认证的有效 TLS 证书。

准备操作环境

为符合 GKE 安全标准,以下步骤必须使用 Cloud Shell 执行。

  1. 确保与 Google 的网络连通性。

  2. 进入 Kubernetes Engine 功能中的 Clusters 页面,找到要导入的集群,点击集群详情,然后选择 Connect 按钮。

  3. 在弹出的对话框中,复制用于配置 kubectl 命令行访问权限的命令,然后点击 Run in Cloud Shell 按钮。

  4. 等待 Cloud Shell 就绪,清空命令行,粘贴上一步复制的内容,并执行。

  5. 此时环境已准备就绪。后续在导入集群环境中执行的所有命令,例如 Obtaining Cluster InformationImporting Cluster 步骤中的命令,都应在 Cloud Shell 中执行。

获取集群信息

获取目标集群的 API Server 地址和 CA 证书

  1. 进入 Kubernetes Engine 功能中的 Clusters 页面,并点击进入目标集群详情页。

  2. API Server 地址可在 External endpoints 部分找到。

  3. 要获取 CA 证书,请在 Cloud Shell 中使用以下任一方法:

    方法 A:从 kubeconfig 中获取 CA 证书:

    gcloud container clusters get-credentials <cluster-name> --zone <zone>
    kubectl config view --raw -o jsonpath='{.clusters[0].cluster.certificate-authority-data}' | base64 -d

    方法 B:直接从集群中获取 CA 证书:

    gcloud container clusters describe <cluster-name> --zone <zone> --format='get(masterAuth.clusterCaCertificate)' | base64 -d

    注意:在粘贴到导入表单之前,必须先对证书进行 Base64 解码。

获取目标集群令牌

公有云集群的 KubeConfig 文件不能直接用于导入集群。

请参见如何获取集群信息?以获取目标集群令牌。

导入集群

  1. 在左侧导航栏中,点击 Clusters > Clusters

  2. 点击 Manage Cluster > Import Cluster

  3. 根据以下说明配置相关参数。

    参数描述
    镜像仓库用于存储集群所需平台组件镜像的仓库。- Platform Default:全局部署时配置的镜像仓库。- Private Repository:存放平台所需组件的预构建仓库。请输入访问镜像仓库所需的 私有镜像仓库地址端口用户名密码- Public Repository:使用互联网上的公共镜像仓库服务。使用前,请更新公共仓库云凭据以获取仓库认证权限。
    集群信息集群信息:包含目标集群令牌以及目标集群的 API Server 地址和 CA 证书。集群地址:目标集群暴露 API Server 供平台访问集群 API Server 的访问地址。CA 证书:目标集群的 CA 证书。注意:手动输入时,需要输入 Base64 解码后的证书。认证方式:目标集群的认证方式,需要使用上一步创建的具有集群管理权限token(令牌)进行认证。
  4. 点击 Check Connectivity 以验证与目标集群的网络连通性,并自动识别集群类型,识别结果会以徽标的形式显示在表单右上角。

  5. 连通性检查通过后,点击 Import 并确认。

    TIP
    • Importing 状态的集群右侧点击 Details 图标,可在弹出的 Execution Progress 对话框中查看集群执行进度(status.conditions)。
    • 集群导入成功后,您可以在集群列表中查看关键集群信息,集群状态将显示为正常,并且可以执行与集群相关的操作。

网络配置

确保 global 集群与导入集群之间的网络连通性。请参见导入集群的网络配置

导入后操作

Ingress 和存储初始化

导入集群后,如果您需要使用 Ingress 和存储相关功能,请参见Google GKE Ingress Controller 配置Google GKE 存储配置

常见问题

导入集群后,“Add Node” 按钮变灰时,如何添加节点?

不支持通过平台界面添加节点。请联系集群提供商添加节点。

导入集群时,证书管理功能支持哪些证书?

  1. Kubernetes Certificates:所有导入集群仅支持在平台证书管理界面查看 APIServer 证书信息。不支持查看其他 Kubernetes 证书,也不支持自动轮换。

  2. Platform Component Certificates:所有导入集群都可以在平台证书管理界面查看平台组件证书信息,并支持自动轮换。