文章目录
一、设置主集群
如果已经安装了独立的 KubeSphere 集群,可以编辑集群配置,将 clusterRole
的值设置为 host
。
方式一:使用 Web 控制台
使用 admin
帐户登录控制台,然后进入集群管理 页面上的定制资源定义 ,输入关键字 ClusterConfiguration
,然后转到其详情页面。编辑 ks-installer
的 YAML 文件。
方式二:使用 Kubectl命令
bash
kubectl edit cc ks-installer -n kubesphere-system
yaml
multicluster:
clusterRole: host
hostClusterName: kubesphere-master
PS:
hostClusterName: kubesphere-master
集群名称需要保持一致❗❗❗❗❗❗
bash
[root@kubesphere-master ~]# kubectl edit cc ks-installer -n kubesphere-system
clusterconfiguration.installer.kubesphere.io/ks-installer edited
在 kubectl 中执行以下命令查看安装过程:
bash
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f
二、在主集群中设置代理服务地址
- 执行以下命令来检查服务。
bash
kubectl -n kubesphere-system get svc
bash\
[root@kubesphere-master ~]# kubectl -n kubesphere-system get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ks-apiserver ClusterIP 10.233.57.31 <none> 80/TCP 126m
ks-console NodePort 10.233.47.149 <none> 80:30880/TCP 126m
ks-controller-manager ClusterIP 10.233.42.244 <none> 443/TCP 126m
minio ClusterIP 10.233.16.144 <none> 9000/TCP 78m
tower LoadBalancer 10.233.7.51 <pending> 8080:31899/TCP 4m10s
由于 EXTERNAL-IP
处于 pending
状态,需要手动设置代理地址。例如,如果公有 IP 地址为 139.198.120.120
,则需要将公网 IP 的端口,如30721
转发到 NodeIP
:NodePort
。
将 proxyPublishAddress
的值添加到 ks-installer
的配置文件中,并按如下所示输入公有 IP 地址(此处示例 139.198.120.120
)和端口号。
方式一:使用 Web 控制台
使用 admin
帐户登录控制台,然后进入集群管理 页面上的定制资源定义 ,输入关键字 ClusterConfiguration
,然后转到其详情页面。编辑 ks-installer
的 YAML 文件。
方式二:使用 Kubectl命令
bash
[root@kubesphere-master ~]# kubectl -n kubesphere-system edit clusterconfiguration ks-installer
clusterconfiguration.installer.kubesphere.io/ks-installer edited
在 kubectl 中执行以下命令查看安装过程:
bash
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f
三、登录控制台验证
发现,此时该KubeSphere集群已成为主集群。
四、准备成员集群
为了通过主集群 管理成员集群,需要使它们之间的 jwtSecret
相同。因此,首先需要在主集群中执行以下命令来获取它。
bash
kubectl -n kubesphere-system get cm kubesphere-config -o yaml | grep -v "apiVersion" | grep jwtSecret
命令输出结果如下所示:
bash
jwtSecret: "93ObvPBzq1F1EEUZEydp6eJK8Cn0TqeZ"
如果已经安装了独立的 KubeSphere 集群,可以编辑集群配置,将 clusterRole
的值设置为 member
。
方式一:使用 Web 控制台
使用 admin
帐户登录控制台,然后进入集群管理 页面上的定制资源定义 ,输入关键字 ClusterConfiguration
,然后转到其详情页面。编辑 ks-installer
的 YAML 文件。
方式二:使用 Kubectl命令
bash
kubectl edit cc ks-installer -n kubesphere-system
- 在
ks-installer
的 YAML 文件中对应输入上面所示的jwtSecret
:
yaml
authentication:
jwtSecret: 93ObvPBzq1F1EEUZEydp6eJK8Cn0TqeZ
- 向下滚动并将
clusterRole
的值设置为member
,然后点击确定(如果使用 Web 控制台)使其生效:
yaml
multicluster:
clusterRole: member
bash
# kubectl edit cc ks-installer -n kubesphere-system
clusterconfiguration.installer.kubesphere.io/ks-installer edited
在 kubectl 中执行以下命令查看安装过程:
bash
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f
可以使用 kubectl 来获取安装日志以验证状态。运行以下命令,稍等片刻,如果已准备就绪,您将看到成功的日志返回。
五、导入成员集群💯
以
admin
身份登录 KubeSphere 控制台,转到集群管理 页面点击添加集群。
在导入集群 页面,输入要导入的集群的基本信息。您也可以点击右上角的编辑模式 以 YAML 格式查看并编辑基本信息。编辑完成后,点击下一步。
✨✨✨✨在连接方式 ,选择直接连接 Kubernetes 集群 ,复制 kubeconfig 内容并粘贴至文本框。也可以点击右上角的编辑模式以 YAML 格式编辑的 kubeconfig。🎉🎉🎉
将server的值由
https://lb.kubesphere.local:6443
,变更为https://172.31.38.35:6443
(PS:获取 Kubeconfig)
点击创建,然后等待集群初始化完成。
六、参考资料
🟢 https://kubesphere.io/zh/docs/v3.4/multicluster-management/enable-multicluster/retrieve-kubeconfig/