centos

centos k8s安装过程中常见问题

小樊
49
2025-08-12 23:08:19
栏目: 智能运维

CentOS安装K8s常见问题及解决方法如下:

  1. 系统要求不满足

    • 需CentOS 7.6+/8.x,至少2核CPU、2GB内存、40GB磁盘空间。
    • 解决:检查系统版本及资源,通过uname -r查看内核版本(需≥3.10)。
  2. 防火墙/SELinux未关闭

    • 未关闭会导致组件通信失败。
    • 解决:
      systemctl stop firewalld && systemctl disable firewalld  
      setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config  
      
  3. Docker配置错误

    • 需配置overlay2存储驱动、systemd cgroup驱动。
    • 解决:修改/etc/docker/daemon.json,添加:
      {  
        "storage-driver": "overlay2",  
        "exec-opts": ["native.cgroupdriver=systemd"]  
      }  
      
      然后重启Docker。
  4. 内核参数未正确设置

    • 需开启IP转发和桥接流量。
    • 解决:执行以下命令并重启生效:
      cat <<EOF > /etc/sysctl.d/k8s.conf  
      net.bridge.bridge-nf-call-ip6tables = 1  
      net.bridge.bridge-nf-call-iptables = 1  
      net.ipv4.ip_forward = 1  
      EOF  
      sysctl -p  
      
  5. 节点无法加入集群

    • 原因:网络插件未安装、防火墙拦截、证书错误。
    • 解决:
      • 检查网络插件(如Calico)是否安装:kubectl get pods -n kube-system
      • 确保节点间端口(如6443、10250)开放。
      • 查看kubelet日志:journalctl -u kubelet
  6. 网络插件安装失败

    • 常见于Calico/Flannel的MountVolume错误。
    • 解决:
      • 检查内核版本是否支持(如Calico需≥3.10)。
      • 确保节点已正确配置网络(如IP可达)。
  7. 版本不兼容问题

    • kubeadm、kubelet、kubectl版本需一致,且与CentOS兼容。
    • 解决:通过yum list --showduplicates kubelet指定版本安装,例如:
      yum install -y kubelet-1.20.9 kubeadm-1.20.9 kubectl-1.20.9  
      
  8. 代理配置问题

    • 内网环境需配置Docker和K8s代理。
    • 解决:设置环境变量http_proxy/https_proxy,并添加no_proxy排除集群节点IP。
  9. 磁盘空间不足

    • 安装过程中需预留足够空间,尤其是/var/lib/docker/etc/kubernetes
    • 解决:清理无用文件或扩容磁盘。

参考来源

0
看了该问题的人还看了