Certified Kubernetes Administrator
Guía de preparación oficial para el grupo de estudio CKA impulsado por CNCF y Cloud Native Cali. Basada en el currículo oficial CNCF v1.32+, diseñada para garantizar tu certificación como Kubernetes Administrator.
01. Arquitectura & Instalación
1.1 Arquitectura del Clúster Kubernetes
Entendimiento profundo de los componentes y arquitectura de Kubernetes.
- Control Plane: API Server, etcd, Scheduler, Controller Manager.
- Worker Nodes: kubelet, kube-proxy, container runtime.
- Cloud Controller Manager y componentes opcionales.
- Kubernetes API Primitives y object model.
kubectl get nodes -o wide
kubectl api-resources
kubectl get pods -n kube-system
1.2 Instalación con Kubeadm
Proceso completo de instalación de clúster Kubernetes con kubeadm.
- Preparación de infraestructura y requisitos previos.
- Instalación de container runtime (containerd/docker).
- Configuración de kubeadm, kubelet, kubectl.
- Inicialización del control plane con kubeadm init.
- Unión de worker nodes con kubeadm join.
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
kubeadm join
1.3 Configuración de Red y CNI
Configuración de red de pods y plugins CNI.
- Conceptos CNI (Container Network Interface).
- Instalación de plugins: Calico, Flannel, Weave.
- Pod CIDR y overlay networks.
- Service networking y kube-proxy.
kubectl get pods -n kube-system
ip addr show
kubectl logs -n kube-system -l k8s-app=calico-node
1.4 Alta Disponibilidad y Stacked/External etcd
Configuración de clústeres tolerantes a fallos.
- Arquitectura stacked vs external etcd.
- Load balancer para API server.
- Líder election y quorum.
- Backup y recovery de etcd.
ETCDCTL_API=3 etcdctl --endpoints https://127.0.0.1:2379 snapshot save snapshot.db
kubectl get endpoints -n default
kubectl get nodes -o wide
1.5 TLS y Comunicaciones Seguras
Gestión de certificados y comunicaciones seguras.
- Certificados PKI del clúster.
- Configuración TLS para API server.
- Rotación de certificados.
- Validación de configuración segura.
kubeadm certs renew all
openssl x509 -in /etc/kubernetes/pki/apiserver.crt -text -noout
kubectl config view --raw
1.6 Helm y Kustomize (Actualización 2026)
Gestión de paquetes y configuración declarativa avanzada.
- Instalación de Charts con valores personalizados.
- Generación de manifiestos con Kustomize (overlays).
- Template rendering y gestión de dependencias.
kubectl apply -k ./overlays/production
helm template myapp ./mychart
1.7 CRDs y Operators
Extender Kubernetes mediante Custom Resource Definitions y patrón Operator.
- Creación y gestión de CRDs.
- Patrón Operator para automatización.
- Custom Controllers y ciclo de vida.
kubectl get crd
kubectl explain mycrd.spec
1.8 Upgrade y Mantenimiento del Clúster
Proceso de actualización y mantenimiento del clúster.
- Upgrade de control plane con kubeadm.
- Drain, upgrade, uncordon de nodes.
- Verificación de versión y compatibilidad.
- Rollback y recuperación.
kubectl drain node-1 --ignore-daemonsets
apt-get install -y kubeadm=1.32.0-00
kubeadm upgrade apply v1.32.0
02. Workloads & Scheduling
2.1 Pods y Configuración
Entender el ciclo de vida de los contenedores y gestión de recursos.
- Configuración de recursos (requests/limits).
- ConfigMaps y Secrets.
- Variables de entorno y volúmenes.
2.2 Deployments y Rolling Updates
Estrategias de despliegue y gestión de versiones.
- Rolling Updates y Rollbacks.
- Strategies: Recreate, RollingUpdate.
- Health checks y probes.
kubectl rollout status deployment/nginx
kubectl rollout undo deployment/nginx
2.3 Autoscaling: HPA y VPA
Configuración de escalado horizontal y vertical de pods.
- Horizontal Pod Autoscaler (HPA).
- Vertical Pod Autoscaler (VPA).
- Metrics Server y custom metrics.
kubectl get hpa
kubectl top pods
2.4 Pod Scheduling y Taints/Tolerations
Control avanzado de ubicación de pods mediante scheduling.
- Node selectors y affinity rules.
- Taints y tolerations.
- Priority classes y preemption.
kubectl cordon node-1
kubectl describe node node-1 | grep -i taint
03. Servicios & Networking
3.1 Gateway API e Ingress
Transición de recursos Ingress tradicionales a la nueva Gateway API.
- Configuración de
HTTPRouteyGatewayClass. - Reglas de reescritura y TLS.
- Migración desde Ingress tradicional.
kubectl get httproute
kubectl describe gateway my-gateway
3.2 Network Policies
Control de tráfico entre pods mediante políticas de red.
- Default deny y allow policies.
- Namespace y pod selectors.
- Reglas de ingress/egress.
kubectl describe networkpolicy deny-all
kubectl logs -n kube-system -l app=calico-node
3.3 Tipos de Servicios y Endpoints
Conectividad de aplicaciones mediante diferentes tipos de servicios.
- ClusterIP, NodePort, LoadBalancer.
- Service discovery y DNS.
- Endpoints y EndpointSlices.
kubectl describe svc nginx-service
kubectl get endpoints
3.4 CNI Plugins y Configuración
Entendimiento de la interfaz de red de contenedores.
- Conceptos CNI (Container Network Interface).
- Plugins populares: Calico, Flannel, Weave.
- Pod CIDR y overlay networks.
04. Storage & Persistencia
4.1 Volúmenes Persistentes
Gestión de almacenamiento persistente en Kubernetes.
- PVs, PVCs y StorageClasses.
- Tipos de acceso: RWO, RWX, ROX.
- Dynamic provisioning.
kubectl describe pvc data-pvc
kubectl get storageclass
4.2 Storage Classes y Dynamic Provisioning
Provisionamiento dinámico de almacenamiento.
- StorageClass y provisioners.
- Parámetros de configuración.
- Default StorageClass.
kubectl get sc
kubectl describe storageclass gp2
4.3 Volume Types y Access Modes
Diferentes tipos de volúmenes y modos de acceso.
- RWO, RWX, ROX access modes.
- hostPath, emptyDir, configMap, secret.
- CSI drivers y volúmenes externos.
4.4 Troubleshooting de Storage
Diagnóstico de problemas de almacenamiento.
- Estados de PVC: Pending, Bound, Lost.
- Eventos de storage y errores comunes.
- Reciclaje de volúmenes y datos.
kubectl describe pvc data-pvc
kubectl get events --field-selector involvedObject.kind=PersistentVolumeClaim
05. Troubleshooting & Debugging
5.1 Diagnóstico de Problemas
Herramientas y técnicas para resolución de problemas.
- kubectl logs, describe, exec.
- Eventos y condiciones del clúster.
- Debug de redes y almacenamiento.
kubectl describe pod pod-name
kubectl get events --sort-by=.metadata.creationTimestamp
5.2 Troubleshooting de Clusters
Diagnóstico de problemas a nivel de clúster y nodos.
- Componentes del control plane.
- Node problems: NotReady, kubelet issues.
- Network connectivity y DNS.
kubectl describe node node-1
kubectl get componentstatuses
journalctl -u kubelet
5.3 Monitoring y Resource Usage
Monitoreo de recursos y métricas del clúster.
- Metrics Server y resource metrics.
- kubectl top commands.
- Resource consumption analysis.
kubectl top pods --all-namespaces
kubectl describe node node-1 | grep -A 5 "Allocated resources"
5.4 Debug de Redes y Servicios
Herramientas y técnicas para debugging de redes.
- Conectividad entre pods y servicios.
- DNS resolution problems.
- Network policy troubleshooting.
kubectl exec -it pod-1 -- curl http://service-name:port
kubectl get ep service-name
5.5 Log Analysis y Container Output
Extracción y análisis de logs para diagnóstico.
- Container logs y stdout/stderr.
- Previous container logs.
- System logs y journalctl.
kubectl logs pod-name --previous
kubectl logs pod-name -c container-name
journalctl -u kubelet -f