Guía de Comandos Esenciales de Kubernetes

  1. Gestión de Clúster

1.1 Información del Clúster

# Ver estado del clúster
kubectl cluster-info

# Comprobar salud de componentes
kubectl get componentstatuses

# Consultar versión
kubectl version

# Monitorear recursos
kubectl top nodes
kubectl top pods

# Eventos recientes
kubectl get events -A --sort-by='.lastTimestamp'

1.2 Administración de Nodos

# Listar nodos
kubectl get no
kubectl get nodes -o wide

# Detalles de nodo
kubectl describe node <nombre-nodo>

# Etiquetar nodo
kubectl label nodes <nombre-nodo> clave=valor

# Preparar mantenimiento
kubectl drain <nombre-nodo> --ignore-daemonsets --delete-local-data

# Reactivar nodo
kubectl uncordon <nombre-nodo>

# Recursos asignados
kubectl describe nodes | grep -A 10 "Recursos Asignados"</nombre-nodo></nombre-nodo></nombre-nodo></nombre-nodo>
  1. Espacios de Nombres

# Listar namespaces
kubectl get ns

# Crear namespace
kubectl create ns <espacio>

# Cambiar contexto
kubectl config set-context --current --namespace=<espacio>

# Namespace actual
kubectl config view --minify | grep namespace

# Eliminar namespace
kubectl delete ns <espacio>

# Recursos por namespace
kubectl get all -n <espacio></espacio></espacio></espacio></espacio>
  1. Operaciones con Pods

3.1 Comandos Básicos

# Listar pods globales
kubectl get pods -A

# Pods por namespace
kubectl get pods -n <espacio>

# Detalles de pod
kubectl describe pod <pod> -n <espacio>

# Ver logs
kubectl logs <pod> -n <espacio>

# Seguir logs en tiempo real
kubectl logs -f <pod> -n <espacio>

# Conectar al contenedor
kubectl exec -it <pod> -n <espacio> -- /bin/sh

# Ejecutar comando remoto
kubectl exec <pod> -n <espacio> -- comando

# Eliminar pod
kubectl delete pod <pod> -n <espacio></espacio></pod></espacio></pod></espacio></pod></espacio></pod></espacio></pod></espacio></pod></espacio>

3.2 Diagnóstico

# Eventos de pod
kubectl describe pod <pod> | grep -A 15 Eventos

# Redirección de puertos
kubectl port-forward <pod> <local>:<remoto> -n <espacio>

# Transferir archivos
kubectl cp archivo.local <espacio>/<pod>:ruta
kubectl cp <espacio>/<pod>:ruta archivo.local</pod></espacio></pod></espacio></espacio></remoto></local></pod></pod>
  1. Administración de Deploymants

# Listar deployments
kubectl get deploy -A

# Crear deployment
kubectl create deploy <deployment> --image=imagen -n <espacio>

# Aplicar configuración
kubectl apply -f deployment.yaml

# Escalar réplicas
kubectl scale deploy/<deployment> --replicas=5 -n <espacio>

# Actualizar imagen
kubectl set image deploy/<deployment> contenedor=nueva-imagen -n <espacio>

# Revertir cambios
kubectl rollout undo deploy/<deployment> -n <espacio>

# Historial de versiones
kubectl rollout history deploy/<deployment> -n <espacio>

# Pausar actualización
kubectl rollout pause deploy/<deployment> -n <espacio></espacio></deployment></espacio></deployment></espacio></deployment></espacio></deployment></espacio></deployment></espacio></deployment>
  1. Servicios y Redes

# Listar servicios
kubectl get svc -A

# Exponer deployment
kubectl expose deploy <deployment> --port=80 --target-port=8080 -n <espacio>

# Puntos de acceso
kubectl get endpoints <servicio> -n <espacio>

# Configuración Ingress
kubectl get ingress -A
kubectl describe ingress <ingress> -n <espacio></espacio></ingress></espacio></servicio></espacio></deployment>
  1. Configuración y Secretos

# ConfigMaps
kubectl get cm -n <espacio>
kubectl create cm <config> --from-file=ruta -n <espacio>

# Secrets
kubectl get secrets -n <espacio>
kubectl create secret generic <secreto> --from-literal=usuario=admin -n <espacio>
echo -n "clave" | base64</espacio></secreto></espacio></espacio></config></espacio>
  1. Almacenamiento

# Volúmenes persistentes
kubectl get pv
kubectl get pvc -n <espacio>
kubectl get sc</espacio>
  1. Monitoreo y Seguridad

# Uso de recursos
kubectl top pod <pod> -n <espacio>
kubectl top node

# Auditoría RBAC
kubectl get roles,rolebindings -n <espacio>
kubectl get clusterroles,clusterrolebindings</espacio></espacio></pod>
  1. Automatización

# Eliminar pods fallidos
kubectl delete pods --field-selector=status.phase=Failed -n <espacio>

# Reiniciar deployment
kubectl patch deploy <deployment> -p '{"spec":{"template":{"metadata":{"annotations":{"fecha":"$(date +%s)"}}}}}' -n <espacio>

# Exportar configuración
kubectl get deploy <deployment> -o yaml -n <espacio> > config.yaml</espacio></deployment></espacio></deployment></espacio>
  1. Optimizaciones

# Atajos comunes
alias k='kubectl'
alias kp='kubectl get pods'
alias kd='kubectl describe'
alias kl='kubectl logs'

# Plantillas YAML
kubectl run nginx --image=nginx --dry-run=client -o yaml > pod.yaml
kubectl create deploy nginx --image=nginx --dry-run=client -o yaml > deploy.yaml

Etiquetas: Kubernetes kubectl gestión-clúster despliegues contenedores

Publicado el 7-23 04:01