Skip to main content

PODS

image.png

LosUn podsPod sonen losKubernetes objetoses la unidad más pequeñospequeña de despliegue y básicosejecución quedentro sedel pueden implementar en Kubernetes.clúster. Un pod esencapsula uno o variosmás contenedores que comparten unael mismo entorno de red, almacenamiento y configuración.

Características principales de un pod:

  1. Uno o varios contenedores: Aunque lo más común es que un pod contenga un solo contenedor, puede tener varios (por ejemplo, un contenedor principal y un "sidecar" para tareas auxiliares).

  2. Red compartida: Todos los contenedores dentro del pod comparten la misma dirección IP, el mismo puerto de red y las mismas interfaces de red.

  3. Volúmenes compartidos: Los contenedores dentro del pod pueden compartir volúmenes para intercambiar datos entre ellos.

  4. Ciclo de vida conjunto: Los contenedores dentro de un pod siempre se desplegaránejecutan juntos en unel mismo nodo y ense casogestionan como una unidad. Si el pod muere, todos los contenedores dentro de caerél un pod este notambién se recuperará. detienen.

Ejemplo debásico fichero "yaml" de un "Pod" con un único "container"

pod:

vi myapp.ymlyaml
---
apiVersion: v1
kind: Pod
metadata:
  name: myapp
labels:
    app: web
spec:
  containers:
  - name: frontmyapp-container
    image: httpd:latest
    ports:
    - containerPort: 80

Instrucciones para PODs

# despliegue del Pod
kubectl apply -f myapp.yml

# Eliminar el Pod
kubectl delete -f myapp.yml

Instrucciones para PODs

# Devuelve el listado de pods
kubectl get pods

# Describe un pod
kubectl describe pod <name>

# Devuelve el consumo de recursos de un nodo
kubectl top pod <name> 

# Ejecutar un comando sobre un contenedor
kubectl exec <pod> -c <contenedor> <comando>

# Copia un fichero en un contenedor
kubectl cp /tmp/foo <pod-name>:/tmp/bar -c <container-name>

# Consulta de los de un contenedor
kubectl logs <pod-name> -c <container-name>

# Port forwarding
kubectl port-forward --address 0.0.0.0 pod/<pod-name> <host-port>:<pod-port>