OpenWebinars

DevOps

Cómo definir un Deployment en Kubernetes

Aprende a definir un deployment por Replica Set en Kubernetes con este ejemplo práctico.    

Pablo Chico de Guzmán

Pablo Chico de Guzmán

Experto en sistemas

Lectura 1 minutos

Publicado el 26 de marzo de 2019

Compartir

    Tabla de contenidos

Aprende a definir un deployment por Replica Set en Kubernetes con este ejemplo práctico.

Ejemplo de deployment en Kubernetes

Como desarrolladores, es muy importante conocer los comandos que nos aporta Kubernetes para poder consumirla y ser capaces de desplegar nuestros contenedores y probarlos en la fase de desarrollo. Os vamos a mostrar un ejemplo de algunos de los conceptos que vamos a ver en el curso, en concreto un deployment por Replica Set.

En el siguiente archivo Yaml vemos cómo definir un deployment en Kubernetes:


apiVersion: apps/v1
kind: Deployment
metadata:
	name: deployment
	labels:
		app: nginx
spec:
	replicas: 3
	selector:
	matchLabels:
			app: nginx
	template:
		metadata: 
			labels:
				app: nginx
			spec:
				containers:
				-	name: nginx
					image: nginx
					ports: 
					-	containerPort: 80
					livenessProbe: 
						httpGet:
							path: /
							port: 80
						initalDelaySeconds: 10
						timeoutSeconds: 10

Este deployment es de la imagen oficial de nginx, en el que indicamos que queremos tres réplicas, que exponen el puerto 80, y además que realice un health check en el puerto 80 y en el path indicado cada 10 segundos.

Con esto vamos a conseguir que Kubernetes coja nuestro de nginx, despliegue tres contenedores en cualquier nodo de nuestro clúster, lo que hará de la manera más eficiente posible, y va a estar ejecutando un health check para comprobar que esos contenedores están healthy todo el tiempo. Si en cualquier momento uno de estos health check fallara, el contenedor que está fallando sería recreado automáticamente por Kubernetes, de tal manera que siempre tengamos tres instancias healthy de nginx.

Kubernetes una herramienta declarativa, nosotros le indicamos el estado que queremos conseguir de nuestra aplicación, en este caso tres contenedores healthy, y va a ser Kubernetes el que se encargue de todo lo demás, mover nuestros contenedores entre distintos nodos, recrearlos si fallan y todo ese tipo de procesos.

Aprende a desarrollar aplicaciones para ser ejecutadas en Kubernetes. Introdúcete ahora en el mundo del orquestador de contenedores más popular a día de hoy.

curso-kubernetes-desarrolladores

Recuerda que puedes comenzar este curso con tu suscripción de OpenWebinars. Si todavía no estás suscrito, aprovecha para hacerlo ahora.

Compartir este post

También te puede interesar

Icono de la tecnología
Curso

Kubernetes para desarrolladores

Intermedio
3 h. y 26 min.

Con este curso de Kubernetes para desarrolladores aprenderás a desarrollar aplicaciones para ser ejecutadas en el orquestador de...

Pablo Chico de Guzmán
4.5
Kubernetes vs Docker
Blog

Kubernetes vs Docker

¿Has oído hablar sobre la lucha entre Kubernetes y Docker? Aquí te hablamos sobre esta lucha absurda entre dos herramientas que usadas...

Carlos Álvarez