问题描述
在按照一个视频的指导创建了一个控制平面,并成功在kmaster虚拟机上运行。现在他想要添加一个节点到集群中,但在执行命令时遇到了问题。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
根据错误提示,你可以在加入命令中直接选择要使用的CRI。通过添加--cri-socket
标志来指定,具体操作如下:
1. 执行kubeadm join --help
命令,查看详细信息。
2. 在加入命令中添加--cri-socket
标志,后面的字符串将是错误中显示的两个可用的套接字之一:
– unix:///var/run/containerd/containerd.sock
– unix:///var/run/cri-dockerd.sock
以下是一个示例加入命令:
sudo kubeadm join 10.0.10.118:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash> --cri-socket unix:///var/run/containerd/containerd.sock
或
sudo kubeadm join 10.0.10.118:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash> --cri-socket unix:///var/run/cri-dockerd.sock
方案2
你也可以将CRI套接字添加到kubeadm配置文件中。具体操作如下:
1. 打开kubeadm配置文件,路径为/etc/kubernetes/kubeadm.conf
。
2. 在NodeRegistration
部分中,找到criSocket
字段。
3. 将criSocket
字段的值更改为要使用的CRI套接字路径,例如unix:///var/run/containerd/containerd.sock
或unix:///var/run/cri-dockerd.sock
。
4. 保存并关闭文件。
请注意,修改配置文件后,你需要重新启动kubelet服务以使更改生效。
以上是两种解决方案,你可以根据自己的需求选择其中一种来添加节点到集群中。如果你之前的尝试没有成功,可以尝试重新安装Ubuntu 20.04并重新创建集群。
希望这些解决方案能帮助到你!