kubectl让节点不显示工人

时间:2017-01-13 04:51:01

标签: kubernetes

我正在使用运行CentOS7的2个vms跟随此tutorial。一切都很好(在安装/设置过程中没有错误),但我看不到我的节点。

注意:

  • 我在VMWare VM上运行
  • kub1是我的主人,kub2是我的工人节点

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获取节点"?

3 个答案:

答案 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"