添加 K8S 节点
部署完集群后,默认只有一个 k8s 控制节点,介绍如何添加额外的 k8s 节点
部署完集群后,整个 kubernetes 集群只有一个节点,Cloudpods 相关服务都运行在了该节点上,为了服务的高可用,我们可以继续添加节点到 kubernetes 集群。
环境准备
参考 “部署集群/环境准备” 的流程,安装好 docker 和 kubelet。
获取加入集群 token
然后在控制节点使用 ocadm 拿到加入集群的 token,在待部署节点使用 ocadm 加入集群,操作如下:
在控制节点获取加入节点的 token
$ ocadm token list | grep bootstrap
4s4meb.xvgk2bwpmbospn3s 23h 2019-07-10T15:41:10+08:00 authentication,signing The default bootstrap token generated by 'ocadm init'. system:bootstrappers:kubeadm:default-node-token
提示
如果 token 过期了,可以在管理节点使用
ocadm token create
创建新的 token 。
加入节点
加入已有 kubernetes 集群的节点有两种角色,‘controlplane’ 和 ‘node’。
controlplane 角色的节点会运行 kube-apiserver、kube-controller-manager、kube-scheduler 和 etcd,加入 controlplane 节点的好处是让 kubernetes 控制相关服务和 etcd 变为高可用。
node 角色的节点只会运行 kubelet,运行负载容器。
加入 controlplane
加入控制节点需要从已有的 kubernetes 集群下载证书,证书使用 certificate key 加密,通过以下方法获取 certificate-key
$ ocadm init phase upload-certs
[upload-certs] Storing the certificates in Secret "kubeadm-certs" in the "kube-system" Namespace
[upload-certs] Using certificate key:
afa5e18bacb3f50b424cbf815fce6d1bd916fe91b58ba467053dc6b460198c55
# 这里的 10.168.222.18 是控制节点的 ip,如果是高可用部署则为负载均衡器的 vip,请根据你的环境修改
$ ocadm join --control-plane 10.168.222.18:6443 \
--token 4s4meb.xvgk2bwpmbospn3s \
--certificate-key afa5e18bacb3f50b424cbf815fce6d1bd916fe91b58ba467053dc6b460198c55 \
--discovery-token-unsafe-skip-ca-verification
加入 node
# 这里的 10.168.222.18 是控制节点的 ip,如果是高可用部署则为负载均衡器的 vip, 请根据你的环境修改
$ ocadm join 10.168.222.18:6443 \
--token 4s4meb.xvgk2bwpmbospn3s \
--discovery-token-unsafe-skip-ca-verification
...
This node has joined the cluster:
* Certificate signing request was sent to apiserver and a response was received.
* The Kubelet was informed of the new secure connection details.
Run 'kubectl get nodes' on the control-plane to see this node join the cluster.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
最后修改 02.07.2021: feat(3.7)将云联壹云改成Cloudpods (80c4902)