首页 文章

“kubectl get nodes”在提供适当的IP后甚至会显示NotReady

提问于
浏览
2

我正在尝试设置一个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]无法写事件:'post 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] Unable写事件:'post http:// localhost:8080 / api / v1 / namespaces / default / events:dial tcp [:: 1]:8080:getsockopt:connection refused'(可以在睡觉后重试)

以下是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 Mar15? 00:02:23 / usr / bin / kube-scheduler --logtostderr = true --v = 0 --master = http:// centos-master:8080

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

3 回答

  • 0

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

  • 0

    rejoin the worker nodes to the master .

    我的安装在三台物理机器上 . 一个主人和两个 Worker . 所有需要重新启动 .

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

    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
    
  • 0

    如果是新安装,我通过使用以下步骤诊断并修复了同样的问题 .

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

    $ 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

相关问题