Comandos Clave - 352.4 Orquestación de Contenedores

Docker Swarm

ComandoDescripción
docker swarm init --advertise-addr <IP>Inicializar Swarm
docker swarm join --token <token> <IP>:2377Unirse al Swarm
docker swarm join-token workerObtener token de worker
docker swarm join-token managerObtener token de manager
docker swarm leaveAbandonar Swarm
docker node lsListar nodos del clúster
docker service create --name X --replicas N <img>Crear servicio
docker service lsListar servicios
docker service ps <servicio>Ver tareas del servicio
docker service scale <servicio>=NEscalar servicio
docker service update --image <img> <servicio>Actualizar imagen
docker service rm <servicio>Eliminar servicio
docker service logs <servicio>Ver logs del servicio
docker stack deploy -c docker-compose.yml <stack>Desplegar stack
docker stack lsListar stacks
docker stack services <stack>Servicios de un stack
docker stack rm <stack>Eliminar stack

kubectl - Consultar Recursos

ComandoDescripción
kubectl get podsListar pods
kubectl get pods -o wideListar pods con detalles extra
kubectl get pods -n <namespace>Pods en namespace específico
kubectl get deploymentsListar deployments
kubectl get servicesListar services
kubectl get nodesListar nodos
kubectl get allListar todos los recursos
kubectl get namespacesListar namespaces
kubectl get configmapsListar configmaps
kubectl get secretsListar secrets
kubectl get ingressListar ingress

kubectl - Operaciones

ComandoDescripción
kubectl apply -f <archivo.yaml>Aplicar configuración
kubectl delete -f <archivo.yaml>Eliminar recursos del archivo
kubectl delete pod <pod>Eliminar pod
kubectl delete deployment <deploy>Eliminar deployment
kubectl describe pod <pod>Información detallada del pod
kubectl describe deployment <deploy>Info detallada del deployment
kubectl logs <pod>Ver logs del pod
kubectl logs -f <pod>Seguir logs en tiempo real
kubectl logs <pod> -c <contenedor>Logs de contenedor específico
kubectl exec -it <pod> -- bashShell en el pod
kubectl scale deployment <deploy> --replicas=NEscalar
kubectl rollout history deployment <deploy>Historial de versiones
kubectl rollout undo deployment <deploy>Rollback
kubectl create namespace <ns>Crear namespace
kubectl create configmap <cm> --from-literal=k=vCrear configmap
kubectl create secret generic <s> --from-literal=k=vCrear secret

Tipos de Service en Kubernetes

TipoDescripción
ClusterIPSolo accesible dentro del clúster (por defecto)
NodePortExpone en un puerto de cada nodo (30000-32767)
LoadBalancerProvisiona load balancer externo (cloud)
ExternalNameAlias DNS a un servicio externo

Container Registries

ComandoDescripción
docker login <registry>Autenticarse en registry
docker tag <img> <registry>/<img>:<tag>Etiquetar para registry
docker push <registry>/<img>:<tag>Subir imagen
docker pull <registry>/<img>:<tag>Descargar imagen
kubectl create secret docker-registry ...Crear secret para registry en K8s