Subir archivos a "/"
This commit is contained in:
109
manual_k8s_node_cleanup.md
Normal file
109
manual_k8s_node_cleanup.md
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
# Manual: Limpieza y re‑adhesión de nodos Kubernetes
|
||||||
|
|
||||||
|
Este documento describe el ciclo completo para **visualizar**, **drenar/eliminar**, **limpiar** y **volver a unir** un nodo _control‑plane_ gestionado con **kubeadm**.
|
||||||
|
|
||||||
|
> Todos los comandos necesitan privilegios `root` (`sudo`) y
|
||||||
|
> reemplaza **<NODO>** por el nombre real del nodo (p. ej. `srvfkvm4`).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1 · Comprobar los nodos del clúster
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl get nodes -o wide
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2 · Drenar y eliminar el nodo
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl drain <NODO> --ignore-daemonsets --delete-emptydir-data
|
||||||
|
kubectl delete node <NODO>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2 bis · ( Si el nodo queda en bucle _NotReady_ )
|
||||||
|
Eliminar el miembro antiguo en **etcd**
|
||||||
|
|
||||||
|
1. **Obtener el ID del miembro**:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl -n kube-system exec etcd-srvfkvm01 -- etcdctl --endpoints=https://127.0.0.1:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/peer.crt --key=/etc/kubernetes/pki/etcd/peer.key --write-out=table member list
|
||||||
|
```
|
||||||
|
|
||||||
|
Busca la línea con el nodo detenido y copia su **ID**.
|
||||||
|
|
||||||
|
2. **Eliminar el miembro**:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl -n kube-system exec etcd-srvfkvm01 -- etcdctl --endpoints=https://127.0.0.1:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/peer.crt --key=/etc/kubernetes/pki/etcd/peer.key member remove <ID>
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Limpiar el nodo afectado**:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo systemctl stop kubelet containerd
|
||||||
|
sudo kubeadm reset -f
|
||||||
|
sudo rm -rf /etc/kubernetes/{manifests,pki} /var/lib/etcd
|
||||||
|
sudo systemctl start containerd
|
||||||
|
echo "192.168.4.4 srvfkvm4" | sudo tee -a /etc/hosts
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3 · Limpiar completamente la máquina
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo systemctl stop kubelet
|
||||||
|
sudo systemctl stop containerd
|
||||||
|
|
||||||
|
sudo rm -rf /var/lib/kubelet/
|
||||||
|
sudo rm -rf /etc/kubernetes
|
||||||
|
sudo rm -rf /etc/cni/
|
||||||
|
sudo rm -rf /var/lib/etcd
|
||||||
|
|
||||||
|
sudo reboot
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4 · Tras el reinicio – parar kubelet y unir de nuevo
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo systemctl stop kubelet
|
||||||
|
sudo systemctl status kubelet
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo kubeadm join 192.168.0.20:6443 --token rvz86n.c8rdb9ygtikrwnub --discovery-token-ca-cert-hash sha256:f925653dfb3d2b4697395a272e0b07cf4eb16b7ae5a2cc3b33aeab1f36fe7d13 --control-plane --certificate-key eeab98651b2f07f6ce53649b2cca1bf3c449d4fe6270ec0645219cd8c6795ca7 --apiserver-advertise-address=192.168.4.4
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5 · Verificar que el nodo volvió a **Ready**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl get nodes -o wide
|
||||||
|
kubectl -n kube-system get pods -o wide | grep etcd
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Estructura recomendada del repositorio Git
|
||||||
|
|
||||||
|
```
|
||||||
|
k8s-node-cleanup-manual/
|
||||||
|
├── manual_k8s_node_cleanup.md # ← este archivo
|
||||||
|
└── .gitignore # opcional para descartar tmp
|
||||||
|
```
|
||||||
|
|
||||||
|
Instrucciones rápidas para publicar:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git init
|
||||||
|
git add manual_k8s_node_cleanup.md
|
||||||
|
git commit -m "Manual de limpieza y re‑join de nodos Kubernetes"
|
||||||
|
git remote add origin https://github.com/<usuario>/k8s-node-cleanup-manual.git
|
||||||
|
git branch -M main
|
||||||
|
git push -u origin main
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user