Introducció a Kubeadm
Kubeadm és una eina que proporciona una manera fàcil de configurar un clúster de Kubernetes. És especialment útil per a aquells que volen una configuració ràpida i senzilla sense haver de preocupar-se per tots els detalls de la configuració manual. Kubeadm s'encarrega de les tasques més complexes, com ara la generació de certificats, la configuració de components del clúster i la unió de nodes al clúster.
Objectius d'Aprenentatge
En aquesta secció, aprendràs:
- Què és Kubeadm i per a què serveix.
- Com instal·lar Kubeadm.
- Com inicialitzar un clúster de Kubernetes amb Kubeadm.
- Com unir nodes addicionals al clúster.
- Com gestionar i mantenir el clúster utilitzant Kubeadm.
Instal·lació de Kubeadm
Requisits Previs
Abans d'instal·lar Kubeadm, assegura't de complir els següents requisits:
- Un sistema operatiu compatible (per exemple, Ubuntu, CentOS).
- Accés root o permisos sudo.
- Una connexió a Internet per descarregar els paquets necessaris.
- Configuració de la xarxa adequada (per exemple, desactivar el swap).
Passos d'Instal·lació
-
Actualitza els paquets del sistema:
sudo apt-get update sudo apt-get upgrade -y
-
Instal·la Docker:
Kubernetes utilitza Docker com a motor de contenidors. Instal·la Docker seguint les instruccions oficials o utilitza els següents comandos:
sudo apt-get install -y docker.io sudo systemctl enable docker sudo systemctl start docker
-
Instal·la Kubeadm, Kubelet i Kubectl:
Aquests són els components bàsics necessaris per configurar i gestionar el clúster.
sudo apt-get update && sudo apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - sudo bash -c 'cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb http://apt.kubernetes.io/ kubernetes-xenial main EOF' sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl
Inicialització del Clúster
Un cop instal·lats els components necessaris, pots inicialitzar el clúster amb Kubeadm.
-
Inicialitza el clúster:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
Aquest comando inicialitza el clúster i proporciona instruccions sobre com configurar
kubectl
i unir nodes addicionals. -
Configura
kubectl
per l'usuari no root:mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
-
Desplega una xarxa de pods:
Perquè els pods puguin comunicar-se entre ells, necessites desplegar una xarxa de pods. Aquí utilitzarem Flannel com a exemple:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Unir Nodes al Clúster
Per unir nodes addicionals al clúster, executa el següent comando al node que vols unir:
sudo kubeadm join <master-ip>:<master-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>
El <master-ip>
, <master-port>
, <token>
i <hash>
es proporcionen com a sortida del comando kubeadm init
.
Gestió i Manteniment del Clúster
Actualització del Clúster
Per actualitzar el clúster, primer actualitza kubeadm
:
Després, actualitza el clúster:
Reinicialització del Clúster
Si necessites reinicialitzar el clúster, pots utilitzar el següent comando:
Aquest comando restablirà el clúster a l'estat inicial.
Exercicis Pràctics
- Instal·la Kubeadm en una màquina virtual o servidor i inicialitza un clúster de Kubernetes.
- Uneix un node addicional al clúster.
- Desplega una aplicació simple en el clúster i verifica que els pods estan funcionant correctament.
Solucions
Exercici 1
Segueix els passos d'instal·lació i inicialització descrits anteriorment.
Exercici 2
Executa el comando kubeadm join
proporcionat per la sortida del comando kubeadm init
en el node addicional.
Exercici 3
Desplega una aplicació simple, com ara Nginx:
kubectl create deployment nginx --image=nginx kubectl expose deployment nginx --port=80 --type=NodePort
Verifica que els pods estan funcionant:
Conclusió
En aquesta secció, has après com utilitzar Kubeadm per configurar un clúster de Kubernetes de manera ràpida i senzilla. Has après a instal·lar Kubeadm, inicialitzar un clúster, unir nodes addicionals i gestionar el clúster. Amb aquests coneixements, estàs preparat per desplegar i gestionar aplicacions en un entorn de Kubernetes.
Curs de Kubernetes
Mòdul 1: Introducció a Kubernetes
- Què és Kubernetes?
- Arquitectura de Kubernetes
- Conceptes i Terminologia Clau
- Configuració d'un Clúster de Kubernetes
- CLI de Kubernetes (kubectl)
Mòdul 2: Components Bàsics de Kubernetes
Mòdul 3: Gestió de Configuració i Secrets
Mòdul 4: Xarxes en Kubernetes
Mòdul 5: Emmagatzematge en Kubernetes
Mòdul 6: Conceptes Avançats de Kubernetes
Mòdul 7: Monitorització i Registre
- Monitorització amb Prometheus
- Registre amb Elasticsearch, Fluentd i Kibana (EFK)
- Controls de Salut i Probes
- Servidor de Mètriques
Mòdul 8: Seguretat en Kubernetes
- Control d'Accés Basat en Rols (RBAC)
- Polítiques de Seguretat de Pods
- Seguretat de Xarxa
- Seguretat d'Imatges
Mòdul 9: Escalabilitat i Rendiment
- Autoscalat Horitzontal de Pods
- Autoscalat Vertical de Pods
- Autoscalat de Clúster
- Optimització del Rendiment
Mòdul 10: Ecosistema i Eines de Kubernetes
Mòdul 11: Estudis de Cas i Aplicacions del Món Real
- Desplegament d'una Aplicació Web
- CI/CD amb Kubernetes
- Execució d'Aplicacions Stateful
- Gestió Multi-Clúster