管理服务器角色

默认情况下,启动 RKE2 会运行所有控制平面组件,包括 apiserver、controller-manager、scheduler 和 etcd。可以禁用特定组件,以便将控制平面和 etcd 角色分配到不同的节点。

专用 etcd 节点

要创建仅具有 etcd 角色的服务器,请部署一个禁用所有控制平面组件的配置:

# /etc/rancher/rke2/config.yaml
disable-apiserver: true
disable-controller-manager: true
disable-scheduler: true

第一个节点将启动 etcd,并等待其他 etcd 和/或 control-plane 节点加入。在您加入启用 control-plane 组件的其他服务器之前,集群将无法使用。

专用 control-plane 节点

专用 control-plane 节点不能是集群中的第一个服务器;在加入专用 control-plane 节点之前,必须有一个现有的 etcd 角色节点。

要创建仅具有 control-plane 角色的服务器,请部署一个禁用 etcd 的配置:

# /etc/rancher/rke2/config.yaml
server: https://<etcd-only-node>:9345
disable-etcd: true

创建专用服务器节点后,所选角色将在 kubectl get node 中可见:

$ kubectl get nodes
NAME           STATUS   ROLES                       AGE     VERSION
rke2-server-1   Ready    etcd                        5h39m   v1.26.4+rke2r1
rke2-server-2   Ready    control-plane,master        5h39m   v1.26.4+rke2r1

向现有服务器添加角色

可以通过重新启动 RKE2 并去除禁用标志,向现有专用节点添加角色。例如,如果您想向专用 control-plane 节点添加 etcd 角色,可以从配置文件中去除 disable-apiserver disable-controller-manager disable-scheduler 行,然后重新启动服务。