跳转至

为全局服务集群的工作节点扩容

本文将介绍离线模式下,如何手动为全局服务集群的工作节点进行扩容,默认情况下,不建议在平台部署后对全局服务集群进行扩容,请在平台部署前做好资源规划。

Note

注意:全局服务集群的控制节点不支持扩容。

前提条件

  • 已经通过火种节点完成 DCE 平台的部署,并且火种节点上的 kind 集群运行正常。
  • 必须使用平台 admin 权限的用户登录。

获取火种节点上 kind 集群的 kubeconfig

  1. 执行如下命令登录火种节点:

    ssh root@火种节点 IP 地址
    
  2. 在火种节点上执行如下命令获取 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
    
  3. 执行如下命令,进入 kind 集群容器内:

    podman exec -it {CONTAINER ID} bash
    

    {CONTAINER ID} 替换为您真实的容器 ID

  4. 在 kind 集群容器内执行如下命令获取 kind 集群的 kubeconfig 配置信息:

    kubectl config view --minify --flatten --raw
    

待控制台输出后,复制 kind 集群的 kubeconfig 配置信息,为下一步做准备。

在火种节点上 kind 集群内创建 cluster.kubean.io 资源

  1. 使用 podman exec -it {CONTAINER ID} bash 命令进入 kind 集群容器内。

  2. 在 kind 集群容器内,执行如下命令,获取 kind 集群名称

    kubectl get clusters
    
  3. 复制并执行如下命令,在 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 集群名称

  4. 在 kind 集群内执行如下命令,检验 cluster.kubean.io` 资源是否正常创建:

    kubectl get clusters
    

    预期输出如下:

    NAME                    AGE
    kpanda-global-cluster   3s
    my-cluster              16d
    

更新火种节点上的 kind 集群里的 containerd 配置

  1. 执行如下命令,登录全局服务集群的其中一个控制节点:

    ssh root@全局服务集群控制节点 IP 地址
    
  2. 在全局服务集群控制节点上执行如下命令,将控制节点的 containerd 配置文件 config.toml 复制到火种节点上:

    scp /etc/containerd/config.toml root@{火种节点 IP}:/root
    
  3. 在火种节点上,从控制节点拷贝过来的 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. 在火种节点上执行以下命令,将文件拷贝出来

    podman cp {CONTAINER ID}:/etc/containerd/config.toml ./config.toml.kind
    

    b. 执行如下命令编辑 config.toml 文件

    vim ./config.toml.kind
    

    c. 将修改好的文件再复制到 kind 集群,执行如下命令

    podman cp ./config.toml.kind {CONTAINER ID}:/etc/containerd/config.toml
    

    {CONTAINER ID} 替换为您真实的容器 ID

  4. 在 kind 集群内执行如下命令,重启 containerd 服务

    systemctl restart containerd
    

将 kind 集群接入 DCE 集群列表

  1. 登录 DCE 管理控制台,进入容器管理,在集群列表页右侧点击 接入集群 按钮,进入接入集群页面。

  2. 在接入配置处,填入并编辑刚刚复制的 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 命令查看。

    img

  3. 点击 确认 按钮,完成 kind 集群的接入。

为全局服务集群添加标签

  1. 登录 DCE 管理控制台,进入容器管理,找到 kapnda-glabal-cluster 集群,在右侧操作列表找到 基础配置 操作按钮并进入基础配置界面。

  2. 在基础配置页面,为全局服务集群添加的标签: kpanda.io/managed-by=my-cluster ,如下图:

Note

标签 “kpanda.io/managed-by=my-cluster” 中的 vaule 值为接入集群时指定的集群名称,默认为 "my-cluster",具体依据您的实际情况。

img

为全局服务集群添加节点

  1. 进入全局服务集群节点列表页,在节点列表右侧找到 接入节点 按钮并点击进入节点配置页面。

  2. 填入待接入节点的 IP 和认证信息。

  3. 自定义参数 处添加如下自定义参数:

    download_run_once: false
    download_container: false
    download_force_cache: false
    download_localhost: false
    

    img

  4. 点击确认按钮,等待节点添加完成。

评论