“kubectl get nodes”在提供适当的IP后甚至会显示NotReady
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“kubectl get nodes”在提供适当的IP后甚至会显示NotReady相关的知识,希望对你有一定的参考价值。
我正在尝试设置一个kubernetes集群,用于测试目的与主人和一个小兵。当我运行kubectl get节点时,它总是说NotReady。在/ etc / kubernetes / kubelet中对minion进行配置
KUBELET_ADDRESS="--address=0.0.0.0"
KUBELET_PORT="--port=10250"
KUBELET_HOSTNAME="--hostname-override=centos-minion"
KUBELET_API_SERVER="--api-servers=http://centos-master:8080"
KUBELET_ARGS=""
当kubelete服务启动后,可以看到日志
3月16日13:29:49 centos-minion kubelet:E0316 13:29:49.126595 53912 event.go:202]无法写事件:'发布http://centos-master:8080/api/v1/namespaces/default/events:拨打tcp 10.143.219.12:8080:i / o timeout'(可能会重试睡觉后)
3月16日13:16:01 centos-minion kube-proxy:E0316 13:16:01.195731 53595 event.go:202]无法写事件:'发布http://localhost:8080/api/v1/namespaces/default/events:拨tcp [:: 1]:8080:getsockopt:连接被拒绝'(可以在睡觉后重试)
以下是master / etc / kubernetes / apiserver上的配置
KUBE_API_ADDRESS="--bind-address=0.0.0.0"
KUBE_API_PORT="--port=8080"
KUBELET_PORT="--kubelet-port=10250"
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
/ etc / kubernetes / config
KUBE_ETCD_SERVERS="--etcd-servers=http://centos-master:2379"
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://centos-master:8080"
在主后续进程正常运行
kube 5657 1 0 Mar15? 00:12:05 / usr / bin / kube-apiserver --logtostderr = true --v = 0 --etcd-servers = http://centos-master:2379 --address = 0.0.0.0 --port = 8080 --kubelet-port = 10250 - -allow-privileged = false --service-cluster-ip-range = 10.254.0.0 / 16
kube 5690 1 1月15日? 00:16:01 / usr / bin / kube-controller-manager --logtostderr = true --v = 0 --master = http://centos-master:8080
kube 5723 1 0 Mar15? 00:02:23 / usr / bin / kube-scheduler --logtostderr = true --v = 0 --master = http://centos-master:8080
所以我仍然不知道缺少什么。
当我按照kubernetes.io上的步骤设置带有fedora的kubernetes时,我遇到了同样的问题。在本教程中,它在节点的/ etc / kubernetes / kubelet中注释掉KUBELET_ARGS =“ - cgroup-driver = systemd”,如果取消注释,您将看到节点状态已准备就绪。希望这有帮助
将工作节点重新加入主节点。
我的安装在三台物理机器上。一个主人和两个工人。所有需要重新启动。
您将需要您可能没有的加入令牌:
sudo kubeadm token list
复制TOKEN字段数据,输出看起来像这样(不,那不是我真实的):
TOKEN ow3v08ddddgmgzfkdkdkd7 18h 2018-07-30T12:39:53-05:00认证,签名'kubeadm init'生成的默认引导令牌。系统:bootstrappers:kubeadm:默认节点令牌
然后在这里加入集群。主节点IP是您机器的真实IP地址:
sudo kubeadm join --token <YOUR TOKEN HASH> <MASTER_NODE_IP>:6443 --discovery-token-unsafe-skip-ca-verification
如果是新安装,我通过使用以下步骤诊断并修复了同样的问题。
- 尝试以下命令从节点中查找错误。如果找到以下输出,请继续执行以下步骤进行修复。否则,可能还有其他原因。
$ kubectl describe node example.node1.com | grep cni
ready: cni config uninitialized
kubectl apply --filename https://git.io/weave-kube-1.6
kubectl get nodes
请参考修复:https://github.com/kubernetes/kubernetes/issues/48798
必须在节点中重新启动kubelet服务(systemctl enable kubelet&systemctl restart kubelet)。然后,您可以看到您的节点处于“就绪”状态。
以上是关于“kubectl get nodes”在提供适当的IP后甚至会显示NotReady的主要内容,如果未能解决你的问题,请参考以下文章
K8S kubeadm 部署出现的故障:kubectl get nodes 节点显示 NotReady
K8S kubeadm 部署出现的故障:kubectl get nodes 节点显示 NotReady
k8s单节点部署报错:[root@master ~]# kubectl get nodes No resources found.
k8s单节点部署报错:[root@master ~]# kubectl get nodes No resources found.
k8s单节点部署报错:[root@master ~]# kubectl get nodes No resources found.