【问题标题】:kubeadm canot join clusterkubeadm 无法加入集群
【发布时间】:2020-04-07 15:48:50
【问题描述】:

我配置了 2 个树莓派:

curl https://get.docker.com| sh
sudo usermod -aG docker pi

sudo su -

apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -

cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF

apt-get update
apt-get install -y kubelet kubeadm kubectl
apt-mark hold kubelet kubeadm kubectl


swapoff -a

然后在master上启动:

kubeadm init --apiserver-advertise-address="192.168.0.151"

这给了我输出:

您的 Kubernetes 控制平面已成功初始化!

要开始使用您的集群,您需要运行以下命令 普通用户:

mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config

您现在应该将 pod 网络部署到集群。运行“kubectl 应用 -f [podnetwork].yaml",其中列出的选项之一是:https://kubernetes.io/docs/concepts/cluster-administration/addons/

然后您可以通过运行以下命令加入任意数量的工作节点 在每个作为根:

kubeadm 加入 192.168.0.151:6443 --token szrg5m.q92udr6ury4dve2g \ --discovery-token-ca-cert-hash sha256:b12642ff585b6d068ddf283974cac23946a30552f8f3d3b5db342a23522a08d5 root@raspberrypi:~#

然后在我运行的工人身上:

kubeadm join 192.168.0.151:6443 --token szrg5m.q92udr6ury4dve2g --discovery-token-ca-cert-hash sha256:b12642ff585b6d068ddf283974cac23946a30552f8f3d3b5db342a23522a08d5

然后输出:

此节点已加入集群: * 证书签名请求已发送到 apiserver 并收到响应。 * Kubelet 被告知新的安全连接细节。

在控制平面上运行“kubectl get nodes”以查看该节点加入 集群。

然后回到主人:

sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
export KUBECONFIG=$HOME/admin.conf

我的问题是,现在 node1 在你运行时没有出现:

kubectl get nodes

这里是输出:

root@raspberrypi:~# kubectl 获取节点

名称状态角色年龄版本

raspberrypi NotReady master 11m v1.17.0

看不到我错过了什么?

有人可以帮忙吗?

谢谢

【问题讨论】:

  • 您好,查看工作节点上kubelet的日志
  • 您好,谢谢:我收到:kubelet.go:2183] 容器运行时网络未准备好:NetworkReady=false 原因:NetworkPluginNotReady 消息:docker:网络插件是 cni.go:237] 无法更新cni config: no networks found in /etc/cni/net.d 这可能是根本原因吗?
  • 是的,我猜,你没有运行任何 CNI 实现。
  • > 您现在应该将 pod 网络部署到集群。使用以下列出的选项之一运行“kubectl apply -f [podnetwork].yaml”:kubernetes.io/docs/concepts/cluster-administration/addons
  • 这里是示例,您需要在创建集群时使用一些标志并应用清单kubernetes.io/docs/setup/production-environment/tools/kubeadm/…

标签: kubernetes kubeadm


【解决方案1】:

好的,找到问题了 我的问题是 master 和 worker 的主机名相同:

树莓派

所以当工人加入集群时,我收到了这条消息:

此节点已加入集群:* 证书签名请求是 发送到 apiserver 并收到响应。 * Kubelet 是 获悉新的安全连接详情。

在控制平面上运行“kubectl get nodes”以查看该节点加入 集群。

这是正确的

但是当我运行时:

kubectl get nodes

我认为 kubeadmin 管理集群成员就像 Java 中的 Set ;-) 没有重复

现在我更改了工人姓名,我可以看到两者

【讨论】:

    猜你喜欢
    • 2019-08-06
    • 2019-09-01
    • 2019-05-20
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 2019-04-03
    • 1970-01-01
    • 2019-10-12
    相关资源
    最近更新 更多