【问题标题】:Kubernetes worker node staying in "NotReady" stateKubernetes 工作节点处于“NotReady”状态
【发布时间】:2018-04-30 13:43:07
【问题描述】:

我在 Virtualbox 中有两个节点 Kubernetes 设置。 Master 运行良好。但是工作节点一直处于“NotReady”状态。

[root@master ~]# kubectl get nodes
NAME      STATUS     ROLES     AGE       VERSION
master    Ready      master    1d        v1.10.2
node      NotReady   <none>    1h        v1.10.2

工作节点上的“journalctl -u kubelet”命令正在报告与网络相关的错误:

kuberuntime_manager.go:757] checking backoff for container "install-cni" in pod "kube-flannel-ds-zjlvn_kube-system(873fa36d-4b83-11e8-9997-080027afb5ab)"
remote_runtime.go:278] ContainerStatus "459643e54de7f82df8ada0f60e8f3d51d42c5ce348747a66e20ad5720155e63f" from runtime service failed: rpc error: code = U
kuberuntime_container.go:636] failed to remove pod init container "install-cni": failed to get container status "459643e54de7f82df8ada0f60e8f3d51d42c5ce34
kuberuntime_manager.go:757] checking backoff for container "install-cni" in pod "kube-flannel-ds-zjlvn_kube-system(873fa36d-4b83-11e8-9997-080027afb5ab)"
kuberuntime_manager.go:767] Back-off 10s restarting failed container=install-cni pod=kube-flannel-ds-zjlvn_kube-system(873fa36d-4b83-11e8-9997-080027afb5a
pod_workers.go:186] Error syncing pod 873fa36d-4b83-11e8-9997-080027afb5ab ("kube-flannel-ds-zjlvn_kube-system(873fa36d-4b83-11e8-9997-080027afb5ab)"), sk
cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d
kubelet.go:2125] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni con
cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d
kubelet.go:2125] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni con
cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d
kubelet.go:2125] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni con

我正在运行 Kubernetes 1.10 版和 docker 1.13.1 版。您能否帮我确定此问题的根本原因和解决方案?

【问题讨论】:

  • 请向我们展示 etcd 集群的健康状况

标签: kubernetes flannel


【解决方案1】:

问题是,当你想形成一个 Kubernetes 集群时,它需要你部署一个 CNI 插件,它可以在你的 Pod 之间提供网络连接。您在此处显示的错误是由于未安装或未正确配置 CNI 插件。

在您的集群上部署 CNI 插件之前,kube-dns pod 将处于挂起状态。一旦 kube-dns 进入 running 状态,(在部署 cni 提供程序之后),您就可以运行您的应用程序工作负载。

如果您还没有部署 CNI 插件,您可以选择几个。

  1. Calico:通过标准 BGP 提供 Pod 网络。 (请按照文档获取更多信息) kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/kubeadm/1.7/calico.yaml

  2. Weave:创建覆盖网络。 export kubever=$(kubectl version | base64 | tr -d '\n') kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"

  3. Flannel:创建一个覆盖网络,将每个主机视为一个子网。 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.9.1/Documentation/kube-flannel.yml

需要让 iptables 了解容器流量,您可以通过以下方式做到这一点 sysctl net.bridge.bridge-nf-call-iptables=1 这是 Flannel 和 Weave 功能所必需的。

请务必参考适用于您的集群的每个 CNI 插件的文档。

【讨论】:

    猜你喜欢
    • 2018-10-11
    • 2021-09-12
    • 2018-04-18
    • 1970-01-01
    • 2020-05-21
    • 2018-06-03
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多