kubectl获取节点显示NotReady

时间:2018-10-29 07:26:51

标签: kubernetes kubectl kubeadm

我在云VM中安装了两个节点kubernetes 1.12.1,它们都位于Internet代理后面。每个VM具有关联的浮动IP,以通过SSH连接,kube-01是主节点,kube-02是节点。执行导出:

no_proxy=127.0.0.1,localhost,10.157.255.185,192.168.0.153,kube-02,192.168.0.25,kube-01

在运行kubeadm init之前,但是我获得kubectl get nodes的以下状态:

NAME      STATUS     ROLES    AGE   VERSION
kube-01   NotReady   master   89m   v1.12.1
kube-02   NotReady   <none>   29s   v1.12.2

我缺少任何配置吗?我是否需要在各个VM的192.168.0.153中添加192.168.0.25/etc/hosts

4 个答案:

答案 0 :(得分:1)

尝试一下

您的coredns处于待处理状态,请使用您使用的网络插件进行检查,并检查是否已添加正确的插件

检查kubernates故障排除指南

https://kubernetes.io/docs/setup/independent/troubleshooting-kubeadm/#coredns-or-kube-dns-is-stuck-in-the-pending-state

https://kubernetes.io/docs/concepts/cluster-administration/addons/

并使用

安装以下内容

然后检查

kubectl get pods -n kube-system

答案 1 :(得分:0)

您的群集上尚未安装Pod网络。您可以使用以下命令

例如安装weave
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

几秒钟后,每个节点上都应运行一个Weave Net Pod,并且您创建的任何其他Pod将自动连接到Weave网络。

您可以选择安装Pod网络。这是list

此检查后

$ kubectl describe nodes

检查一切都很好,如下所示

Conditions:
  Type              Status
  ----              ------
  OutOfDisk         False
  MemoryPressure    False
  DiskPressure      False
  Ready             True
Capacity:
 cpu:       2
 memory:    2052588Ki
 pods:      110
Allocatable:
 cpu:       2
 memory:    1950188Ki
 pods:      110

将ssh下一步连接到尚未准备就绪的Pod,并观察kubelet日志。最可能的错误可能是证书和身份验证。

您还可以在systemd上使用journalctl来检查kubelet错误。

$ journalctl -u kubelet

答案 2 :(得分:0)

在其他情况下,对于其他人来说可能是一样的,我使用错误的AMI映像来创建节点组。

答案 3 :(得分:0)

运行

<块引用>

journalctl -u kubelet

然后检查节点日志,如果出现以下错误,请使用 swapoff -a

禁用锯齿 <块引用>

"Failed to run kubelet" err="failed to run Kubelet: running with swap on is not supported, please disable swap! or set --fa 主进程退出,代码=退出,状态=1/FAILURE

相关问题