Bienvenidos a la página personal de José Domingo Muñoz Rodríguez, aquí podrás encontrar…

Accede a las entradas de mi blog donde escribo de Informática y Educación.

Blog Pledin

Accede a los materiales de los cursos que he impartido.

Plataforma Pledin

Accede a los contenido de los módulos de FP que estoy impartiendo en la actualidad.

Módulos FP

Últimos posts...


Almacenamiento en Kubernetes. PersistentVolumen. PersistentVolumenClaims

Como hemos comentado anteriormente los pods son efímero, la información guardada en ellos no es persistente, pero es evidentemente que necesitamos que nuestras aplicaciones tengan la posibilidad de que su información no se pierda. La solución es añadir volúmenes (almacenamiento persistente) a los pods para que lo puedan utilizar los contenedores. Los volúmenes son considerados otro recurso de Kubernete.

Definiendo volúmenes en un pod

En la definición de un pod, además de especificar los contenedores que lo van a formar, también podemos indicar los volúmenes que tendrá. Además la definición de cada contenedor tendremos que indicar los puntos de montajes de los diferentes volúmenes. Por ejemplo, el el fichero pod-nginx.yaml podemos ver la definición de tres tipos de volúmenes en un pod:

apiVersion: v1
kind: Pod
metadata:
  name: www
spec:
  containers:
  - name: nginx
    image: nginx
    volumeMounts:
    - mountPath: /home
      name: home
    - mountPath: /git
      name: git
      readOnly: true
    - mountPath: /temp
      name: temp
  volumes:
  - name: home
    hostPath:
      path: /home/debian
  - name: git
    gitRepo:
      repository: https://github.com/josedom24/kubernetes.git
  - name: temp
    emptyDir: {}

En la sección volumes definimos los volúmenes disponibles y en la definción del contenedor, con la etiqueta volumeMounts, indicamos los puntos de montajes.

Hemos definido tres volúmenes de diferente tipo:

  • hostPath: Este volumen corresponde a un directorio o fichero del nodo donde se crea el pod. Como vemos se monta en el directorio /home del contenedor. En cluster multinodos este tipo de volúmenes no son efectivos, ya que no tenemos duplicada la información en los distintos nodos y su contenido puede depender del nodo donde se cree el pod.
  • gitRepo: El contenido del volumen corresponde a un repositorio de github, lo vamos a montar en el el directorio /git y como vemos lo hemos configurado de sólo lectura.
  • emptyDir: El contenido de este volumen, que hemos montado en el directorio /temp se borrará al eliminar el pod. Lo utilizamos para compartir información entre los contenedores de un mismo pod.
Seguir leyendo...

Kubernetes. Desplegando WordPress con MariaDB

Antes de introducir el concepto de almacenamiento persistente, en esta entrada vamos a realizar un despliegue de una aplicación Wordpress y una base de datos MariaDB, para concluir con las consecuencias que tiene que nuestros pods sean efímeros, es decir, cuando se eliminan se pierde la información almacenada. Puedes encontrar todos los ficheros con los que vamos a trabajar en el directorio wordpress.

Vamos a trabajar en un namespace llamado wordpress:

kubectl create -f wordpress-ns.yaml 
namespace "wordpress" created

Desplegando la base de datos MariaDB

A continuación vamos a crear los secrets necesarios para la configuración de la base de datos, vamos a guardarlo en el fichero mariadb-secret.yaml:

kubectl create secret generic mariadb-secret --namespace=wordpress \
                            --from-literal=dbuser=user_wordpress \
                            --from-literal=dbname=wordpress \
                            --from-literal=dbpassword=password1234 \
                            --from-literal=dbrootpassword=root1234 \
                            -o yaml --dry-run > mariadb-secret.yaml


kubectl create -f mariadb-secret.yaml 
secret "mariadb-secret" created

Creamos el servicio, que será de tipo ClusterIP:

kubectl create -f mariadb-srv.yaml 
service "mariadb-service" created

Y desplegamos la aplicación:

kubectl create -f mariadb-deployment.yaml 
deployment.apps "mariadb-deployment" created
Seguir leyendo...

Cursos de introducción a la programación en OpenWebinars

Los dos últimos cursos que he impartido en la plataforma OpenWebinars están relacionados con la programación, más concretamente aprender a programar desde 0 con pseudocódigo y con python3, os dejo los vídeos promocionales de los mismos:

Introducción a la programación con pseudocódigo

En este curso aprenderás los fundamentos a la programación estructurada. Estudiaremos el ciclo de desarrollo de una aplicación: análisis, diseño y codificación mediante pseudocódigo. Los vídeos que se han publicado en YouTube para promocionar el curso han sido:

Curso de Python 3 desde cero

En este curso aprenderás los fundamentos del lenguaje de programación Python 3 desde cero, pensado para no programadores que se quieran iniciar en este mundo. mLos vídeos que se han publicado son los siguientes:

Seguir leyendo...

Más posts...

Últimos cursos...

Blogroll

Revistas Libres de Software Libre

cc

Licencia

Licencia: Puedes copiar y modificar todos los contenidos, pero siempre respetando los términos de la licencia CC-BY-SA.

Ver