2

我正在尝试设置一个 kubernetes 集群,以使用一个 master 和一个 minion 进行测试。当我运行 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 : dial 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] 无法写入事件:'Post http://localhost:8080/api/v1/namespaces/default/ events : dial tcp [::1]:8080: getsockopt: connection denied' (可以在休眠后重试)

以下是主 /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"

在 master 上,以下进程正常运行

kube 5657 1 0 3 月 15 日?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

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

4

3 回答 3

0

必须重启节点中的 kubelet 服务(systemctl enable kubelet & systemctl restart kubelet)。然后您可以看到您的节点处于“就绪”状态。

于 2019-02-03T11:14:37.407 回答
0

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

于 2017-09-06T17:30:42.940 回答
0

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

我的安装是在三台物理机器上。一名师傅和两名工人。所有需要的重新启动。

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

sudo kubeadm token list

复制 TOKEN 字段数据,输出如下所示(不,那不是我真实的):

TOKEN ow3v08ddddgmgzfkdkdkd7 18h 2018-07-30T12:39:53-05:00 authentication,signing 由“kubeadm init”生成的默认引导令牌。系统:引导程序:kubeadm:默认节点令牌

然后在这里加入集群。主节点 IP 是你机器的真实 IP 地址:

sudo kubeadm join --token <YOUR TOKEN HASH> <MASTER_NODE_IP>:6443 --discovery-token-unsafe-skip-ca-verification
于 2018-07-29T23:01:20.383 回答