Hoy quiero compartir con ustedes una guía muy útil para quienes trabajamos con Kubernetes. En esta entrada encontrarás los comandos más esenciales de kubectl
para gestionar clústeres, pods, despliegues, servicios, configuraciones y más.
🛠️ Primeros pasos con kubectl
Para administrar y obtener información sobre un clúster de Kubernetes, puedes usar la herramienta de línea de comandos kubectl, que es el cliente oficial de Kubernetes.
1️⃣ Instalar kubectl
Asegúrate de tener kubectl instalado en tu máquina. Puedes encontrar instrucciones de instalación en la documentación oficial de Kubernetes:
2️⃣ Configurar kubectl
Después de instalarlo, necesitas configurar kubectl
para conectarte al clúster. Esto normalmente implica:
- Proporcionar la dirección del servidor API del clúster.
- Establecer las credenciales de autenticación necesarias.
Puedes hacerlo utilizando el comando:
kubectl config
🚀 Comandos Esenciales
A continuación, comandos por categoría para que puedas navegar Kubernetes con soltura:
📦 Comandos de clúster
kubectl cluster-info # Muestra información del clúster
kubectl get nodes -o wide # Lista todos los nodos y muestra sus IPs
🐳 Comandos de pods
kubectl get pods # Lista todos los pods
kubectl get pods -o wide # Información detallada de pods
kubectl get pods -l <label>=<valor> # Filtra pods por etiqueta
kubectl get pod <nombre> # Muestra un pod específico
kubectl describe pod <pod> # Detalles del pod
kubectl logs <pod> # Muestra logs de un pod
kubectl exec -it <pod> -- <cmd> # Ejecuta un comando en un pod
kubectl delete pod <pod> # Elimina un pod
kubectl explain pod <recurso> # Muestra descripción del recurso Pod
🚢 Comandos de despliegue
Estos comandos te permiten gestionar despliegues (Deployments), que son controladores que administran el ciclo de vida de tus pods y aseguran que el estado deseado se mantenga activo en el clúster.
kubectl create deployment <nombre> --image=<imagen> # Crea un nuevo despliegue
kubectl get deployments # Lista todos los despliegues
kubectl describe deployment <nombre> # Detalles de un despliegue específico
kubectl scale deployment <nombre> --replicas=<número> # Escala un despliegue a más (o menos) réplicas
kubectl rollout restart deployment/<nombre> # Reinicia el despliegue
kubectl rollout status deployment/<nombre> # Muestra el estado del rollout
kubectl create deployment <nombre> --image=<imagen> -o yaml # Genera el YAML del despliegue sin aplicarlo
kubectl create deployment <nombre> --image=<imagen> -o yaml --dry-run=client # Genera el YAML del Deployment sin aplicarlo.
kubectl create deployment <nombre> --image=<imagen> -o yaml --dry-run=client > nombre.yaml # Genera y guarda el YAML del Deployment en un archivo.
🌐 Comandos de servicios
Los servicios permiten exponer aplicaciones ejecutándose en tus pods, ya sea para el acceso interno o externo.
kubectl get services # Lista todos los servicios
kubectl describe service <nombre> # Detalles de un servicio específico
kubectl expose pod <nombre> # Crea un servicio que expone un pod
kubectl delete service <nombre> # Elimina un servicio
kubectl port-forward <pod> <puerto-local>:<puerto-remoto> # Redirige tráfico del host al pod
🧩 ConfigMaps y Secrets
ConfigMaps y Secrets te permiten manejar configuración y datos sensibles (como contraseñas o tokens) por separado del código de tus aplicaciones.
kubectl create configmap <nombre> --from-literal=<clave>=<valor> # Crea un ConfigMap desde un valor literal
kubectl create secret generic <nombre> --from-literal=<clave>=<valor> # Crea un Secret genérico
kubectl get configmaps # Lista todos los ConfigMaps
kubectl get secrets # Lista todos los Secrets
kubectl describe configmap <nombre> # Detalla un ConfigMap específico
🗂️ Namespaces
Los namespaces permiten dividir recursos dentro de un mismo clúster en espacios lógicos aislados.
kubectl get namespaces # Lista todos los namespaces
kubectl create namespace <nombre> # Crea un nuevo namespace
kubectl delete namespace <nombre> # Elimina un namespace
kubectl config set-context --current --namespace=<nombre> # Cambia el contexto actual al namespace indicado
🛠️ Recursos
Manejo general de recursos definidos en archivos YAML o JSON.
kubectl apply -f <archivo> # Aplica un archivo de configuración
kubectl edit <tipo> <nombre> # Edita un recurso directamente desde el editor
kubectl delete -f <archivo> # Elimina un recurso definido en archivo
kubectl get <tipo> # Lista recursos por tipo
kubectl describe <tipo> <nombre> # Muestra detalles de un recurso específico
📊 Estadísticas y eventos
Estos comandos te ayudan a monitorear el uso de recursos y eventos recientes en el clúster.
kubectl top nodes # Muestra el uso de CPU/Memoria por nodo
kubectl top pods # Muestra el uso de CPU/Memoria por pod
kubectl events # Lista eventos recientes (versión antigua)
kubectl get events # Lista eventos recientes (formato moderno)
🔐 Permisos
Consulta sobre roles definidos en el clúster, útiles para manejar RBAC (control de acceso basado en roles).
kubectl get roles # Lista todos los roles definidos en el clúster
¿Tienes algún comando favorito que no aparece aquí? ¡Déjalo en los comentarios! 👇
¿Te gustaría ver más contenido como este? ¡Sígueme para más tips de DevOps y Kubernetes en español! 🚀🐳
Top comments (0)