Saltar al contenido principal

Desplegando un app en Kubernetes!

kube_logo

Desplegando con una imagen

kubectl create deployment nginx --image nginx

Podemos verificar el despliegue que acabamos de realizar

kubectl get pods

El problema que encontraremos con al desplegar de esta forma es que no disponemos de una manera para hacer llegar tráfico a nuestro pod por ello tendremos que desplegar un servicio que nos permita tener el tráfico de comunicación con el pod

kubectl expose deployment nginx --type=LoadBalancer --port 80

Con esto se creará un balanceador de carga el cual nos asignara una ip externa en el puerto que hemos indicado

kube-svc-deployment

Asi de una manera digamos rustica estara completo del despliegue de nuestra app desde un container

Desplegando con un manifiesto

Crear un archivo YAML

Crea un archivo YAML que describa los recursos que deseas desplegar en Kubernetes. Puedes utilizar un editor de texto para crear este archivo. Aquí tienes un ejemplo básico de un archivo de manifiesto para un Despliegue (Deployment):

yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: miapp
spec:
replicas: 3
selector:
matchLabels:
app: miapp
template:
metadata:
labels:
app: miapp
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 8080

En este ejemplo, estamos creando un Deployment llamado "miapp" con 3 réplicas. Estamos utilizando una imagen llamada "nginx:latest" y exponiendo el puerto 8080.

Aplica el manifiesto

Una vez que hayas creado el archivo de manifiesto, puedes aplicarlo utilizando el comando kubectl apply. Asegúrate de estar en el directorio correcto donde se encuentra el archivo de manifiesto y ejecuta el siguiente comando:

kubectl apply -f mi-manifiesto.yaml

Esto enviará el archivo de manifiesto a Kubernetes, que creará los recursos especificados en el archivo.

Verifica el despliegue

Puedes verificar el estado del despliegue utilizando el comando kubectl para obtener información sobre los recursos desplegados. Algunos comandos útiles son:

kubectl get deployments

muestra el estado de los despliegues.

kubectl get pods

muestra el estado de los pods desplegados.

kubectl describe deployment miapp

muestra información detallada sobre el despliegue "miapp".

Actualizaciones y modificaciones

Si necesitas realizar cambios en tu aplicación, puedes actualizar el archivo de manifiesto y aplicar los cambios nuevamente utilizando el comando kubectl apply. Kubernetes se encargará de realizar las actualizaciones de forma adecuada.