< img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=3131724&fmt=gif" />

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

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

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

Prerequisites

  • 您需要在主集群中具有 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. Log in to the KubeSphere web console of the host cluster with a user having the platform-admin role.

  2. 点击集群管理

  3. On the Cluster Management page, click Add Cluster.

  4. On the Basic Information tab, set the name, tags, provider, and description for the member cluster, then click Next.

    Parameter Description

    Name

    The name of the member cluster. The name can only contain lowercase letters, numbers, and hyphens (-), must start and end with a lowercase letter or number, and can be up to 63 characters long.

    Tag

    Tags for the member cluster. Select tags from the dropdown list.

    Provider

    The provider of the member cluster. You can select the provider from the dropdown list or enter it manually.

    Description

    Description of the member cluster. The description can contain any characters and can be up to 256 characters long.

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

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

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

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

Receive the latest news, articles and updates from KubeSphere


Thanks for the feedback. If you have a specific question about how to use KubeSphere, ask it on Slack. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.