通过代理连接添加成员集群

本节介绍如何通过代理连接添加成员集群。

如果主集群无法访问成员集群的 Kubernetes API 服务,您可以设置成员集群连接到主集群对外暴露的 tower 服务从而添加成员集群。

前提条件

  • 您需要在主集群中具有 platform-admin 角色。

  • KubeSphere 平台需要安装并启用 KubeSphere 多集群代理连接扩展组件。

  • 成员集群所有节点必须能访问主集群 tower 服务的外部访问地址。取决于您的网络环境,您可能需要配置防火墙和流量转发规则。

设置代理服务地址

在主集群安装“KubeSphere 多集群代理连接”扩展组件后,将在系统项目 kubesphere-system 中自动创建一个名为 tower 的服务。

集群中有可用的 LoadBalancer

如果主集群中有可用的 LoadBalancer 插件,在主集群节点执行以下命令,可以看到 tower 服务有相应的 EXTERNAL-IP 地址。该地址将由 KubeSphere 自动获取并配置代理服务地址,这意味着您可以跳过设置代理服务地址这一步。

执行以下命令确认是否有 LoadBalancer 插件。

kubectl -n kubesphere-system get svc

命令输出结果可能如下所示:

NAME       TYPE            CLUSTER-IP      EXTERNAL-IP     PORT(S)              AGE
tower      LoadBalancer    10.233.63.191   139.198.110.23  8080:30721/TCP       16h
说明

主流公有云厂商一般会提供 LoadBalancer 解决方案,并且负载均衡器可以自动分配外部 IP。如果您的集群运行在本地环境中,尤其是在裸机环境中,可以使用 OpenELB 作为负载均衡器解决方案。

集群中没有可用的 LoadBalancer

若主集群中没有可用的 LoadBalancer,执行 kubectl -n kubesphere-system get svc 命令后,输出结果可能如下所示。

NAME       TYPE            CLUSTER-IP      EXTERNAL-IP     PORT(S)              AGE
tower      LoadBalancer    10.233.63.191   <pending>       8080:30721/TCP       16h

由于 EXTERNAL-IP 处于 pending 状态,您需要手动设置代理地址,将 proxyPublishAddress 的值添加到 kubesphere-config ConfigMap 中。

  1. 在主集群节点,执行以下命令打开 kubesphere-config 配置字典。

    kubectl -n kubesphere-system edit cm kubesphere-config
  2. 搜索 multicluster 并添加新行,输入 proxyPublishAddress 来定义 tower 服务的外部 IP 地址,以便访问 Tower。

    multicluster:
      clusterRole: host
      proxyPublishAddress: {公有 IP 地址}:{Port} # Add this line to set the address to access tower
    说明

    您可能需要配置端口转发规则,例如,将公有 IP:Port 转发到 NodeIP:NodePort。

添加成员集群

  1. 以具有 platform-admin 角色的用户登录主集群的 Web 控制台。

  2. 点击集群管理

  3. 集群管理页面,点击添加集群

  4. 基本信息页签,设置成员集群的名称、标签、提供商和描述信息,然后点击下一步

    参数描述

    名称

    成员集群的名称。名称只能包含小写字母、数字和连字符(-),必须以小写字母或数字开头和结尾,最长 63 个字符。

    标签

    成员集群的标签。您可以在下拉列表中选择标签,也可以手动输入标签。

    提供商

    成员集群的提供商。您可以在下拉列表中选择提供商,也可以手动输入提供商。

    描述

    成员集群的描述信息。描述可包含任意字符,最长 256 个字符。

    高级设置下,设置集群的用途标识。

  5. 连接设置页签,将连接方式设置为代理连接,点击下一步

  6. 集群配置页签,设置集群配置,然后点击创建

    成员集群添加完成后将显示在集群管理页面的集群列表中。

通过邮件接收 KubeSphere 最新的技术博客与产品更新的通知


感谢您的反馈。如果您有关于如何使用 KubeSphere 的具体问题,请在 Slack 上提问。如果您想报告问题或提出改进建议,请在 GitHub 存储库中打开问题。