【问题标题】:"kubectl get nodes" shows only master not workers“kubectl get nodes”仅显示 master 而不是 worker
【发布时间】:2018-11-29 01:10:08
【问题描述】:

我正在关注文档https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/ 尝试在我的本地 mac 中创建一个具有 3 个 vagrant ubuntu vm 的 kubernetes 集群。但是我只能在“kubeadm join”成功后在主节点中运行“kubectl get nodes”来查看主节点。在尝试了几种可能的方法从互联网上搜索后,仍然是同样的问题。

这里列出了一些关于我的集群的信息:

3 vagrant 虚拟机(ubuntu 16.04): -(主)eth0:10.0.2.15,eth1:192.168.101.101 --> kubeadm init --ignore-preflight-errors 交换 --apiserver-advertise-address=192.168.101.101 - (worker1) eth0: 10.0.2.15, eth1: 192.168.101.102 --> kubeadm join 192.168.101.101:6443 --token * --discovery-token-ca-cert-hash sha256: --ignore-preflight-errors Swap - (worker2) eth0: 10.0.2.15, eth1: 192.168.101.103 --> kubeadm join 192.168.101.101:6443 --token --discovery-token-ca-cert-hash sha256:* --ignore-preflight-errors Swap

对此有什么想法吗?

问候, 杰基

kubelet 日志截图

log-new-part1 log-new-part2

【问题讨论】:

  • 可以在worker节点上发布kubelet服务的状态和日志吗?
  • “systemctl status kubelet”的输出:kubelet.service - kubelet:Kubernetes 节点代理已加载:已加载(/lib/systemd/system/kubelet.service;已启用;供应商预设:已启用) Drop-在:/etc/systemd/system/kubelet.service.d └─10-kubeadm.conf 活动:自 2018 年 6 月 20 日星期三 UTC 06:10:10 起活动(运行); 2 小时 29 分钟前文档:kubernetes.io/docs 主 PID:4721 (kubelet) 任务:12 内存:39.6M CPU:2 分钟 25.780 秒 CGroup:/system.slice/kubelet.service
  • “journalctl -xeu kubelet”的输出:
    pod_container_deletor.go:77] 容器“ea4ba30fd23bf91cdce59a3e5402317bfeff1474600b8b3a68c06af2f3289f1c”未在 pod:721 k 容器中找到._...]

    node_ube./> 377] 更新节点状态时出错,将重试:未能修补状态 "{\"status\":{\"$setElementOrder/addresses\":[{\"type\":\"In Jun 20 06:48:38 default-ubuntu-1604 kubelet[4721]: 9356b8610\",\"k8s.gcr.io/pause-amd64:3.1\"],\"sizeBytes\":742472}],...

标签: kubernetes


【解决方案1】:

从节点上的默认路由问题修复路由表。

我使用这样的脚本来修复操作系统启动后的路由。

#!/bin/bash

if $( ip route |grep  -q '^default via 10.0.2.2 dev' ); then
        ip route delete default via  10.0.2.2
fi

if ! $( ip r |egrep -q '^default .* eth1'); then
        ip route add default via 192.168.15.1
fi
exit 0

【讨论】:

  • 感谢您的反馈。我尝试将您的建议更改为:默认通过 192.168.101.1 dev eth1 10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15 172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 192.168.101.0 /24 dev eth1 proto 内核范围链接 src 192.168.101.102 。但问题仍然存在。我已经从从节点的 /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 中删除了 env KUBELET_NETWORK_ARGS。不知道是否相关。
  • 您是否在服务器上启用了防火墙?检查主从。
  • 刚刚检查过。主从都禁用了防火墙。
【解决方案2】:

确保任何节点 [masters 和 workers] 都有唯一的主机名。几个小时后才意识到我的主服务器和从主服务器克隆的虚拟机具有相同的主机名 ma​​ster,将我的工作节点主机名更改为 worker-node-01worker- node-02 一切都很完美。

【讨论】:

    猜你喜欢
    • 2019-04-02
    • 1970-01-01
    • 2021-11-05
    • 2019-08-31
    • 1970-01-01
    • 1970-01-01
    • 2017-08-07
    • 2021-10-02
    • 1970-01-01
    相关资源
    最近更新 更多