K8S单master集群部署问题处理归总

    科技2025-03-13  21

    修复警告:

    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

    注意:版本很重要,试了几个版本,只有5.3.0-1这个能用

    下载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节点的地址

    清理命令:

     

    sudo kubeadm reset

    如果,

    $ 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)我还是个菜鸡,不只这个命令是否会带来副作用,但测试时,为解决问题,真的好用!

     

    docker system prune -a

    可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络

     

    Processed: 0.016, SQL: 8