¿Cómo funciona yum con suscripción a Red Hat Network dentro de las imágenes de rhel Docker?

¿Cómo funciona yum con suscripción a Red Hat Network dentro de las imágenes de rhel Docker?

Red Hat Enterprise Linux 7 incluye soporte oficial para ejecutar contenedores Docker y Red Hat ofrece un conjunto de imágenes oficiales de rhel Docker. Una característica interesante de estas imágenes es que los paquetes se pueden instalar a través de la suscripción a Red Hat Network del host sin tener que realizar ninguna configuración dentro del contenedor.

Citarhttps://access.redhat.com/articles/881893#createimage:

"Para la versión actual de Red Hat Docker, la imagen predeterminada de RHEL 7 Docker que extraiga de Red Hat podrá utilizar los derechos de RHEL 7 disponibles en el sistema host. Por lo tanto, siempre que su host Docker esté suscrito correctamente y los repositorios estén habilitado que necesita obtener el software que desea en su contenedor (y tener acceso a Internet desde su host Docker), debería poder instalar paquetes desde los repositorios de software RHEL 7".

Mi preocupación es que el mecanismo mediante el cual se logra esto es bastante opaco. Al iniciar un nuevo contenedor con la imagen rhel7.1, por ejemplo, es posible ejecutarlo yum install foosin siquiera configurar las variables de entorno del proxy http. Sin comprender este mecanismo, el administrador del sistema está potencialmente a merced de interacciones desconocidas entre el sistema host, el demonio Docker y los contenedores en ejecución. Esto también sugiere que el aislamiento normal entre el host y el contenedor está de alguna manera comprometido (aunque de manera benigna).

Para aclarar: ¿Cómo se logra este soporte de suscripción? ¿Depende de la compilación personalizada del demonio Docker proporcionada por Red Hat a través de la red de suscripción?

Respuesta1

Red Hat lleva un parche dockerllamado parche 'secreto' que monta la información de derechos en contenedores cuando se ejecutan.

Puede ver una mejor descripción del parche y un enlace al PR ascendente en elproyectoatómico/acopladorrepositorio:

https://github.com/projectatomic/docker/tree/docker-1.13.1-rhel#add-rhel-super-secrets-patchpatch

Tenga en cuenta que deberá seleccionar una de las ramas (el enlace va a la rama 'docker-1.3.1-rhel') para ver toda la información del parche transportado.

Respuesta2

Sabiendo cómo se licencian las máquinas virtuales administradas por Red Hat Satellite, y siguiendo el comentario de @Leynos, esperaría que haya algo similar a virt-who, que es un servicio que se comunica con el host de virtualización (vSphere, KVM, etc.) y lo consulta. Encuentre detalles de las máquinas virtuales. Luego realiza las llamadas API necesarias en Satellite para permitir que la VM utilice la licencia del centro de datos del host.

Esperaría que el demonio acoplable de Red Hat proporcione algo similar, permitiendo que el contenedor sepa que se está ejecutando desde un host Docker suscrito y, por lo tanto, haga uso de esa suscripción.

También deaquí:

IMPORTANTE: La ejecución de contenedores con el comando docker, como se describe en este tema, no requiere específicamente que registre el sistema RHEL Atomic Host y adjunte una suscripción. Sin embargo, si desea ejecutar comandos de instalación de yum dentro de un contenedor, el contenedor debe obtener información de suscripción válida del RHEL Atomic Host o fallará.

Entonces, hay algo en el contenedor o en el demonio que puede consultar al host para encontrar información de suscripción (y probablemente también información de repositorio).

información relacionada