Pods
Un pod en Kubernetes es la unidad más pequeña de despliegue y es la forma básica de organizar y ejecutar contenedores en un clúster de Kubernetes. Un pod puede contener uno o más contenedores que comparten recursos y se ejecutan en el mismo espacio de red y almacenamiento.
En Kubernetes, los pods son efímeros y pueden ser eliminados y recreados en cualquier momento. Los pods son administrados por el plano de control de Kubernetes y se ejecutan en los nodos de trabajo (Worker Nodes) del clúster.
Comandos generales
Crear un pod
Para crear un pod podemos ejecutar el siguiente comando:
kubectl run <nombre_del_pod> --image=<imagen_del_contenedor>
Por ejemplo:
kubectl run mi-web-apache --image=httpd:latest
Ver pods
Para ver los pods en un clúster de Kubernetes, podemos utilizar el comando kubectl get pods
:
kubectl get pods
NOTA: usa
-o wide
para ver más detalles de los pods.
Para ver los detalles de un pod en particular, podemos utilizar el comando kubectl describe pod <nombre_del_pod>
:
kubectl describe pod mi-web-apache
Logs de un pod
Para ver los logs de un pod, podemos utilizar el comando kubectl logs <nombre_del_pod>
:
kubectl logs mi-web-apache
Ejecutar comandos en un pod
Para ejecutar un comando en un pod, podemos utilizar el comando kubectl exec -it <nombre_del_pod> -- <comando>
:
kubectl exec -it mi-web-apache -- ls /usr/local/apache2/htdocs
Eliminar un pod
Para eliminar un pod, podemos utilizar el comando kubectl delete pod <nombre_del_pod>
:
kubectl delete pod mi-web-apache
Aplicar mediante un manifiesto
También podemos crear un pod utilizando un manifiesto en formato YAML o JSON. Para ello, creamos un manifiesto con la definición del pod y luego lo aplicamos con el comando kubectl apply -f <archivo_de_configuracion>
.
kubectl apply -f Kubernetes/manifests/mi-pod.yaml
Port-forwarding
Podemos redirigir el tráfico de un puerto de un pod o un servicio a un puerto local utilizando el comando kubectl port-forward <nombre_del_pod> <puerto_local>:<puerto_pod>
. Por ejemplo, para redirigir el tráfico del puerto 80 de un pod al puerto 9000 de local, podemos ejecutar el siguiente comando:
kubectl port-forward <nombre_del_pod> 9000:80
Copiar ficheros
Para copiar ficheros entre el host y un pod, podemos utilizar el comando kubectl cp
. Por ejemplo, para copiar un fichero del host al pod:
kubectl cp <fichero> <nombre_del_pod>:<directorio>
O para copiar un fichero del pod al host:
kubectl cp <nombre_del_pod>:<fichero> <directorio>