" kubectl获取节点"即使在提供适当的IP后,也会显示NotReady

时间:2017-03-16 08:35:32

标签: kubernetes kubelet

我正在尝试设置一个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超时' (可以在睡觉后重试)

     

Mar 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 /配置

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月15日? 00:02:23 / usr / bin / kube-scheduler --logtostderr = true --v = 0 --master = http://centos-master:8080

所以我仍然不知道缺少什么。

4 个答案:

答案 0 :(得分:0)

当我按照kubernetes.io上的步骤设置带有fedora的kubernetes时,我遇到了同样的问题。 在本教程中,它在节点的/ etc / kubernetes / kubelet中注释掉KUBELET_ARGS =“ - cgroup-driver = systemd”,如果取消注释,您将看到节点状态已准备就绪。 希望这个帮助

答案 1 :(得分:0)

将工作节点重新加入主节点

我的安装在三台物理计算机上。一位主人和两名工人。所有需要的重新启动。

您将需要您可能没有的加入令牌:

sudo kubeadm token list

复制TOKEN字段数据,输出看起来像这样(不,那不是我的真实姓名):

代币 ow3v08ddddgmgzfkdkdkd7 18h 2018-07-30T12:39:53-05:00身份验证,签名由'kubeadm init'生成的默认引导令牌。系统:引导程序:kubeadm:默认节点令牌

在此加入集群。主节点IP是您计算机的真实IP地址:

sudo kubeadm join --token <YOUR TOKEN HASH> <MASTER_NODE_IP>:6443 --discovery-token-unsafe-skip-ca-verification

答案 2 :(得分:0)

如果是新安装的产品,我可以通过以下步骤诊断并解决相同的问题。

  1. 尝试使用以下命令从节点查找错误。 如果找到以下输出,请继续执行进一步的步骤进行修复。否则,可能还有其他原因。

$ kubectl describe node example.node1.com | grep cni

ready: cni config uninitialized

  1. kubectl apply --filename https://git.io/weave-kube-1.6
  2. kubectl get nodes

请参考此修复程序:https://github.com/kubernetes/kubernetes/issues/48798

答案 3 :(得分:0)

必须重新启动节点中的kubelet服务(systemctl启用kubelet和systemctl重新启动kubelet)。然后,您可以看到您的节点处于“就绪”状态。