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...

El truco era el Software Libre

El pasado 25 de mayo, junto a mi compañero Alberto Molina, participamos en las jornadas OpenSouthCode19 presentando la charla: El truco era el Softare Libre. Formando administradores de sistemas en el IES Gonzalo Nazareno, donde contamos nuestra experiencia en estos años de como el uso de Sotfware Libre ha revolucionado nuestra manera de dar clases y como ha ayudado a los alumnos a obtener una formación más completa en la administración de sistemas. La experiencia de participar en estas jornadas ha sido muy positiva. Os dejo aquí la presentación que utilizamos para la charla:

Seguir leyendo...

Integración de Kubernetes con OpenStack

ikos

Vamos a realizar una instalación de Kubernetes y los vamos a configurar para que utilice los recursos ofrecidos por OpenStack: en concreto, vamos a poder crear de forma dinámica volúmenes (PersistentVolumen) ofrecidos por el componente de OpenStack encargado de la gestión de volúmenes: Cinder, y vamos a poder crear Services del tipo LoadBalancer creando un balanceador en el componente de redes de OpenStack: Neutron.

Tenemos dos opciones de configuración para conseguir comunicarnos con un proveedor de cloud:

  • Configurar el componente Kube Controller Manager, que entre otras funciones, se encargará de conectar con el proveedor cloud (en nuestro caso OpenStack).
  • Desde la versión 1.6 de Kubernetes se ha introducido un nuevo componente Cloud Controller Manager que específicamente es el encargado de gestionar el proveedor cloud, de tal manera que la arquitectura de componentes de Kuberentes se hace más modular.

En esta unidad vamos a configurar el Kube Controller Manager para comunicarse con OpenSatck. Para la segunda opción utilizando Cloud Controller Manager para comunicarse con OpenStack puede ser muy interesante el repositorio de openstack-cloud-controller-manager.

Integración de Kubernetes y OpenStack con Kubeadm

Vamos a partir de una instalación de kubernetes con kubeadm (puedes seguir el apartado Instalación de kubernetes con kubeadm). En esta instalación he usado el plugin CNI wave:

sysctl net.bridge.bridge-nf-call-iptables=1
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

Si necesitas reinstalar kubeadm debes ejecutar kubeadm reset en todos los nodos del cluster.

Configuración del acceso a OpenStack

Lo primero, vamos a crear un fichero cloud.conf donde vamos a guardar las credenciales de acceso a OpenStack y los recursos que vamos a utilizar:

[Global]
auth-url=https://<openstack_endpoint>:5000/v3
domain-name=Nombre del dominio
tenant-name=Nombre del proyecto
username=usuario
password=contraseña
ca-file=/etc/kubernetes/ca.crt

[LoadBalancer]
subnet-id=bf7be908-51a4-45d1-8403-391cfe1a73aa
floating-network-id=49812d85-8e7a-4c31-baa2-d427692f6568

Se pueden configurar más opciones que puedes encontrar en este enlace.

En mi caso el acceso a OpenStack se hace de forma cifrada (con https) por lo que necesito el certificado de la Autoridad Certificadora. Los ficheros cloud.conf y ca.crt los guardo en el directorio /etc/kubernetes del master y los nodos del cluster.

Seguir leyendo...

Kubernetes. Desplegando WordPress con MariaDB con almacenamiento persistente

Puedes encontrar todos los ficheros con los que vamos a trabajar en el directorio wordpress2.

Configuración del servidor NFS

Para este ejercicio hemos creado dos directorio que hemos exportado en el servidor NFS, en el fichero /etc/exports encontramos:

/var/shared/vol1 10.0.0.0/24(rw,sync,no_root_squash,no_all_squash)
/var/shared/vol2 10.0.0.0/24(rw,sync,no_root_squash,no_all_squash)

Y en los clientes montamos dichos directorios:

mount -t nfs4 10.0.0.4:/var/shared/vol1 /var/data/vol1
mount -t nfs4 10.0.0.4:/var/shared/vol2 /var/data/vol2

Gestión del almacenamiento para nuestro despliegue

Lo primero que hacemos es crear los dos pv que podemos encontrar definidos en el fichero wordpress-pv.yaml:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: volumen1
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Recycle
  nfs:
    path: /var/shared/vol1
    server: 10.0.0.4
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: volumen2
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Recycle
  nfs:
    path: /var/shared/vol2
    server: 10.0.0.4

Lo creamos:

kubectl create -f wordpress-pv.yaml
persistentvolume "volumen1" created
persistentvolume "volumen2" created

A continuación vamos a trabajar con un namespace, por lo tanto lo creamos:

kubectl create -f wordpress-ns.yaml 
namespace "wordpress" created
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