Cómo desplegar un pod con múltiples contenedores en Kubernetes

La razón principal para implementar un pod de múltiples contenedores es cuando un solo contenedor no puede encargarse de todos los aspectos de la aplicación. Por ejemplo, supongamos que quieres implementar un pod para NGINX, pero necesitas algo que monitoree los logs de ese contenedor. Para lograrlo, puedes implementar un pod de múltiples contenedores.

Puedes creerlo o no, el proceso no es muy complicado.

A continuación, te guiaré por el proceso de implementación de un pod de múltiples contenedores en un clúster de Kubernetes. Específicamente, crearemos un pod con dos contenedores: uno que ejecutará el servidor web NGINX, y otro que compartirá un volumen con el primer contenedor. Luego, el segundo contenedor escribirá datos en el primero para mostrar cómo pueden interactuar los pods de múltiples contenedores.

Cómo funciona el protocolo FTP y cómo resolver problemas relacionados con él

Lo que necesitarás

Lo único que necesitarás para que esto funcione es un clúster de Kubernetes en funcionamiento. Si aún no has creado tu clúster, consulta: Cómo implementar un clúster de Kubernetes en un servidor Ubuntu. Una vez que tu clúster esté funcionando, estarás listo para implementar un pod de múltiples contenedores.

Cómo definir un pod de múltiples contenedores

Al igual que con todo en el ámbito de Kubernetes, definimos nuestro pod de múltiples contenedores en un archivo YAML. Crea un nuevo archivo con el siguiente comando:

nano multi-pod.yml

Pega el siguiente contenido en ese archivo:

```
apiVersion: v1
kind: Pod
metadata:
name: multi-pod
spec:
restartPolicy: Never
volumes:
- name: shared-data
emptyDir: {}
containers:
- name: nginx-container
image: nginx
volumeMounts:
- name: shared-data
mountPath: /usr/share/nginx/html
- name: ubuntu-container
image: ubuntu
volumeMounts:
- name: shared-data
mountPath: /pod-data
command: ["/bin/sh"]
args: ["-c", "echo Hello, Newsmatic > /pod-data/index.html"]
```

Revisa el archivo YAML. Verás que hemos implementado un contenedor basado en la imagen de NGINX como nuestro servidor web. El segundo contenedor, llamado ubuntu-container, ejecuta un contenedor basado en la imagen de Ubuntu y escribe el texto "Hola, Newsmatic" en el archivo index.html que sirve el primer contenedor.

Microsoft lanza servicio gratuito de almacenamiento en la nube para usuarios de Windows

Guarda y cierra ese archivo.

Cómo implementar el pod de múltiples contenedores

Para implementar este pod de múltiples contenedores, ejecuta el siguiente comando:

kubectl apply -f multi-pod.yml

Una vez que el pod esté implementado, espera un poco a que los contenedores cambien al estado en ejecución (aunque solo el primer contenedor continuará en ejecución) y luego accede al shell del contenedor de NGINX con el siguiente comando:

kubectl exec -it multi-pod -c nginx-container -- /bin/bash

Ahora deberías encontrarte en el prompt de bash del contenedor de NGINX. Para asegurarte de que el segundo contenedor hizo su trabajo, ejecuta el siguiente comando:

Cómo evitar que el archivo de registro de transacciones en SQL Server crezca demasiado grande

curl localhost

Deberías ver el texto "Hola, Newsmatic" impreso (Figura A).

Figura A

Cómo desplegar un pod con múltiples contenedores en Kubernetes - Nube | Imagen 1 Newsmatic

¡Hurra!

Y así es como puedes implementar un pod de múltiples contenedores en tu clúster de Kubernetes. Aunque este es un ejemplo muy básico, te muestra cómo pueden interactuar los contenedores dentro de un solo pod.

Debería su organización migrar a Google Apps desde Microsoft Exchange

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Nube, allí encontraras muchos artículos similares a Cómo desplegar un pod con múltiples contenedores en Kubernetes , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.