直接连接
前提条件
已经安装了至少两个 KubeSphere 集群,如果尚未安装,请参阅在 Linux 上安装或者在 Kubernetes 上安装。
备注
多集群管理要求将 Kubesphere 安装在目标集群上,如果您已经有一个集群,则可以在上面部署 KubeSphere 最小安装,以便可以将其导入到多集群控制台。有关详细信息请参阅 Kubernetes 上最小化安装 KubeSphere。
直接连接
如果成员集群(以下简称 M 集群)的 kube-apiserver 地址可以在主集群(以下简称 H 集群)的任何节点上访问,则可以采用 直接连接。此方法适用于当 M 集群的 kube-apiserver 地址可以暴露给外网,或者 H 集群和 M 集群在同一专网或子网中时。
准备主集群
如果已经安装了独立的 KubeSphere,则可以通过编辑集群配置,将clusterRole
的值设置为host
。这个修改需要等几分钟以使更改生效。
选项 A - 使用 web 控制台:
使用
admin
帐户登录控制台,然后进入集群管理页面上的 CRDs,输入关键字ClusterConfiguration
,然后转到其详细信息页面,编辑ks-installer
的 YAML,方法类似于启用可插拔组件。选项 B - 使用 Kubectl:
kubectl edit cc ks-installer -n kubesphere-system
向下滚动并将clusterRole
的值设置为host
,然后点击更新(如果使用 web 控制台)以使其生效:
multicluster:
clusterRole: host
安装主集群和安装一个普通的 KubeSphere 集群没有太大差别,唯一的区别是在配置文件config-sample.yaml
中设置参数clusterRole
如下:
multicluster:
clusterRole: host
您可以使用 kubectl 来获取安装日志以验证状态。运行以下命令,稍等片刻,如果主集群已准备就绪,您将看到成功的日志返回。
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
准备成员集群
为了管理主集群中的成员集群,需要使它们之间的jwtSecret
相同。因此,您首先需要通过以下命令从主集群中获取它。
kubectl -n kubesphere-system get cm kubesphere-config -o yaml | grep -v "apiVersion" | grep jwtSecret
命令的输出可能如下所示:
jwtSecret: "gfIwilcc0WjNGKJ5DLeksf2JKfcLgTZU"
如果已经安装了独立的 KubeSphere,则可以通过编辑集群配置,将clusterRole
的值设置为member
,这个修改需要等几分钟以使更改生效。
选项 A - 使用 web 控制台:
使用
admin
帐户登录控制台,然后进入集群管理页面上的 CRDs,输入关键字ClusterConfiguration
,然后进入其详细信息页面,编辑ks-installer
的 YAML,方法类似于启用可插拔组件。选项 B - 使用 Kubectl:
kubectl edit cc ks-installer -n kubesphere-system
输入上面相应地方显示的 jwtSecret
:
authentication:
jwtSecret: gfIwilcc0WjNGKJ5DLeksf2JKfcLgTZU
向下滚动并将clusterRole
的值设置为member
,然后点击更新(如果使用 web 控制台)以使其生效:
multicluster:
clusterRole: member
安装成员集群和安装一个普通的 KubeSphere 集群没有太大差别,唯一的区别在配置文件config-sample.yaml
中设置参数jwtSecret
和clusterRole
如下:
authentication:
jwtSecret: gfIwilcc0WjNGKJ5DLeksf2JKfcLgTZU
向下滚动并将clusterRole
的值设置为member
:
multicluster:
clusterRole: member
您可以使用 kubectl 来获取安装日志以验证状态。运行以下命令,稍等片刻,如果成员集群已准备就绪,您将看到成功的日志返回。
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
导入集群
打开 H 集群仪表板,然后点击添加集群.
输入要导入的集群的基本信息,然后点击下一步.
在连接方法中, 选择直接连接到 Kubernetes 集群.
获取 KubeConfig,复制成员集群的 KubeConfig 并将其粘贴到框中。
点击导入,然后等待集群初始化完成。