我正在使用运行CentOS7的2个vms跟随此tutorial。一切都很好(在安装/设置过程中没有错误),但我看不到我的节点。
注意:
kubectl get nodes
输出:
[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 /日志/消息:
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获取节点"?
答案 0 :(得分:2)
我的问题是/// overloads -/+ between a cgfloat on the left and an int/double on the right
func - (left: CGFloat, right: Double) -> CGFloat {
return left - CGFloat(right);
}
func - (left: CGFloat, right: Int) -> CGFloat {
return left - CGFloat(right);
}
func + (left: CGFloat, right: Double) -> CGFloat {
return left + CGFloat(right);
}
func + (left: CGFloat, right: Int) -> CGFloat {
return left + CGFloat(right);
}
KUBELET_HOSTNAME
与主机名不匹配。
我评论了那条线,然后重新启动了服务,之后我可以看到我的工作人员。
希望有所帮助
答案 1 :(得分:0)
不确定您的情况,但经过3-4个小时的努力,我已经解决了这个问题。
解决
我遇到了这个问题,因为我的docker cgroup驱动程序与kubernetes cgroup驱动程序不同。
刚刚使用doc中提到的以下命令将其更新为cgroupfs
。
cat << EOF > /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=cgroupfs"]
}
EOF
重新启动docker service service docker restart
。
从属节点上重置kubernetes:kubeadm reset
再次加入大师:kubeadm join <><>
使用kubectl get nodes
在主人身上可以看到它。
答案 2 :(得分:0)
在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"