{{tag>kubernetes}}
===== 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
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
Para realizar este despliegue ejecutaríamos en el manager kubectl apply -f nginx-despliegue.yaml
Para comprobar lo que ha realizado ejecutaríamos
kubectl deescribe deployment nginx-despliegue
Para comprobar los pods
kubectl get pods -l app=nginx
kubectl describe pod nginx-despliegue-75654585
Para quitar el despliegue
kubectl delete deployment nginx-despliegue
==== Un ejemplo sin usar un fichero de despliegue ====
Vamos a desplegar un servidor NGINX directamente
* Desplegamos la imgen de nginx
kubectl create deployment nginx --image=nginx
* Creamos un service para poder acceder desde nuestro navegador
kubectl create service nodeport nginx --tcp=80:80
* Comprobamos en que puerto de salida nos ha expuesto el pod
kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 443/TCP 4m
nginx NodePort 10.96.25.233 80:32746/TCP 6s
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/