Desplegando un app en Kubernetes!
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
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):
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".
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.