首页主机资讯CentOS系统Kubernetes安装常见问题

CentOS系统Kubernetes安装常见问题

时间2026-01-14 23:12:04发布访客分类主机资讯浏览1353
导读:CentOS 上安装 Kubernetes 的常见问题与排查要点 一 环境前置检查与系统配置 资源与系统基线:建议单节点至少CPU≥2核、内存≥2GB、磁盘≥20GB;执行yum update -y更新系统并安装常用工具(如 bash-c...

CentOS 上安装 Kubernetes 的常见问题与排查要点

一 环境前置检查与系统配置

  • 资源与系统基线:建议单节点至少CPU≥2核、内存≥2GB、磁盘≥20GB;执行yum update -y更新系统并安装常用工具(如 bash-completion、wget、vim、net-tools、gcc)。
  • 关闭 Swap:Kubelet 默认要求关闭 Swap。临时执行swapoff -a;永久禁用需注释**/etc/fstab**中的 swap 行。
  • SELinux:建议测试环境设为SELINUX=permissive/disabled,执行setenforce 0临时生效,或编辑**/etc/selinux/config**永久修改。
  • 防火墙:为减少初期排障复杂度,可临时systemctl stop firewalld & & systemctl disable firewalld;生产环境应按需放行端口。
  • 内核与网络参数:加载br_netfilter并开启桥接流量经 iptables 处理:
    • modprobe br_netfilter
    • echo ‘1’ | tee /proc/sys/net/bridge/bridge-nf-call-iptables
    • echo ‘1’ | tee /proc/sys/net/bridge/bridge-nf-call-ip6tables
    • 写入**/etc/sysctl.d/k8s.conf并执行sysctl -p**
  • 时间同步:安装并启用chrony/ntpd,避免证书与组件通信异常。

二 容器运行时与 kubelet 常见报错

  • CRI 未就绪或 containerd 未启动:报错如“CRI v1 runtime API is not implemented … containerd.sock”时,检查并启动 containerd:
    • systemctl status/start/enable containerd
  • 使用 containerd 时的 cgroup 驱动:确保与 kubelet 一致(推荐systemd)。生成默认配置并修改:
    • containerd config default | tee /etc/containerd/config.toml
    • sed -i ‘s/SystemdCgroup = false/SystemdCgroup = true/g’ /etc/containerd/config.toml
    • systemctl restart containerd
  • Docker 配置(如使用 Docker):在**/etc/docker/daemon.json**设置镜像加速与 cgroup 驱动:
    • { “registry-mirrors”: [“https://mirrors.aliyun.com/dockerhub”], “exec-opts”: [“native.cgroupdriver=systemd”] }
    • systemctl daemon-reload & & systemctl restart docker
  • kubelet 无法启动:查看journalctl -xefu kubelet;常见原因为 Swap 未关闭、cgroup 驱动不一致、镜像不可达等。

三 镜像拉取与初始化失败

  • 使用国内镜像仓库加速:kubeadm 初始化时指定**–image-repository=registry.aliyuncs.com/google_containers**;提前拉取镜像:
    • kubeadm config images pull --config=init-config.yaml
  • coredns 镜像标签问题:如遇 coredns 特定标签拉取失败,可手动拉取并重命名标签(示例:docker pull …/coredns:1.8.4 后 docker tag …)。
  • kubeadm init 失败排查:使用kubeadm init --config=kubeadm.yaml --ignore-preflight-errors=SystemVerification查看更详细错误;必要时检查**/var/log/messages**、kubelet 日志与网络连通性。

四 网络与端口问题

  • 端口与通信:Master 与 Node 之间需放通多端口;初期可临时关闭防火墙验证是否为策略阻断。参考官方文档的“Check required ports”,并用netstat -tnlp检查占用。
  • Pod 网络插件:初始化后需部署 CNI 插件(如CalicoFlannel):
    • kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
    • 或 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.11.0/Documentation/kube-flannel.yml
  • 节点 NotReady:多因未安装 CNI、内核版本偏低或网络参数未生效;可升级内核并复核br_netfilter/ip_forward等参数。
  • 重启后异常:常见于仅临时关闭了 SELinux/防火墙/Swap;重启后用journalctl -xefu kubeletkubectl describe pod定位。

五 快速排查清单

  • 查看节点与系统状态:
    • kubectl get nodes;kubectl get pods -A
    • free -m、df -h、top/vmstat 3、journalctl -xefu kubelet
  • 复核关键配置:
    • getenforce、swapoff -a、cat /proc/sys/net/bridge/bridge-nf-call-iptables
    • systemctl status containerd docker kubelet
  • 网络连通与端口:
    • ping/ss/telnet 检查节点互通与端口可达;必要时按官方清单精确放行防火墙规则。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS系统Kubernetes安装常见问题
本文地址: https://pptw.com/jishu/779142.html
CentOS上Kubernetes的安装与配置 如何在CentOS上安装Kubernetes网络插件

游客 回复需填写必要信息