新的 kubernetes 安装有旧集群的残余

New kubernetes install has remnants of old cluster

我完全拆除了 v1.13.1 集群,现在是 运行 v1.15.0 和 calico cni v3.8.0。所有 pods 都是 运行:

[gms@thalia0 ~]$ kubectl get po --namespace=kube-system
NAME                                          READY   STATUS    RESTARTS   AGE
calico-kube-controllers-59f54d6bbc-2mjxt      1/1     Running   0          7m23s
calico-node-57lwg                             1/1     Running   0          7m23s
coredns-5c98db65d4-qjzpq                      1/1     Running   0          8m46s
coredns-5c98db65d4-xx2sh                      1/1     Running   0          8m46s
etcd-thalia0.ahc.umn.edu                      1/1     Running   0          8m5s
kube-apiserver-thalia0.ahc.umn.edu            1/1     Running   0          7m46s
kube-controller-manager-thalia0.ahc.umn.edu   1/1     Running   0          8m2s
kube-proxy-lg4cn                              1/1     Running   0          8m46s
kube-scheduler-thalia0.ahc.umn.edu            1/1     Running   0          7m40s

但是,当我查看端点时,我得到以下信息:

[gms@thalia0 ~]$ kubectl get ep --namespace=kube-system
NAME                      ENDPOINTS                                                           AGE
kube-controller-manager   <none>                                                              9m46s
kube-dns                  192.168.16.194:53,192.168.16.195:53,192.168.16.194:53 + 3 more...   9m30s
kube-scheduler            <none>                                                              9m46s

如果我查看 apiserver 的日志,我会收到大量 TLS 握手错误,大致如下:

I0718 19:35:17.148852       1 log.go:172] http: TLS handshake error from 10.x.x.160:45042: remote error: tls: bad certificate
I0718 19:35:17.158375       1 log.go:172] http: TLS handshake error from 10.x.x.159:53506: remote error: tls: bad certificate

这些 IP 地址来自先前集群中的节点。我删除了它们并在所有节点上执行了 kubeadm reset,包括 master,所以我不知道为什么会出现这些。我假设这就是 controller-managerscheduler 的端点显示为 <none>.

的原因

为了完全擦除您的集群,您接下来应该做的是:

1) 重置集群

$sudo kubeadm reset (or use appropriate to your cluster command)

2) 使用配置擦除本地目录

$rm -rf .kube/

3) 删除 /etc/kubernetes/

$sudo rm -rf /etc/kubernetes/

4)其中一个要点是摆脱你以前的等状态配置。

$sudo rm -rf /var/lib/etcd/