Để remote (gỡ bỏ) một master node ra khỏi cụm Kubernetes, bạn cần thực hiện các bước sau:
- Drain node: Di chuyển các pod ra khỏi node mà bạn muốn gỡ bỏ.
- Remove node: Gỡ bỏ node khỏi cụm Kubernetes.
- Clean up node: Xóa cấu hình Kubernetes trên node đó.
Bước 1: Drain node
Trước khi gỡ bỏ node, bạn cần di chuyển các pod ra khỏi node đó bằng lệnh kubectl drain:
kubectl drain <node-name> --ignore-daemonsets --delete-local-data
<node-name>: Tên của node mà bạn muốn gỡ bỏ.--ignore-daemonsets: Bỏ qua các daemonset khi di chuyển pod.--delete-local-data: Xóa dữ liệu cục bộ trên node.
Bước 2: Remove node
Sau khi đã di chuyển các pod ra khỏi node, bạn có thể gỡ bỏ node khỏi cụm Kubernetes bằng lệnh kubectl delete node:
kubectl delete node <node-name>
<node-name>: Tên của node mà bạn muốn gỡ bỏ.
Bước 3: Clean up node
Trên node mà bạn muốn gỡ bỏ, bạn cần xóa cấu hình Kubernetes và dừng các dịch vụ liên quan:
-
Reset kubeadm:
sh kubeadm reset -
Xóa cấu hình Kubernetes:
sh rm -rf /etc/kubernetes/ rm -rf /var/lib/etcd/ rm -rf ~/.kube/ -
Dừng và tắt dịch vụ kubelet:
sh systemctl stop kubelet systemctl disable kubelet
Ví dụ chi tiết:
-
Drain node:
sh kubectl drain k8s-master2 --ignore-daemonsets --delete-local-data -
Remove node:
sh kubectl delete node k8s-master2 -
Clean up node: Trên node
k8s-master2, thực hiện các lệnh sau:
sh
kubeadm reset
rm -rf /etc/kubernetes/
rm -rf /var/lib/etcd/
rm -rf ~/.kube/
systemctl stop kubelet
systemctl disable kubelet
Tóm lại
Để remote (gỡ bỏ) một master node ra khỏi cụm Kubernetes, bạn cần thực hiện các bước sau: di chuyển các pod ra khỏi node bằng lệnh kubectl drain, gỡ bỏ node khỏi cụm bằng lệnh kubectl delete node, và xóa cấu hình Kubernetes trên node đó bằng cách sử dụng lệnh kubeadm reset và xóa các thư mục cấu hình liên quan.