En aquest tema, aprendrem com configurar un clúster de Kubernetes des de zero. Aquest procés inclou la instal·lació de les eines necessàries, la configuració dels nodes del clúster i la verificació que tot funcioni correctament.
Objectius d'Aprenentatge
- Entendre els requisits previs per configurar un clúster de Kubernetes.
- Instal·lar i configurar
kubeadm
,kubelet
ikubectl
. - Configurar els nodes mestres i treballadors.
- Verificar la configuració del clúster.
Requisits Previs
Abans de començar, assegura't de tenir:
- Accés a màquines virtuals o servidors físics amb un sistema operatiu compatible (per exemple, Ubuntu 20.04).
- Accés a Internet per descarregar les eines necessàries.
- Coneixements bàsics de línia de comandes i administració de sistemes.
Passos per Configurar un Clúster de Kubernetes
- Instal·lació de les Eines Necessàries
Actualitza els Paquets del Sistema
Instal·la Docker
Kubernetes utilitza Docker com a motor de contenidors. Instal·lem Docker amb els següents passos:
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update sudo apt-get install -y docker-ce
Instal·la kubeadm, kubelet i kubectl
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 - cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list deb https://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
- Configuració del Node Mestre
Inicia el Clúster amb kubeadm
Aquest comandament inicialitza el node mestre i proporciona instruccions per unir nodes treballadors al clúster.
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
Instal·la una Xarxa de Pod
Per exemple, utilitzem Calico:
- Configuració dels Nodes Treballadors
Uneix els Nodes Treballadors al Clúster
Executa el següent comandament en cada node treballador, utilitzant el token generat durant la inicialització del node mestre:
sudo kubeadm join <master-ip>:<master-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>
- Verificació del Clúster
Comprova l'Estat dels Nodes
Hauries de veure una llista dels nodes amb l'estat "Ready".
Comprova l'Estat dels Pods
Hauries de veure que tots els pods del sistema estan en estat "Running".
Exercicis Pràctics
Exercici 1: Instal·lació de Docker
Instal·la Docker en una màquina virtual o servidor físic seguint els passos proporcionats. Verifica la instal·lació executant:
Exercici 2: Inicialització del Node Mestre
Inicialitza un node mestre utilitzant kubeadm
i configura kubectl
per l'usuari no root. Verifica que el node mestre estigui en estat "Ready".
Exercici 3: Unió de Nodes Treballadors
Uneix almenys un node treballador al clúster i verifica que tots els nodes estiguin en estat "Ready".
Solucions als Exercicis
Solució a l'Exercici 1
Després d'instal·lar Docker, executa:
Hauries de veure una sortida similar a:
Solució a l'Exercici 2
Després d'inicialitzar el node mestre i configurar kubectl
, executa:
Hauries de veure una sortida similar a:
Solució a l'Exercici 3
Després d'unir els nodes treballadors, executa:
Hauries de veure una sortida similar a:
NAME STATUS ROLES AGE VERSION master-node Ready control-plane,master 15m v1.21.0 worker-node1 Ready <none> 5m v1.21.0 worker-node2 Ready <none> 5m v1.21.0
Conclusió
En aquesta secció, hem après a configurar un clúster de Kubernetes des de zero, incloent la instal·lació de les eines necessàries, la configuració dels nodes mestres i treballadors, i la verificació del clúster. Amb aquesta base, estem preparats per explorar els components bàsics de Kubernetes en el següent mòdul.
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