通过代理连接添加成员集群
本节介绍如何通过代理连接添加成员集群。
如果主集群无法访问成员集群的 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 中。
在主集群节点,执行以下命令打开 kubesphere-config 配置字典。
kubectl -n kubesphere-system edit cm kubesphere-config
搜索
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。
添加成员集群
以具有 platform-admin 角色的用户登录主集群的 Web 控制台。
点击集群管理。
在集群管理页面,点击添加集群。
在基本信息页签,设置成员集群的名称、标签、提供商和描述信息,然后点击下一步。
参数 描述 名称
成员集群的名称。名称只能包含小写字母、数字和连字符(-),必须以小写字母或数字开头和结尾,最长 63 个字符。
标签
成员集群的标签。您可以在下拉列表中选择标签,也可以手动输入标签。
提供商
成员集群的提供商。您可以在下拉列表中选择提供商,也可以手动输入提供商。
描述
成员集群的描述信息。描述可包含任意字符,最长 256 个字符。
在高级设置下,设置集群的用途标识。
在连接设置页签,将连接方式设置为代理连接,点击下一步。
在集群配置页签,设置集群配置,然后点击创建。
成员集群添加完成后将显示在集群管理页面的集群列表中。
反馈
这篇文章对您有帮助吗?
通过邮件接收 KubeSphere 最新的技术博客与产品更新的通知
感谢您的反馈。如果您有关于如何使用 KubeSphere 的具体问题,请在 Slack 上提问。如果您想报告问题或提出改进建议,请在 GitHub 存储库中打开问题。