最新更新:

    直接连接

    如果主集群的任何节点都能访问的 kube-apiserver 地址,您可以采用直接连接。当成员集群的 kube-apiserver 地址可以暴露给外网,或者主集群和成员集群在同一私有网络或子网中时,此方法均适用。

    要通过直接连接使用多集群功能,您必须拥有至少两个集群,分别用作主集群和成员集群。您可以在安装 Kube AI Hub 之前或者之后将一个集群指定为主集群或成员集群。有关安装 Kube AI Hub 的更多信息,请参考在 Linux 上安装在 Kubernetes 上安装

    准备主集群

    主集群为您提供中央控制平面,并且您只能指定一个主集群。

    如果已经安装了独立的 Kube AI Hub 集群,您可以编辑集群配置,将 clusterRole 的值设置为 host

    • 选项 A - 使用 Web 控制台:

      使用 admin 帐户登录控制台,然后进入集群管理页面上的定制资源定义,输入关键字 ClusterConfiguration,然后转到其详情页面。编辑 ks-installer 的 YAML 文件,方法类似于启用可插拔组件

    • 选项 B - 使用 Kubectl:

      kubectl edit cc ks-installer -n kubesphere-system
      

    ks-installer 的 YAML 文件中,搜寻到 multicluster,将 clusterRole 的值设置为 host,然后点击确定(如果使用 Web 控制台)使其生效:

    multicluster:
      clusterRole: host
    

    要设置主集群名称,请在 ks-installer 的 YAML 文件中的 multicluster.clusterRole 下添加 hostClusterName 字段:

    multicluster:
      clusterRole: host
      hostClusterName: <主集群名称>
    

    备注

    • 建议您在准备主集群的同时设置主集群名称。若您的主集群已在运行并且已经部署过资源,不建议您再去设置主集群名称。
    • 主集群名称只能包含小写字母、数字、连字符(-)或者半角句号(.),必须以小写字母或数字开头和结尾。

    您需要稍等片刻待该更改生效。

    在 Linux 上或者在现有 Kubernetes 集群上安装 Kube AI Hub 之前,您可以定义一个主集群。如果您想在 Linux 上安装 Kube AI Hub,需要使用 config-sample.yaml 文件。如果您想在现有 Kubernetes 集群上安装 Kube AI Hub,需要使用两个 YAML 文件,其中一个是 cluster-configuration.yaml

    要设置一个主集群,请在安装 Kube AI Hub 之前,将 config-sample.yamlcluster-configuration.yaml 文件中对应的 clusterRole 的值修改为 host

    multicluster:
      clusterRole: host
    

    要设置主集群名称,请在 config-sample.yamlcluster-configuration.yaml 文件中的 multicluster.clusterRole 下添加 hostClusterName 字段:

    multicluster:
      clusterRole: host
      hostClusterName: <主集群名称>
    

    备注

    • 主集群名称只能包含小写字母、数字、连字符(-)或者半角句号(.),必须以小写字母或数字开头和结尾。

    信息

    如果您在单节点集群上安装 Kube AI Hub (All-in-One),则不需要创建 config-sample.yaml 文件。这种情况下,您可以在安装 Kube AI Hub 之后设置主集群。

    您可以使用 kubectl 来获取安装日志以验证状态。运行以下命令,稍等片刻,如果主集群已准备就绪,您将看到成功的日志返回。

    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
    

    准备成员集群

    为了通过主集群管理,您需要使它们之间的 jwtSecret 相同。因此,您首先需要在主集群中执行以下命令来获取它。

    kubectl -n kubesphere-system get cm kubesphere-config -o yaml | grep -v "apiVersion" | grep jwtSecret
    

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

    jwtSecret: "gfIwilcc0WjNGKJ5DLeksf2JKfcLgTZU"
    

    如果已经安装了独立的 Kube AI Hub 集群,您可以编辑集群配置,将 clusterRole 的值设置为 member

    • 选项 A - 使用 Web 控制台:

      使用 admin 帐户登录控制台,然后进入集群管理页面上的定制资源定义,输入关键字 ClusterConfiguration,然后转到其详情页面。编辑 ks-installer 的 YAML 文件,方法类似于启用可插拔组件

    • 选项 B - 使用 Kubectl:

      kubectl edit cc ks-installer -n kubesphere-system
      

    ks-installer 的 YAML 文件中对应输入上面所示的 jwtSecret

    authentication:
      jwtSecret: gfIwilcc0WjNGKJ5DLeksf2JKfcLgTZU
    

    向下滚动并将 clusterRole 的值设置为 member,然后点击确定(如果使用 Web 控制台)使其生效:

    multicluster:
      clusterRole: member
    

    您需要稍等片刻待该更改生效。

    在 Linux 上或者在现有 Kubernetes 集群上安装 Kube AI Hub 之前,您可以定义。如果您想在 Linux 上安装 Kube AI Hub,需要使用 config-sample.yaml 文件。如果您想在现有 Kubernetes 集群上安装 Kube AI Hub,需要使用两个 YAML 文件,其中一个是 cluster-configuration.yaml

    要设置,请在安装 Kube AI Hub 之前,在 config-sample.yamlcluster-configuration.yaml 文件中输入上方 jwtSecret 所对应的值,并将 clusterRole 的值修改为 member

    authentication:
      jwtSecret: gfIwilcc0WjNGKJ5DLeksf2JKfcLgTZU
    
    multicluster:
      clusterRole: member
    

    备注

    如果您在单节点集群上安装 Kube AI Hub (All-in-One),则不需要创建 config-sample.yaml 文件。这种情况下,您可以在安装 Kube AI Hub 之后设置。

    您可以使用 kubectl 来获取安装日志以验证状态。运行以下命令,稍等片刻,如果已准备就绪,您将看到成功的日志返回。

    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
    

    导入成员集群

    1. admin 身份登录 Kube AI Hub 控制台,转到集群管理页面点击添加集群

    2. 导入集群页面,输入要导入的集群的基本信息。您也可以点击右上角的编辑模式以 YAML 格式查看并编辑基本信息。编辑完成后,点击下一步

    3. 连接方式,选择直接连接 Kubernetes 集群,复制 kubeconfig 内容并粘贴至文本框。您也可以点击右上角的编辑模式以 YAML 格式编辑的 kubeconfig。

      备注

      请确保 server 地址为该 member 集群可访问的 kube-apiserver 地址(主集群的任何节点都能访问)。
    4. 点击创建,然后等待集群初始化完成。