Kubernetes kubectl获取未显示工人的节点
我正在跟踪运行CentOS7的两个虚拟机。一切看起来都很好(在安装/设置过程中没有错误),但我看不到我的节点 注:Kubernetes kubectl获取未显示工人的节点,kubernetes,Kubernetes,我正在跟踪运行CentOS7的两个虚拟机。一切看起来都很好(在安装/设置过程中没有错误),但我看不到我的节点 注: 我正在VMWare虚拟机上运行此功能 kub1是我的主节点,kub2是我的工作节点 kubectl获取节点输出: [root@kub1 ~]# kubectl cluster-info Kubernetes master is running at http://kub1:8080 To further debug and diagnose cluster problems,
- 我正在VMWare虚拟机上运行此功能
- kub1是我的主节点,kub2是我的工作节点
kubectl获取节点
输出:
[root@kub1 ~]# kubectl cluster-info
Kubernetes master is running at http://kub1:8080
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
[root@kub2 ~]# kubectl cluster-info
Kubernetes master is running at http://kub1:8080
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
节点:
[root@kub1 ~]# kubectl get nodes
[root@kub1 ~]# kubectl get nodes -a
[root@kub1 ~]#
[root@kub2 ~]# kubectl get nodes -a
[root@kub2 ~]# kubectl get no
[root@kub2 ~]#
群集事件:
[root@kub1 ~]# kubectl get events -a
LASTSEEN FIRSTSEEN COUNT NAME KIND SUBOBJECT TYPE REASON SOURCE MESSAGE
1h 1h 1 kub2.local Node Normal Starting {kube-proxy kub2.local} Starting kube-proxy.
1h 1h 1 kub2.local Node Normal Starting {kube-proxy kub2.local} Starting kube-proxy.
1h 1h 1 kub2.local Node Normal Starting {kubelet kub2.local} Starting kubelet.
1h 1h 1 node-kub2 Node Normal Starting {kubelet node-kub2} Starting kubelet.
1h 1h 1 node-kub2 Node Normal Starting {kubelet node-kub2} Starting kubelet.
/var/log/messages:
kubelet.go:1194] Unable to construct api.Node object for kubelet: can't get ip address of node node-kub2: lookup node-kub2: no such host
问题:知道为什么不使用“kubectl get nodes”显示我的节点吗?我的问题是
/etc/kubernetes/kubeletvalue
上的KUBELET\u主机名与主机名不匹配
我对该行进行了注释,然后重新启动了服务,之后我可以看到我的工作人员
希望这有帮助我不确定你的情况,但经过3-4个小时的努力,我已经解决了这个问题
解决
我面临这个问题,因为我的docker cgroup驱动程序与kubernetes cgroup驱动程序不同。
刚刚使用中提到的以下命令将其更新为cgroupfs
cat/etc/docker/daemon.json
{
“exec opts”:[“native.cgroupdriver=cgroupfs”]
}
EOF
重新启动docker服务服务docker Restart
。
在从属节点上重置kubernetes:kubeadm Reset
再次加入主机:kubeadm加入
在主机上使用kubectl get nodes
可以看到,在fedora31上使用kubespray安装k8s后,我遇到了类似的问题,为了调试该问题,尝试直接使用docker run运行随机容器,但失败原因如下:
docker: Error response from daemon: cgroups: cgroup mountpoint does not exist: unknown.
这是fedora 31上的cgroup版本导致的已知问题,修复方法是更新grub以使用以前的版本:
sudo dnf install grubby
sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"
在/etc/kubernetes/KUBELET.env中注释KUBELET_主机名并重新启动节点后,它成功了。现在我可以看到kubeclt get noI列出的所有节点,但我看不到/etc/kubernetes/kubeletvalue。我也在使用kubernetes 1.12me。我看不到/etc/kubernetes/kubeletvalue。nor/etc/kubernetes/kubelet.env。我使用的是k8sv1.10.0
sudo dnf install grubby
sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"