我的网络中有六台台式机,我想构建两个Kubernetes集群。每台机器都安装了Ubuntu 16.04 LTS。最初,所有机器都是单个集群的一部分。但是,我删除了三台机器以设置另一个集群,并在每台机器上执行以下命令:
RESET COMMAND: sudo kubeadm reset -f && sudo systemctl stop kubelet && sudo systemctl stop docker && sudo rm -rf /var/lib/cni/ && sudo rm -rf /var/lib/kubelet/* && sudo rm -rf /etc/cni/ && sudo ifconfig cni0 down && sudo ifconfig flannel.1 down && sudo ifconfig docker0 down && sudo ip link delete cni0 && sudo ip link delete flannel.1
此后,我重新启动了每台计算机,并通过设置主节点来进行新集群的设置:
INSTALL COMMAND: sudo kubeadm init phase certs all && sudo kubeadm init phase kubeconfig all && sudo kubeadm init phase control-plane all --pod-network-cidr 10.244.0.0/16 && sudo sed -i 's/initialDelaySeconds: [0-9][0-9]/initialDelaySeconds: 240/g' /etc/kubernetes/manifests/kube-apiserver.yaml && sudo sed -i 's/failureThreshold: [0-9]/failureThreshold: 18/g' /etc/kubernetes/manifests/kube-apiserver.yaml && sudo sed -i 's/timeoutSeconds: [0-9][0-9]/timeoutSeconds: 20/g' /etc/kubernetes/manifests/kube-apiserver.yaml && sudo kubeadm init \ --v=1 \ --skip-phases=certs,kubeconfig,control-plane \ --ignore-preflight-errors=all \ --pod-network-cidr 10.244.0.0/16
此后,我还安装了法兰绒。成功安装主服务器后,我继续进行kubeadm连接以添加其他两台计算机。添加这些机器之后,我在主节点上安装了NGINX- Ingress。
现在,我想重置群集,然后再次重新进行此设置。我使用RESET COMMAND重置每台计算机,并在主节点上执行INSTALL命令。但是,在运行INSTALL命令并运行之后,kubectl get pods --all- namespaces我仍然可以看到以前安装的吊舱:
kubectl get pods --all- namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-fb8b8dccf-h5hhk 0/1 ContainerCreating 1 20h kube-system coredns-fb8b8dccf-jblmv 0/1 ContainerCreating 1 20h kube-system etcd-ubuntu6 1/1 Running 0 19h kube-system kube-apiserver-ubuntu6 1/1 Running 0 76m kube-system kube-controller-manager-ubuntu6 0/1 CrashLoopBackOff 7 75m kube-system kube-flannel-ds-amd64-4pqq6 1/1 Running 0 20h kube-system kube-flannel-ds-amd64-dvfmp 0/1 CrashLoopBackOff 7 20h kube-system kube-flannel-ds-amd64-dz9st 1/1 Terminating 0 20h kube-system kube-proxy-9vfjx 1/1 Running 0 20h kube-system kube-proxy-q5c86 1/1 Running 0 20h kube-system kube-proxy-zlw4v 1/1 Running 0 20h kube-system kube-scheduler-ubuntu6 1/1 Running 0 76m nginx-ingress nginx-ingress-6957586bf6-fg2tt 0/1 Terminating 22 19h
为什么我看到以前安装的吊舱?
因此,是的,基本上,当您使用kubeadm创建单个控制平面群集时- 您正在安装具有单个控制平面节点并在其上运行单个etcd数据库的集群。
kubeadm使用的默认etcd目录/var/lib/etcd在控制平面节点上。您应该清理它,以避免恢复先前的群集配置。
/var/lib/etcd
顺便说一句,k8s 1.15 也有同样的问题。它应该固定为1.15.1 https://github.com/kubernetes/sig- release/blob/3a3c9f92ef484656f0cb4867f32491777d629952/releases/patch- releases.md#115