Introducció
kubectl
és l'eina de línia de comandes per interactuar amb el clúster de Kubernetes. Permet als usuaris desplegar aplicacions, inspeccionar i gestionar recursos del clúster, i veure registres. És una eina essencial per a qualsevol administrador o desenvolupador que treballi amb Kubernetes.
Instal·lació de kubectl
Pas 1: Descarregar kubectl
Per instal·lar kubectl
, primer cal descarregar la versió adequada per al vostre sistema operatiu. Podeu trobar les instruccions detallades a la documentació oficial de Kubernetes.
Pas 2: Instal·lar kubectl
En Linux
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" chmod +x kubectl sudo mv kubectl /usr/local/bin/
En macOS
En Windows
Podeu utilitzar choco
(Chocolatey) per instal·lar kubectl
:
Pas 3: Verificar la instal·lació
Un cop instal·lat, podeu verificar que kubectl
funciona correctament executant:
Configuració de kubectl
Perquè kubectl
pugui comunicar-se amb el vostre clúster de Kubernetes, necessiteu un fitxer de configuració (kubeconfig
). Aquest fitxer conté la informació necessària per connectar-se al clúster, com ara el servidor API i les credencials.
Configuració Automàtica
Si heu creat el clúster amb eines com minikube
o kubeadm
, el fitxer de configuració es genera automàticament. Per exemple, amb minikube
:
Configuració Manual
Si necessiteu configurar manualment el fitxer kubeconfig
, podeu crear-lo a ~/.kube/config
amb el següent format:
apiVersion: v1 clusters: - cluster: server: https://<API_SERVER_ENDPOINT> certificate-authority: /path/to/ca.crt name: my-cluster contexts: - context: cluster: my-cluster user: my-user name: my-context current-context: my-context kind: Config preferences: {} users: - name: my-user user: client-certificate: /path/to/client.crt client-key: /path/to/client.key
Comandes Bàsiques de kubectl
Obtenir Informació del Clúster
Llistar Nodes
Llistar Pods
Descriure un Pod
Crear Recursos
Podeu crear recursos a partir de fitxers de configuració YAML:
Esborrar Recursos
Veure Registres d'un Pod
Executar una Comanda en un Pod
Exercicis Pràctics
Exercici 1: Llistar Nodes i Pods
- Llista tots els nodes del clúster.
- Llista tots els pods en el namespace per defecte.
Solució
Exercici 2: Crear un Pod
- Crea un fitxer
nginx-pod.yaml
amb el següent contingut:
apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: nginx:latest ports: - containerPort: 80
- Aplica el fitxer per crear el pod.
Solució
Exercici 3: Veure Registres del Pod
- Veure els registres del pod
nginx
.
Solució
Errors Comuns i Consells
Error: "The connection to the server was refused"
Aquest error sovint indica que kubectl
no pot connectar-se al servidor API. Verifiqueu que el clúster està en funcionament i que el fitxer kubeconfig
està configurat correctament.
Error: "Unauthorized"
Aquest error indica que les credencials proporcionades no són vàlides. Assegureu-vos que el fitxer kubeconfig
conté les credencials correctes.
Conclusió
kubectl
és una eina poderosa i essencial per gestionar clústers de Kubernetes. En aquest tema, hem après com instal·lar i configurar kubectl
, així com algunes de les comandes bàsiques per interactuar amb el clúster. Amb aquesta base, estareu preparats per explorar més funcions avançades de Kubernetes en els següents mòduls.
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