Сбросить кластер Kubernetes - PullRequest
1 голос
/ 02 июля 2019

В моей сети шесть настольных компьютеров, и я хочу построить два кластера 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, я все еще вижу модули предыдущей установки:

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

Почему я вижу модули предыдущей установки?

1 Ответ

1 голос
/ 02 июля 2019

Так что да, в основном, когда вы создаете один кластер плоскости управления с помощью kubeadm - вы устанавливаете кластер с одним узлом плоскости управления, на котором работает одна база данных etcd.

Каталог etcd по умолчанию, используемый kubeadm - /var/lib/etcd на узле уровня управления.Вы должны очистить его, чтобы избежать восстановления предыдущей конфигурации кластера.

Кстати, есть такая же проблема для k8s 1.15.И это должно быть исправлено 1.15.1 https://github.com/kubernetes/sig-release/blob/3a3c9f92ef484656f0cb4867f32491777d629952/releases/patch-releases.md#115

...