为全局服务集群的工作节点扩容¶
本文将介绍离线模式下,如何手动为全局服务集群的工作节点进行扩容,默认情况下,不建议在平台部署后对全局服务集群进行扩容,请在平台部署前做好资源规划。
Note
注意:全局服务集群的控制节点不支持扩容。
前提条件¶
- 已经通过火种节点完成 DCE 平台的部署,并且火种节点上的 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 集群,步骤如下:
a. 在火种节点上执行以下命令,将文件拷贝出来
b. 执行如下命令编辑 config.toml 文件
c. 将修改好的文件再复制到 kind 集群,执行如下命令
{CONTAINER ID} 替换为您真实的容器 ID
-
在 kind 集群内执行如下命令,重启 containerd 服务
将 kind 集群接入 DCE 集群列表¶
-
登录 DCE 管理控制台,进入容器管理,在集群列表页右侧点击 接入集群 按钮,进入接入集群页面。
-
在接入配置处,填入并编辑刚刚复制的 kind 集群的 kubeconfig 配置。需要配置参数如下:
- 集群名称 :接入集群的名称,默认为 my-cluster 。
- insecure-skip-tls-verify: true :用以跳过 tls 验证,需要手动添加。
- server :将默认的
https://my-cluster-installer-control-plane:6443
参数中的 IP 替换为火种节点的 IP; 6443 替换为 6443 端口在节点映射的端口。可执行 podman ps | grep 6443 命令查看。
-
点击 确认 按钮,完成 kind 集群的接入。
为全局服务集群添加标签¶
-
登录 DCE 管理控制台,进入容器管理,找到 kapnda-glabal-cluster 集群,在右侧操作列表找到 基础配置 操作按钮并进入基础配置界面。
-
在基础配置页面,为全局服务集群添加的标签: kpanda.io/managed-by=my-cluster ,如下图:
Note
标签 “kpanda.io/managed-by=my-cluster” 中的 vaule 值为接入集群时指定的集群名称,默认为 "my-cluster",具体依据您的实际情况。
为全局服务集群添加节点¶
-
进入全局服务集群节点列表页,在节点列表右侧找到 接入节点 按钮并点击进入节点配置页面。
-
填入待接入节点的 IP 和认证信息。
-
在 自定义参数 处添加如下自定义参数:
-
点击确认按钮,等待节点添加完成。