导入 Alibaba Cloud ACK 集群

使用此特定于提供方的操作步骤,将现有的 Alibaba Cloud ACK 托管集群或专有集群导入为第三方集群。除非文档中提供了特定于提供方的能力来实现相应生命周期管理,否则外部提供方仍负责提供方基础设施以及提供方托管的 Kubernetes 和节点生命周期。

TIP

有关提供方集群类型的详细信息,请参阅提供方指南

前提条件

获取镜像仓库地址

  • 如需使用全局集群部署中的平台部署镜像仓库,请在全局集群的控制节点上执行以下命令以获取地址:

    if [ "$(kubectl get productbase -o jsonpath='{.items[].spec.registry.preferPlatformURL}')" = 'false' ]; then
        REGISTRY=$(kubectl get cm -n kube-public global-info -o jsonpath='{.data.registryAddress}')
    else
        REGISTRY=$(kubectl get cm -n kube-public global-info -o jsonpath='{.data.platformURL}' | awk -F \// '{print $NF}')
    fi
    echo "Image registry address is: $REGISTRY"
  • 如需使用外部镜像仓库,请手动设置 REGISTRY 变量。

    REGISTRY=<external image registry address>  # Valid examples: registry.example.cn:60080 or 192.168.134.43
    echo "Image registry address is: $REGISTRY"

判断镜像仓库是否需要额外配置

  1. 执行以下命令,判断指定镜像仓库是否支持 HTTPS 访问,并且是否使用由受信任 CA 机构签发的证书:

    REGISTRY=<image registry address obtained from the "Get Image Registry Address" section>
    
    if curl -s -o /dev/null --retry 3 --retry-delay 5 -- "https://${REGISTRY}/v2/"; then
        echo 'Test passed: The image registry uses certificates issued by trusted CA authorities. You do not need to execute the content in the "Trust Insecure Image Registry" section.'
    else
        echo 'Test failed: The image registry does not support HTTPS or the certificate is not trusted. See the "Trust Insecure Image Registry" section for configuration.'
    fi
  2. 如果测试失败,请参阅如何信任不安全的镜像仓库?

获取 KubeConfig

  1. 登录 Alibaba Cloud 容器服务管理平台。

  2. 在控制台左侧导航栏中,单击 Clusters

  3. Cluster List 页面中,单击目标集群名称,或单击目标集群右侧 Actions 列下的 Details

  4. Cluster Information 页面中,单击 Connection Information 选项卡,然后单击 Generate Temporary KubeConfig

  5. Temporary KubeConfig 对话框中,设置临时凭证的有效期以及访问集群的方式(包括公网访问和内网访问)。

  6. 单击 Generate Temporary KubeConfig,然后单击 Copy 复制内容,并将其保存到本地计算机上的 KubeConfig 文件中。

  7. 集群成功导入后,您可以吊销临时凭证。

导入集群

  1. 在左侧导航栏中,单击 Cluster Management > Clusters

  2. 单击 Import Cluster

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

    参数描述
    Image Registry存储集群所需平台组件镜像的仓库。- Platform Default:全局集群部署期间配置的镜像仓库。- Private Registry:预置的、用于存储平台所需组件镜像的仓库。您需要输入访问镜像仓库所需的私有镜像仓库地址端口用户名密码- Public Registry:使用互联网上的公共镜像仓库服务。使用前,请更新公共仓库云凭证,以获取仓库认证权限。
    Cluster Information提示:可以手动填写,也可以上传 KubeConfig 文件,由平台自动解析并填充。Parse KubeConfig File:上传获取到的 KubeConfig 文件后,平台将自动解析并填充 Cluster Information。您可以修改自动填充的信息。Cluster Address:集群对外暴露的 API Server 访问地址,用于平台访问集群的 API Server。CA Certificate:集群的 CA 证书。注意:手动输入时,需要输入 Base64 解码后的证书。Authentication Method:访问集群的认证方式。您需要使用具有集群管理权限token 或**证书认证(client certificate 和 key)**进行认证。
  4. 单击 Check Connectivity,检查与待导入集群之间的网络连通性,并自动识别待导入集群的类型。集群类型将显示为表单右上角的徽标。

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

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

网络配置

确保全局集群与待导入集群之间的网络连通性。请参阅导入集群的网络配置

FAQ

如何处理 Alibaba Cloud 监控与平台监控组件之间的端口冲突?

当 Alibaba Cloud 内置监控与平台监控组件同时存在时,会发生端口冲突。建议卸载 Alibaba Cloud 监控,仅保留平台监控。

如何为 Alibaba Cloud 集群使用公网访问?

如果 Alibaba Cloud 集群使用公网访问,您可以在 Alibaba Cloud 上绑定一个公网 IP。

导入集群后,添加节点按钮变为灰色。如何添加节点?

Alibaba Cloud ACK 托管集群ACK 专有集群都不支持通过平台界面添加节点。请在提供方后台添加节点,或联系集群提供方。

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

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

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

此特定于提供方的导入路径有哪些限制?

  • Alibaba Cloud ACK 托管集群不支持获取审计数据。

  • Alibaba Cloud ACK 托管集群不支持 ETCD、Scheduler、Controller Manager 相关监控信息,但支持部分 APIServer 监控图表。

  • Alibaba Cloud ACK 托管集群ACK 专有集群都不支持获取除 Kubernetes APIServer 证书之外的集群证书相关信息。