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

Microblog

Inicialización de un contenedor con mariadb

En la documentación de la imagen mariadb encontramos que para inicializar la base de datos al crear un contenedor podemos copiar un fichero con extensión sql (por ejemplo, schema.sql) con las instrucciones SQL para la creación de las tablas de la base de datos en el directorio /docker-entrypoint-initdb.d. Podemos usar un fichero Dockerfile con el siguiente contenido:

FROM docker.io/mariadb:10.5
COPY schema.sql /docker-entrypoint-initdb.d/
ENV MARIADB_DATABASE=nombre_basedatos
ENV MARIADB_ROOT_PASSWORD=contraseña_root
ENV MARIADB_USER=usuario
ENV MARIADB_PASSWORD=password
Detalle

Tecmint Monitor

Tecmint Monitor: Un Shell Script para monitorizar la red, el uso de disco, promedio de carga y uso de RAM en Linux.

wget https://tecmint.com/wp-content/scripts/tecmint_monitor.sh
chmod 755 tecmint_monitor.sh
./tecmint_monitor.sh

Detalle

¿Windows es mejor que Linux?

Blog

Introducción a Podman

podman

Open Container Initiative

La Open Container Initiative (OCI), es un proyecto de la Linux Foundation para diseñar un estándar abierto para virtualización basada en contenedores. El objetivo de estos estándares es asegurar que las plataformas de contenedores no estén vinculadas a ninguna empresa o proyecto concreto.

Se funda en 2015, y actualmente son muchas las empresas que forman parte de esta iniciativa, y cuyo objetivo es desarrollar las siguientes especificaciones:​

  • Una especificación de entorno de ejecución de contenedores (Open Container Initiative Runtime Specification normalmente abreviado en OCI Runtime Specification). Describe cómo debe proceder un OCI Runtime para crear un contenedor a partir de una imagen. Los OCI runtime más utilizados son runC y crun.
  • Una especificación de formato de imagen (Open Container Initiative Image Format normalmente abreviado en OCI Image Format). Determina el formato para empaquetar la imagen del contenedor de software.
  • Una especificación de distribución de imágenes(Open Container Initiative Distribution Specification normalmente abreviado en OCI Distribution Specification’’). Su objetivo es estandarizar la distribución de imágenes de contenedores.

Aplicaciones para trabajar con contenedores OCI

Antes de definir las distintas aplicaciones que nos proporciona Red Hat para trabajar con contenedores OCI, vamos a definir una serie de conceptos:

Terminología sobre contenedores

  • Orquestador de contenedores: es un programa que gestiona los contenedores que se ejecutan en un clúster de servidores. Nos ofrece muchas características: actualizaciones automáticas, balanceo de carga, tolerancia a fallos, escalabilidad,…

orquestadores

  • Motor de contenedores: Software que nos permite gestionar contenedores en un nodo local. Los contenedores puedes ser creados por orquestadores, en ese caso se usan motores como containerd o cri-o, o pueden ser gestionados por usuarios, en este caso se utilizan motores como Docker o Podman.

motores

  • Entorno de ejecución de contenedores (runtime container): Software encargado de configurar el sistema para ejecutar los contenedores. Lo más utilizados son runc y crun. Otros ejemplos de entornos de ejecución puedes ser Kata y gVisor.

entorno

Seguir leyendo...

Pledin estrena Microblog

microblog

Un microblog es una forma de blog que se caracteriza por su brevedad. A diferencia de los blogs tradicionales, donde los usuarios pueden escribir extensos artículos o ensayos, los microblogs se centran en mensajes cortos y directos que van desde unas pocas palabras hasta un máximo de unos pocos cientos de caracteres.

Desde hace algunos años, estoy escribiendo artículos en esta página. Aunque empece creando posts de distinta temática y longitud, pronto empecé a centrarme en escribir artículo más extensos donde explicaba alguna temática relacionada con la informática. Los artículos más breve empecé a escribirlos en Twitter, y esta combinación me ha servido durante varios años.

Sin embargo, con la deriva que ha ido tomando Twitter he dejado de escribir en esa plataforma. En consecuencia, he dejado de tener la posibilidad de escribir pequeños posts donde describir trucos que me voy encontrando, alguna referencia a páginas web, materiales o libros interesantes, apuntes para recordarlos posteriormente, ideas, …

Es por eso, por lo que me he animado a añadir en esta página una sección de Microblog, donde de una manera sencilla puedo escribir posts breves donde ir mostrando distintos temas que no tienen la complejidad para un posts más extenso en el blog.

Espero que te guste y que sea de utilidad. Te invito a entrar…

Microblog Pledin

Seguir leyendo...

Resolución de nombres de dominios en sistemas Linux

dns

Los diferentes servicios que nos ofrecen la posibilidad de resolver nombres de dominio a direcciones IP dentro de un sistema operativo GNU/Linux han ido evolucionando a lo largo del tiempo. En este artículo quiero introducir la situación actual acerca de este tema, y presentar los distintos servicios involucrados en la resolución de nombres.

Conceptos relacionados con la la resolución de nombres de dominio

Antes de comenzar a estudiar con detalle los distintos mecanismos de resolución, vamos a repasar algunos conceptos que nos serán necesarios:

  • Servidor DNS: Ofrece un servicio de resolución de nombres de dominio, entre otras cosas. Los nombres de dominio siguen el sistema de nombres de dominio (Domain Name System o DNS, por sus siglas en inglés) ​, que es un sistema de nomenclatura jerárquico descentralizado para dispositivos conectados a redes IP como Internet o una red privada. Los servidores DNS se pueden consultar, por ejemplo para obtener la dirección IP a partir de un determinado nombre de host o nombre de dominio. Tradicionalmente en los sistemas GNU/Linux el fichero donde se configura el o los servidores DNS que se utilizarán para resolver los nombres es /etc/resolv.conf.
  • Resolución estática: Es un sistema de resolución de nombres de dominios a direcciones IP, que está configurado de manera estática en un ordenador. En los sistemas GNU/Linux se utiliza el fichero /etc/hosts para guardar la correspondencia entre nombre y dirección.
  • NSS: El Name Service Switch o NSS es una biblioteca estándar de C que en sistemas GNU/Linux ofrece distintas funciones que los programas pueden utilizar para consultar distintas bases de datos del sistema. En concreto con este sistema se ordena las distintas fuentes para consultar las distintas bases de datos, por ejemplo de usuarios, contraseñas, nombres de hosts,… En este artículo la base de datos que nos interesa corresponde a los nombres de dominios o nombres de hosts. Esta base de datos se llama hosts y como veremos en el fichero /etc/nsswitch.conf se configura el orden de consulta que se realiza para resolver el nombre de un dominio a su dirección IP.

El fichero /etc/resolv.conf

Como hemos comentado, este archivo especifica los servidores DNS que el sistema utilizará para resolver nombres de dominio a direcciones IP. Los parámetros más importantes que podemos encontrar son:

  • nameserver: Esta línea define los servidores DNS que el sistema utilizará para resolver nombres de dominio. Pueden haber múltiples líneas nameserver, una para cada servidor DNS. El orden es importante ya que se intentará resolver el nombre utilizando el primer servidor, si este no funciona se intentará con el siguiente y así consecutivamente.
  • search: Esta línea especifica el dominio de búsqueda para las consultas de resolución de nombres de dominio. Si intentas resolver un nombre de dominio que no está completamente cualificado (es decir, sin un sufijo de dominio), el sistema intentará agregar los dominios de búsqueda especificados aquí para completar el nombre antes de enviar la consulta al servidor.
  • domain: Similar a search, domain especifica el dominio de búsqueda para las consultas de resolución de nombres de dominio, pero solo acepta un único dominio en lugar de una lista.
  • options: Esta línea se utiliza para especificar diversas opciones de configuración, como el tiempo de espera de resolución, la retransmisión de consultas, entre otros.

Ejemplo de configuración de etc/resolv.conf:

nameserver 8.8.8.8
nameserver 8.8.4.4
domain example.com
search example.com mycompany.com
options timeout:2 attempts:3

Estos parámetros se suelen recibir de forma dinámica por medio de un servidor DHCP, aunque también lo podemos indicar de forma estática en la configuración de red del sistema. Normalmente tenemos algún demonio instalado en el sistema, como resolvconf que es el encargado de generar el fichero /etc/resolv.conf a partir de la configuración de red que hayamos especificado.

En este caso no debemos cambiar directamente el fichero /etc/resolv.conf porque el programa resolvconf puede reescribirlo en algunas circunstancias, por ejemplo cuando se renueva la concesión del servidor DHCP.

Si queremos añadir contenido de forma estática al fichero /etc/resolv.conf es necesario escribir el contenido en el fichero /etc/resolvconf/resolv.conf.d/head si lo que queremos añadir se coloca antes de lo generado por resolvconf, o en el fichero /etc/resolvconf/resolv.conf.d/tail para añadirlo al final del fichero.

Seguir leyendo...
cc

Licencia

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

Ver