为全局服务集群的工作节点扩容¶
本文将介绍离线模式下,如何手动为全局服务集群的工作节点进行扩容。 默认情况下,不建议在部署 AI 算力中心后对全局服务集群进行扩容,请在部署 AI 算力中心前做好资源规划。
Note
全局服务集群的控制节点不支持扩容。
前提条件¶
- 已经通过火种节点完成 AI 算力中心平台的部署,并且火种节点上的 kind 集群运行正常。
- 必须使用平台 Admin 权限的用户登录。
获取火种节点上 kind 集群的 kubeconfig¶
-
执行如下命令登录火种节点:
-
在火种节点上执行如下命令获取 kind 集群的
CONTAINER ID
:[root@localhost ~]# podman ps # 预期输出如下: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 220d662b1b6a docker.m.daocloud.io/kindest/node:v1.26.2 2 weeks ago Up 2 weeks 0.0.0.0:443->30443/tcp, 0.0.0.0:8081->30081/tcp, 0.0.0.0:9000-9001->32000-32001/tcp, 0.0.0.0:36674->6443/tcp my-cluster-installer-control-plane
-
执行如下命令,进入 kind 集群容器内:
{CONTAINER ID}
替换为您真实的容器 ID -
在 kind 集群容器内执行如下命令获取 kind 集群的 kubeconfig 配置信息:
待控制台输出后,复制 kind 集群的 kubeconfig 配置信息,为下一步做准备。
在火种节点上 kind 集群内创建 cluster.kubean.io
资源¶
-
使用
podman exec -it {CONTAINER ID} bash
命令进入 kind 集群容器内。 -
在 kind 集群容器内,执行如下命令,获取 kind 集群名称 :
-
复制并执行如下命令,在 kind 集群内执行,以创建
cluster.kubean.io
资源:kubectl apply -f - <<EOF apiVersion: kubean.io/v1alpha1 kind: Cluster metadata: labels: clusterName: kpanda-global-cluster name: kpanda-global-cluster spec: hostsConfRef: name: my-cluster-hosts-conf namespace: kubean-system kubeconfRef: name: my-cluster-kubeconf namespace: kubean-system varsConfRef: name: my-cluster-vars-conf namespace: kubean-system EOF
Note
spec.hostsConfRef.name
、spec.kubeconfRef.name
、spec.varsConfRef.name
中集群名称默认为my-cluster
, 需替换成上一步骤中获取的 kind 集群名称 。 -
在 kind 集群内执行如下命令,检验 cluster.kubean.io` 资源是否正常创建:
预期输出如下:
更新火种节点上的 kind 集群里的 containerd 配置¶
-
执行如下命令,登录全局服务集群的其中一个控制节点:
-
在全局服务集群控制节点上执行如下命令,将控制节点的 containerd 配置文件 config.toml 复制到火种节点上:
-
在火种节点上,从控制节点拷贝过来的 containerd 配置文件 config.toml 中选取 非安全镜像 registry 的部分 加入到 kind 集群内 config.toml
非安全镜像registry 部分示例如下:
[plugins."io.containerd.grpc.v1.cri".registry] [plugins."io.containerd.grpc.v1.cri".registry.mirrors] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."10.6.202.20"] endpoint = ["https://10.6.202.20"] [plugins."io.containerd.grpc.v1.cri".registry.configs."10.6.202.20".tls] insecure_skip_verify = true
Note
由于 kind 集群内不能直接修改 config.toml 文件,故可以先复制一份文件出来修改,再拷贝到 kind 集群,步骤如下:
-
在火种节点上执行以下命令,将文件拷贝出来
-
执行如下命令编辑 config.toml 文件
-
将修改好的文件再复制到 kind 集群,执行如下命令
{CONTAINER ID} 替换为您真实的容器 ID
-
-
在 kind 集群内执行如下命令,重启 containerd 服务
将 kind 集群接入 AI 算力中心集群列表¶
-
登录 AI 算力中心,进入容器管理,在集群列表页右侧点击 接入集群 按钮,进入接入集群页面。
-
在接入配置处,填入并编辑刚刚复制的 kind 集群的 kubeconfig 配置。
apiVersion: v1 clusters: - cluster: insecure-skip-tls-verify: true # (1)! certificate-authority-data: LS0TLSCFDFWEFEWFEWFGGEWGFWFEWGWEGFEWGEWGSDGFSDSD server: https://my-cluster-installer-control-plane:6443 # (2)! name: my-cluster-installer contexts: - context: cluster: my-cluster-installer user: kubernetes-admin name: kubernetes-admin@my-cluster-installer current-context: kubernetes-admin@my-cluster-installer kind: Config preferences: {} users:
- 跳过 tls 验证,这一行需要手动添加
- 替换为火种节点的 IP,端口 6443 替换为在节点映射的端口(你可以执行 podman ps|grep 6443 命令查看映射的端口)
-
点击 确认 按钮,完成 kind 集群的接入。
为全局服务集群添加标签¶
-
登录 AI 算力中心,进入容器管理,找到 kapnda-glabal-cluster 集群,在右侧操作列表找到 基础配置 菜单项并进入基础配置界面。
-
在基础配置页面,为全局服务集群添加的标签
kpanda.io/managed-by=my-cluster
:
Note
标签 kpanda.io/managed-by=my-cluster
中的 vaule 值为接入集群时指定的集群名称,默认为 my-cluster
,具体依据您的实际情况。
为全局服务集群添加节点¶
-
进入全局服务集群节点列表页,点击右侧的 接入节点 按钮。
-
填入待接入节点的 IP 和认证信息后点击 开始检查 ,通过节点检查后点击 下一步 。
-
在 自定义参数 处添加如下自定义参数:
-
点击 确定 等待节点添加完成。