我已经安装了两个节点 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/