Kubeadm 无法创建 SubnetManager:检索 kube-system 的 pod 规范时出错

Dan*_*ado 2 kubernetes flannel kubeadm

无论我做什么,似乎都无法摆脱这个问题。我已经使用 kubeadm 多次成功安装 Kubernetes,但是添加 v1.16.0 节点让我非常头疼。

操作系统:Ubuntu 18.04.3 LTS Kubernetes 版本:v1.16.0 Kubeadm 版本:主要:“1”,次要:“16”,GitVersion:“v1.16.0”,GitCommit:“2bd9643cee5b3b3a5ecbd3af49d09018f0773c77”,GitTreeState:“clean”,构建日期:“2019-09-18T14:34:01Z”,Go版本:“go1.12.9”,编译器:“gc”,平台:“linux/amd64”

集群查询显示:

    NAME                  STATUS                     ROLES    AGE     VERSION
kube-apiserver-1      Ready                      master   110d    v1.15.0
kube-apiserver-2      Ready                      master   110d    v1.15.0
kube-apiserver-3      Ready                      master   110d    v1.15.0
kube-node-1           Ready                      <none>   110d    v1.15.0
kube-node-2           Ready                      <none>   110d    v1.15.0
kube-node-3           Ready                      <none>   110d    v1.15.0
kube-node-4           Ready                      <none>   110d    v1.16.0
kube-node-5           Ready,SchedulingDisabled   <none>   3m28s   v1.16.0
kube-node-databases   Ready                      <none>   110d    v1.15.0
Run Code Online (Sandbox Code Playgroud)

我已暂时禁用对节点的调度,直到解决此问题为止。查询 kube-system 命名空间中的 pod 状态会显示问题:

$ kubectl -n kube-system 获取 Pod

NAME                                       READY   STATUS             RESTARTS   AGE
coredns-fb8b8dccf-55zjs                    1/1     Running            128        21d
coredns-fb8b8dccf-kzrpc                    1/1     Running            144        21d
kube-flannel-ds-amd64-29xp2                1/1     Running            11         110d
kube-flannel-ds-amd64-hp7nq                1/1     Running            14         110d
kube-flannel-ds-amd64-hvdpf                0/1     CrashLoopBackOff   5          8m28s
kube-flannel-ds-amd64-jhhlk                1/1     Running            11         110d
kube-flannel-ds-amd64-k6dzc                1/1     Running            2          110d
kube-flannel-ds-amd64-lccxl                1/1     Running            21         110d
kube-flannel-ds-amd64-nnn7g                1/1     Running            14         110d
kube-flannel-ds-amd64-shss5                1/1     Running            7          110d
Run Code Online (Sandbox Code Playgroud)

kubectl -n kube-系统日志 -f kube-flannel-ds-amd64-hvdpf

I1002 01:13:22.136379       1 main.go:514] Determining IP address of default interface
I1002 01:13:22.136823       1 main.go:527] Using interface with name ens3 and address 192.168.5.46
I1002 01:13:22.136849       1 main.go:544] Defaulting external address to interface address (192.168.5.46)
E1002 01:13:52.231471       1 main.go:241] Failed to create SubnetManager: error retrieving pod spec for 'kube-system/kube-flannel-ds-amd64-hvdpf': Get https://10.96.0.1:443/api/v1/namespaces/kube-system/pods/kube-flannel-ds-amd64-hvdpf: dial tcp 10.96.0.1:443: i/o timeout
Run Code Online (Sandbox Code Playgroud)

虽然我在 iptables 问题和内核路由上遇到了一些问题,但我不明白为什么以前的版本安装顺利,但这个版本给了我这样的问题。

我已经安装了这个节点并销毁了它好几次,但结果总是相同的。

还有其他人遇到这个问题或有解决方案吗?

小智 8

当无法查找主机时会发生这种情况,在名称后添加以下内容:POD_NAMESPACE

- name: KUBERNETES_SERVICE_HOST
          value: "10.220.64.186" #ip address of the host where kube-apiservice is running
        - name: KUBERNETES_SERVICE_PORT
          value: "6443"
Run Code Online (Sandbox Code Playgroud)