操作失误情况:由于在master初始化集群之前没有配置好"/etc/sysconfig/kubelet",即没有配置cgroup driver为systemd出现的错误。
# 配置docker文件
[root@master ~]# cat /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://kn0t2bca.mirror.aliyuncs.com"]
}
# 配置k8s文件
# 编辑/etc/sysconfig/kubelet,添加下面的配置
KUBELET_CGROUP_ARGS="--cgroup-driver=systemd"
KUBE_PROXY_MODE="ipvs" # 若是没有指定就会自动降级别iptable
正常来说要做好上面这些配置,我们才初始化集群,否则会出现"The connection to the server 192.168.29.137:6443 was refused - did you specify the right host or port?"
journalctl -f -u kubelet 查看日志发现,报错如下:
kubelet cgroup driver: “cgroupfs” is different from docker cgroup driver: “systemd”
解决办法:
这个里要修改3个配置文件为systemd
1.vim /etc/docker/daemon.json
“exec-opts”: [“native.cgroupdriver=systemd”]
2.vim /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
在KUBELET_KUBECONFIG_ARGS 后面追加 --cgroup-driver=systemd
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --cgroup-driver=systemd"
3.vim /var/lib/kubelet/kubeadm-flags.env
KUBELET_KUBEADM_ARGS="--cgroup-driver=systemd --network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.1"
然后重启kubelet
systemctl daemon-reload
systemctl restart kubelet
我们在使用命令的时候就不会报"The connection to the server 192.168.29.137:6443 was refused - did you specify the right host or port?"的错误了。