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

El tiempo en tu terminal

wttr.in es un servicio de previsión meteorológica orientado a consola que admite varios métodos de representación de la información: modo texto en consola, HTML para navegadores web o PNG para visores gráficos.

Para probarlo desde el terminal:

$ curl http://wttr.in
$ curl http://wttr.in/sevilla
$ curl http://v2.wttr.in

Detalle

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

Blog

Introducción a los contenedores rootless con Podman

podman

Los contenedores Podman tienen dos modos de ejecución:

  • Contenedor rootful: es un contenedor ejecutado por el usuario root en el host. Por lo tanto, tiene acceso a toda la funcionalidad que el usuario root tiene.
    • Este modo de funcionamiento puede tener problemas de seguridad, ya que si hay una vulnerabilidad en la funcionalidad, el usuario del contenedor será root con los posibles riesgos de seguridad que esto conlleva.
    • De todas maneras, es posible que algunos procesos ejecutados en el contenedor no se ejecuten como root.
  • Contenedor rootless: es un contenedor que puede ejecutarse sin privilegios de root en el host.
    • Podman no utiliza ningún demonio y no necesita root para ejecutar contenedores.
    • Esto no significa que el usuario dentro del contenedor no sea root, aunque sea el usuario por defecto.
    • Si tenemos una vulnerabilidad en la ejecución del contenedor, el atacante no obtendrá privilegios de root en el host.

En este artículo vamos a trabajar con contenedores rootless, y lo primer que vamos a indicar son las limitaciones que tenemos al trabajr con este tipo de contenedores:

  • No tienen acceso a todas las características del sistema operativo.
  • No se pueden crear contenedores que se unan a puertos privilegiados (menores que 1024).
  • Algunos modos de almacenamiento pueden dar problemas.
  • Por defecto, no se puede hacer ping a servidores remotos.
  • No pueden gestionar las redes del host.
  • Más limitaciones

Podemos crear un contenedor rootless con un usuario sin privilegios de manera similar a cómo lo haríamos con el usuario root. Tenemos en cuenta que no podemos utilizar los puertos privilegiados (menores del 1024), por lo que en este caso hemos mapeado el puerto 8080:

$ podman run -d --name my-apache-app -p 8080:80 docker.io/httpd:2.4

Cada usuario sin privilegios tiene sus imágenes en su registro local:

$ podman images
REPOSITORY                             TAG               IMAGE ID      CREATED        SIZE
docker.io/library/httpd                2.4               67c2fc9e3d84  2 weeks ago    151 MB

Podemos ver el contenedor que tenemos en ejecución:

$ podman ps
CONTAINER ID  IMAGE                        COMMAND           CREATED             STATUS             PORTS                 NAMES
cccf1c02229e  docker.io/library/httpd:2.4  httpd-foreground  About a minute ago  Up About a minute  0.0.0.0:8080->80/tcp  my-apache-app

Y podemos acceder a la dirección IP del host y al puerto que hemos mapeado para acceder al host:

podman

Seguir leyendo...

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

Licencia

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

Ver