Kubernetes es una poderosa herramienta de orquestación que puede mejorar significativamente el flujo de trabajo al automatizar despliegues, escalado y gestión de aplicaciones en contenedores. A continuación se muestran algunos de los comandos esenciales de Kubernetes para gestionar clústeres de manera eficiente.
🧩 Pods: Bloques de Construcción de Aplicaciones
Los Pods son las unidades más pequeñas desplegables en Kubernetes, representando una sola instancia de un proceso en ejecución. Estos son algunos comandos útiles para gestionar pods:
- Ver todos los pods en ejecución:
kubectl get pods
- Obtener detalles de un pod:
kubectl describe pod <pod_name>
- Desplegar un pod:
kubectl create pod <pod_name> --image=<image>
- Eliminar un pod:
kubectl delete pod <pod_name>
- Ver logs de un pod:
kubectl logs <pod_name>
- Acceder al contenedor de un pod:
kubectl exec -it <pod_name> /bin/bash
🚀 Deployments: Gestión del Ciclo de Vida de Aplicaciones
Los Deployments proporcionan una manera de gestionar el ciclo de vida de las aplicaciones, incluyendo actualizaciones y rollbacks. A continuación se encuentran los comandos clave para trabajar con deployments:
- Listar deployments:
kubectl get deployments
- Obtener detalles de un deployment:
kubectl describe deployment <deployment_name>
- Crear un deployment:
kubectl create deployment <deployment_name> --image=<image>
- Escalar deployment:
kubectl scale deployment <deployment_name> --replicas=<number>
- Desplegar cambios:
kubectl rollout restart deployment <deployment_name>
🔗 Services: Exponer y Conectar Aplicaciones
Los Services en Kubernetes permiten exponer aplicaciones y conectar diferentes partes de la infraestructura. Estos son algunos de los comandos más útiles:
- Ver servicios disponibles:
kubectl get services
- Obtener detalles de un servicio:
kubectl describe service <service_name>
- Exponer una aplicación:
kubectl expose deployment <deployment_name> --type=<type>
- Eliminar un servicio:
kubectl delete service <service_name>
📂 Namespaces: Organización de Cargas de Trabajo
Los Namespaces ayudan a organizar los recursos dentro de un clúster. Estos son los básicos para gestionar namespaces:
- Listar namespaces:
kubectl get namespaces
- Crear un namespace:
kubectl create namespace <namespace_name>
- Cambiar a un namespace:
kubectl config set-context --current --namespace=<namespace_name>
- Eliminar un namespace:
kubectl delete namespace <namespace_name>
🔍 Otros Recursos: Herramientas Adicionales
Kubernetes proporciona varias herramientas para monitorear y gestionar los clústeres. Algunos de los comandos más útiles son:
- Ver nodos del clúster:
kubectl get nodes
- Ver eventos del clúster:
kubectl get events
- Monitorear la salud del clúster:
kubectl cluster-info
🚩 Flags Útiles
Estas flags pueden mejorar la experiencia en la línea de comandos:
-o wide: Mostrar más detalles en un formato más amplio.
-f: Especificar un archivo YAML para definiciones de recursos.
-n: Definir un namespace.
–dry-run: Previsualizar cambios antes de ejecutar.
Filtrar pods por namespace:
kubectl get pods -n <namespace>
Dominar estos comandos permitirá gestionar eficazmente el entorno de Kubernetes, optimizar flujos de trabajo y asegurar el funcionamiento continuo de las aplicaciones. ¡Feliz contenerización!