修复警告:
1.[WARNING Firewalld]: firewalld is active, please ensure ports [6443 10250] are open or your cluster may not function correctly
答:systemctl stop firewalld.service
2.[WARNING Service-Docker]: docker service is not enabled, please run 'systemctl enable docker.service'
答:systemctl enable docker.service
3.[WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/
答:
官方文档表示,更改设置,令容器运行时和kubelet使用systemd作为cgroup驱动,以此使系统更为稳定。 请注意在docker下设置native.cgroupdriver=systemd选项。
两种解决方式:
一、编辑docker配置文件/etc/docker/daemon.json
1
2
3
"exec-opts": ["native.cgroupdriver=systemd"]
systemctl daemon-reload
systemctl restart docker
二、编辑/usr/lib/systemd/system/docker.service
1
2
3
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --exec-opt native.cgroupdriver=systemd
systemctl daemon-reload
systemctl restart docker
命令:
vi /usr/lib/systemd/system/docker.service
--exec-opt native.cgroupdriver=systemd(追加)
设置完成后通过docker info命令可以看到Cgroup Driver为systemd
1
docker info | grep Cgroup
4.[WARNING FileExisting-tc]: tc not found in system path
解决办法:
无法用yum安装,yum上有版本,却一直加载不下来。
可以用yum安装,yum服务器也是此版本:
yum命令:yum install tc -y
下载rpm包:
http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/iproute-tc-5.3.0-1.el8.x86_64.rpm
本地安装:
yum localinstall -y iproute-tc-5.3.0-1.el8.x86_64.rpm
5.[WARNING Hostname]: hostname "master" could not be reached
解决方法:见6
6.[WARNING Hostname]: hostname "master": lookup master on [fe80::1%ens33]:53: read udp [fe80::e0c:1711:9797:f6c7%ens33]:56921->[fe80::1%ens33]:53: i/o timeout error execution phase preflight: [preflight] Some fatal errors occurred:
解决办法:
命令更改主机名
hostnamectl set-hostname k8s更改/etc/hostname
echo k8s > /etc/hostname修改示例
cat >> /etc/hosts << EOF 192.168.100.4 master 192.168.100.5 node1 192.168.100.6 node2 EOF
此处ip为你配的master节点与node节点的地址
清理命令:
如果,
$ kubeadm init \ --apiserver-advertise-address=192.168.44.146 \ --image-repository registry.aliyuncs.com/google_containers \ --kubernetes-version v1.18.0 \ --service-cidr=10.96.0.0/12 \ --pod-network-cidr=10.244.0.0/16
这步出问题,这步是最容易出问题的。master死活启动不起来,可以使用该命令。
慎用,测试没啥,坑不死你(k8s)我还是个菜鸡,不只这个命令是否会带来副作用,但测试时,为解决问题,真的好用!
可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络