Usando Kubertenes

Kubertenetes usa un fichero de configuración llamado Kubernetes Deployment Object, donde describimos en formato YAML el despliegue a realizar.

un ejemplo del mismo sería el siguiente fichero nginx-despliegue.yaml <sxh yaml> apiVersion : apps/v1 kind: Deployment metadata:

name: nginx-deployment

spec:

selector:
matchLabels:
app: nginx
replicas: 2
template:
metada:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort:80

</sxh>

Para realizar este despliegue ejecutaríamos en el manager <sxh>kubectl apply -f nginx-despliegue.yaml</sxh>

Para comprobar lo que ha realizado ejecutaríamos <sxh>kubectl deescribe deployment nginx-despliegue</sxh>

Para comprobar los pods <sxh>kubectl get pods -l app=nginx</sxh> <sxh>kubectl describe pod nginx-despliegue-75654585</sxh>

Para quitar el despliegue <sxh>kubectl delete deployment nginx-despliegue</sxh>

Un ejemplo sin usar un fichero de despliegue

Vamos a desplegar un servidor NGINX directamente

Desplegamos la imgen de nginx

<sxh>kubectl create deployment nginx –image=nginx </sxh>

Creamos un service para poder acceder desde nuestro navegador

<sxh>kubectl create service nodeport nginx –tcp=80:80</sxh>

Comprobamos en que puerto de salida nos ha expuesto el pod

<sxh>kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 4m nginx NodePort 10.96.25.233 <none> 80:32746/TCP 6s</sxh>

Finalmente,abrimos nuestro navegador y conectamos a la url http://xxx.xxx.xxx:32746 (IP del nodo manager:puerto por donde lo expone). Al conectar desde el navegador deberías de ver la imagen de bienvenida del servidor ngnix

Ejemplo de despliegue de un chat

Referencias

https://www.jorgedelacruz.es/2017/11/28/kubernetes-introduccion-kubernetes/

https://www.josedomingo.org/pledin/2018/12/kubernetes-letschat/