Kubernetes Tercera Parte - Desplegando un POD dentro de nuestro cluster
Ahora que hemos llegado hasta aca, vamos de desplegar un POD Nginx en nuestro cluster y exponer un puerto para poder acceder, pero para eso tienen que tener un cluster Kubernetes, aqui les muestro como hacerlo :
y aqui
Ahora nos conectamos a nuestro Master y donde queramos creamos un archivo que llamaremos "nginx_pod.yml" le damos el nombre que queramos y dentro escribimos:
apiVersion: v1
kind: Pod
metadata:
name: nginx-test
labels:
app: nginx
spec:
containers:
- name: nginx
image: linuxserver/nginx
ports:
- containerPort: 80
name: "nginx-http"
Guardamos y cerramos el archivo
Ahora creamos nuestro POD dentro de nuestro cluster, para eso ejecutamos:
xymox18@k8s-master:~/test$ kubectl apply -f nginx_pod.yml
Y ya esta, tenemos nuestro primer POD deplegado dentro de nuestro cluster, ahora vamos a utilisar el siguiente comando para ver nuestro POD:
xymox18@k8s-master:~/test$ kubectl get pods -o wide
Y aqui nos damos cuenta que estamos en un cluster, ahi podemos ver que hemos creado nuestro POD desde nuestro MASTER, pero nuesto POD se encuentra en nuestro k8s-slave-2, ese es el poder de un cluster, pero eso solo es el inicio, mas adelante veremos los conceptos de redundancias, alta disponibilidad, etc.
Ahora vamos a exponer un puerto para acceder a nuestro POD para eso vamos a crear un servicio para eso creamos un archivo al que llamaremos "service-nginx-port.yml" y dentro vamos a añadir :
apiVersion: v1
kind: Service
metadata:
name: nginx-test
spec:
type: NodePort
ports:
- name: http
port: 80
nodePort: 30080
targetPort: nginx-http
selector:
app: nginx
Y por ultimo creamos el servicio con el siguiente comando:
xymox18@k8s-master:~/test$ kubectl apply -f service-nginx-port.yml
Ahora verificamos que nuestro servicio esta funcionando para eso usamos :
xymox18@k8s-master:~/test$ kubectl get service
Y vemos que nuestro cluster expone el puerto 30080 y que es redirigido al puerto 80 de nuestro pod nginx.
Para verificar vamos a un navegador y escribimos una IP de nuestro cluster seguido de 30080, por ejemplo la ip del master 192.168.1.120:30080 o la del slave 1 o 2 o 3
Y todas nos van a llevar a buena destinacion, esto es otra evidencia de que estamos dentro de un cluster, porque no importa la IP que usemos (de los nodos que integran nuestro cluster) siempre vamos a poder acceder a nuestro POD.
Bueno esto lo dejamos aqui, la proxima vez instalaremos un projecto real, digamos un Drupal(cms en PHP) con una base de datos Postgres o MySQL.
Comentarios