gpt4 book ai didi

docker - kubeadm init 使用错误的 IP 地址启动集群

转载 作者:行者123 更新时间:2023-12-02 12:10:55 25 4
gpt4 key购买 nike

我初始化了一个 5 节点的 k8s 集群,如下所示:

[root@lpdkubpoc01a ~]# kubeadm init --pod-network-cidr=10.96.0.0/16 --service-cidr=10.97.0.0/16 --image-repository quaytest.phx.aexp.com/control-plane
W0727 15:19:51.123991 1866 version.go:101] could not fetch a Kubernetes version from the internet: unable to get URL "https://dl.k8s.io/release/stable-1.txt": Get https://dl.k8s.io/release/stable-1.txt: dial tcp: lookup dl.k8s.io on 10.2.88.196:53: no such host
W0727 15:19:51.124080 1866 version.go:102] falling back to the local client version: v1.17.5
W0727 15:19:51.124236 1866 validation.go:28] Cannot validate kube-proxy config - no validator is available
W0727 15:19:51.124244 1866 validation.go:28] Cannot validate kubelet config - no validator is available
[init] Using Kubernetes version: v1.17.5
[preflight] Running pre-flight checks
...
...
Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:
```bash
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 apply -f [podnetwork].yaml”:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
然后,您可以通过以 root 身份在每个节点上运行以下命令来加入任意数量的工作节点:
kubeadm join 10.22.76.244:6443 --token fa5ia8.oqs7jv9ii6wzex0w \
--discovery-token-ca-cert-hash sha256:6680c99e6c49e0dce4522bc9768bfc2e7e2b38f5a10668d3a544554ab0d09ff1
我按照上述说明运行以下命令:
[root@lpdkubpoc01a ~]# mkdir -p $HOME/.kube
[root@lpdkubpoc01a ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
cp: overwrite ‘/root/.kube/config’? y
[root@lpdkubpoc01a ~]# chown $(id -u):$(id -g) $HOME/.kube/config
但是当我检查控制平面组件 pod 时,我看到它们都初始化为
  • 相同的IP地址
  • 不正确的 CIDR => 似乎在主机网络中,这是一个很大的 NO-NO
    [root@lpdkubpoc01a ~]# kubectl get pods -n kube-system -owide
    NAME READY STATUS
    RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
    coredns-598947db54-dzrjk 0/1 Pending 0 37s <none> <none> <none> <none>
    coredns-598947db54-t2wch 0/1 Pending 0 37s <none> <none> <none> <none>
    etcd-lpdkubpoc01a.phx.aexp.com 1/1 Running 0 50s 10.22.76.244 lpdkubpoc01a.phx.aexp.com <none> <none>
    kube-apiserver-lpdkubpoc01a.phx.aexp.com 1/1 Running 0 50s 10.22.76.244 lpdkubpoc01a.phx.aexp.com <none> <none>
    kube-controller-manager-lpdkubpoc01a.phx.aexp.com 1/1 Running 0 50s 10.22.76.244 lpdkubpoc01a.phx.aexp.com <none> <none>
    kube-proxy-8dbx2 1/1 Running 0 38s 10.22.76.244 lpdkubpoc01a.phx.aexp.com <none> <none>
    kube-scheduler-lpdkubpoc01a.phx.aexp.com 1/1 Running 0 50s 10.22.76.244 lpdkubpoc01a.phx.aexp.com <none> <none>

  • 出了什么问题,我该如何补救? kube-system ns 中的 pod 不应该与主机具有相同的 IP,并且绝对不在同一网络中:
    [root@lpdkubpoc01a ~]# ifconfig
    docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
    inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0
    ether 02:42:40:17:25:e4 txqueuelen 0 (Ethernet)
    RX packets 0 bytes 0 (0.0 B)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 0 bytes 0 (0.0 B)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    **eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    inet 10.22.76.244 netmask 255.255.254.0 broadcast 10.22.77.255
    ether 00:50:56:b8:e1:84 txqueuelen 1000 (Ethernet)
    RX packets 73810789 bytes 8755922965 (8.1 GiB)
    RX errors 0 dropped 31388 overruns 0 frame 0
    TX packets 44487774 bytes 12389932340 (11.5 GiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0**

    eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9000
    inet 10.0.195.100 netmask 255.255.254.0 broadcast 10.0.195.255
    ether 00:50:56:b8:6c:23 txqueuelen 1000 (Ethernet)
    RX packets 3573616 bytes 708218742 (675.4 MiB)
    RX errors 0 dropped 50118 overruns 0 frame 0
    TX packets 830522 bytes 174979700 (166.8 MiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
    inet 127.0.0.1 netmask 255.0.0.0
    loop txqueuelen 1000 (Local Loopback)
    RX packets 263222455 bytes 44942504690 (41.8 GiB)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 263222455 bytes 44942504690 (41.8 GiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
    谢谢!

    最佳答案

    看起来您的 pod 网络甚至都没有配置。你可以安装类似 Calico 的东西或 Weave .您的 coredns pod 应该在那之后出现,并且您的其他 pod 应该获得不同的 IP 地址。
    过去,这些说明在 main kubeadm page 上。 ,但据我所知,它们实际上已被弃用,以支持在 CNI 上进行更多标准化,并让每个 CNI 提供商提供自己的安装说明。
    ✌️

    关于docker - kubeadm init 使用错误的 IP 地址启动集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63124537/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com