温馨提示×

k8s安装失败centos怎么排查

小樊
52
2025-07-25 02:07:49
栏目: 智能运维

在CentOS上安装Kubernetes(k8s)时可能会遇到各种问题。为了帮助您排查和解决这些问题,请按照以下步骤操作:

1. 检查基础配置

  • 关闭防火墙
    systemctl stop firewalld && systemctl disable firewalld
    
  • 关闭SELinux
    sudo setenforce 0
    sudo sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    
  • 禁止Swap分区
    swapoff -a && sed -ri 's/.*swap.*/#&/' /etc/fstab
    
  • 设置主机名
    hostnamectl set-hostname master
    hostnamectl set-hostname node1
    

2. 配置Docker和Kubernetes源

  • 配置Docker源
    wget -p /etc/yum.repos.d/ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  • 配置Kubernetes源
    cat > /etc/yum.repos.d/k8s.repo << eof
    [kubernetes]
    name=Kubernetes
    baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    enabled=1
    eof
    

3. 安装Docker和Kubernetes组件

  • 安装Docker
    sudo yum install -y docker-ce
    sudo systemctl enable --now docker
    
  • 设置Docker cgroup驱动为systemd
    sudo cat > /etc/docker/daemon.json << eof
    {
      "exec-opts": ["native.cgroupdriver=systemd"],
      "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }
    eof
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
  • 安装Kubernetes组件
    sudo yum install -y kubelet kubeadm kubectl
    sudo systemctl enable --now kubelet
    

4. 初始化Kubernetes集群

  • 在Master节点初始化
    sudo kubeadm init --image-repository=registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16
    
  • 配置kubectl
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    

5. 常见问题及解决方法

  • 镜像拉取失败
    • 原因:国内网络原因导致无法拉取镜像。
    • 解决方法:手动拉取镜像并标记:
      docker pull coredns:1.8.0
      docker tag coredns:1.8.0 registry.aliyuncs.com/google_containers/coredns:1.8.0
      docker rmi -f coredns:1.8.0
      
  • 健康检查失败
    • 原因:服务健康检查未通过。
    • 解决方法:查看具体失败原因并解决,例如检查Redis连接等。
  • 内核参数错误
    • 原因:内核参数未正确设置。
    • 解决方法:添加必要的内核参数:
      echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
      echo 1 > /proc/sys/net/ipv4/ip_forward
      

6. 验证部署

  • 检查节点状态
    kubectl get nodes
    
  • 查看Pod状态
    kubectl get pods --all-namespaces
    

如果在执行上述步骤后仍然遇到问题,请查看具体的错误日志,并根据错误信息进行进一步的排查和处理。希望这些步骤能帮助您成功在CentOS上安装Kubernetes。

0