kubernetes - kubectl get nodes 显示 NotReady

标签 kubernetes kubectl kubeadm

我已经安装了两个节点 kubernetes 1.12.1在云虚拟机中,都在互联网代理之后。每个 VM 都有关联的 float 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

我缺少任何配置吗?我需要加192.168.0.153吗?和 192.168.0.25在各自的 VM 中 /etc/hosts ?

最佳答案

看起来 pod network 尚未安装在您的集群上。例如,您可以使用以下命令安装 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

关于kubernetes - kubectl get nodes 显示 NotReady,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53040663/

相关文章:

kubernetes - Kubernetes-哪个Pod从负载均衡器接收请求?

kubernetes - Kubernetes中的列表类型标签

kubernetes - 在 Kubernetes 1.3 Ingress 中使用通配符和非通配符 TLS 证书

docker - kubectl apply -f behind 代理

kubernetes - Kubernetes v1.10.11 和 v1.11.5 中生成的 x509 证书之间的差异

kubernetes - GCP 云的入口 Controller 注释

bash - kubectl:如何在不明确指定 pod 名称的情况下显示 pod 日志?

kubernetes - kubectl 不适用于多个集群配置

kubernetes - kubeadm初始化显示kubelet未运行或运行状况良好

kubernetes - 如何正确地重新创建kubeadm 1.15.0集群?