2. Iniciar el cluster
Documento para iniciar un cluster kubernetes con tres nodos, un master y dos workers.
Pasos a seguir una vez instalado y actualizado el sistema operativo.
Inicializar el cluster
Se descargan las imágenes necesarias para el cluster y se inicializa el nodo master. Las direcciones IP y el nombre del nodo master deben ser cambiadas según la configuración de cada cluster.
kubeadm config images pull
kubeadm init --control-plane-endpoint=master --apiserver-advertise-address=172.16.5.11 --pod-network-cidr=172.16.5.0/27
Es aconsejable guardar el token que se genera al final de la ejecución del comando anterior, ya que será necesario para unir los nodos worker al cluster. La salida del comando anterior también muestra un comando para unir los nodos worker al cluster, que debe ser ejecutado en cada nodo worker.
Ejemplo de salida del comando anterior:
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Alternatively, if you are the root user, you can run:
export KUBECONFIG=/etc/kubernetes/admin.conf
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
You can now join any number of control-plane nodes by copying certificate authorities
and service account keys on each node and then running the following as root:
kubeadm join master.iglu.net:6443 --token 1p5izb.4irexouwmnl9nrkv \
--discovery-token-ca-cert-hash sha256:4ae3a28612046cdd15706e9e9f818311db4cfc14ef3daf3ba76a3a4df66b0712 \
--control-plane
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join master.iglu.net:6443 --token 1p5izb.4irexouwmnl9nrkv \
--discovery-token-ca-cert-hash sha256:4ae3a28612046cdd15706e9e9f818311db4cfc14ef3daf3ba76a3a4df66b0712
Configurar la red de pods
Se configura la red de pods para que los nodos puedan comunicarse entre sí. Se recomienda usar Calico como plugin de red.
..code-block:: bash
Credenciales de acceso al cluster
Se copian las credenciales de acceso al cluster para poder usar kubectl desde el nodo master.
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Reinicio del cluster
En caso de querer reiniciar el cluster, se deben eliminar los archivos de configuración y reiniciar los servicios de kubelet y containerd.
kubeadm reset --force
systemctl stop kubelet
rm -fr /etc/kubernetes/
rm -fr ~/.kube/
rm -fr /var/lib/etcd
rm -rf /var/lib/cni/