Kubernetes环境搭建 之 FAQ for Nodes显示NotReady

1. 在master查看nodes

在这里插入图片描述

2. 查看所有pod的信息, 注意, 是所有namespace的

kubectl get pod --all-namespaces
会发现有两个coredns-576cbf47c7- 是ContainerCreating 状态的.
Kubernetes环境搭建 之 FAQ for Nodes显示NotReady_第1张图片

3. 查看任意一个coredns pod

  • a. 截图
    Kubernetes环境搭建 之 FAQ for Nodes显示NotReady_第2张图片
  • b. Event
    在Event中, 有这么一样,
    network is not ready: [runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized]

4. master解决方案

  • a. 原因
    是由于没有安装网络导致的.
  • b . 解决
    安装flannel网络
    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    在这里插入图片描述
  • c. 验证
    在这里插入图片描述
  • d. 再次检查pod
    Kubernetes环境搭建 之 FAQ for Nodes显示NotReady_第3张图片

5. 解决node的网络问题,

a. 在node上查看docker状态,发现有一个exited的.

在这里插入图片描述

b. 检查这个docker 容器的日志

发现有这么一行错误,
cp: can’t create ‘/etc/cni/net.d/10-flannel.conflist’: Permission denied
在这里插入图片描述

c. 解决,

  • i. 参考https://github.com/coreos/flannel/issues/709, 上面说是由于"Selinux was enabled."
    在这里插入图片描述

  • ii. 查看/etc/selinux/config文件
    发现SELINUX=enforcing
    Kubernetes环境搭建 之 FAQ for Nodes显示NotReady_第4张图片

  • iii. 更改SELINUX=disabled
    Kubernetes环境搭建 之 FAQ for Nodes显示NotReady_第5张图片

  • iv. 重启reboot

    • 1). 启动docker服务,并开始等待
      在这里插入图片描述
    • 2). 重启kubelet
      在这里插入图片描述
    • 3). 再次查看docker 容器
      在这里插入图片描述

d. 再次在master检查node

在这里插入图片描述

e. 再次检查node上的docker容器,

发现tomcat已经部署在node上了
在这里插入图片描述

你可能感兴趣的:(DevOps,Kubernetes学习笔记)