Como o yum com a Red Hat Network Subscription funciona dentro das imagens do Docker rhel?

9

O Red Hat Enterprise Linux 7 inclui suporte oficial para a execução de contêineres do Docker, e a Red Hat oferece um conjunto de imagens oficiais do Docker de rhel. Uma característica interessante dessas imagens é que os pacotes podem ser instalados através da Assinatura do Red Hat Network do host sem precisar executar qualquer configuração dentro do contêiner.

Para citar o link :

"For the current Red Hat Docker release, the default RHEL 7 Docker image you pull from Red Hat will be able to draw on RHEL 7 entitlements available from the host system. So, as long as your Docker host is properly subscribed and the repositories are enabled that you need to get the software you want in your container (and have Internet access from your Docker host), you should be able to install packages from RHEL 7 software repositories."

Minha preocupação é que o mecanismo pelo qual isso é alcançado seja bastante opaco. Ao iniciar um novo contêiner com a imagem rhel7.1, por exemplo, é possível executar yum install foo sem configurar as variáveis de ambiente de proxy http. Sem entender esse mecanismo, o administrador do sistema está potencialmente à mercê de interações desconhecidas entre o sistema host, o daemon do Docker e a execução de contêineres. Isso também sugere que o isolamento normal entre o hospedeiro e o contêiner está de algum modo comprometido (embora de forma benigna).

Para colocar um ponto sobre isso: Como este suporte de assinatura é alcançado, e é dependente da compilação personalizada do daemon Docker fornecido pela Red Hat através da Rede de Assinaturas?

    
por Leynos 14.10.2015 / 22:33

2 respostas

3

A Red Hat carrega um patch para docker , chamado de patch 'secrets', que monta as informações de direitos nos containers quando eles são executados.

Você pode ver uma melhor descrição do patch e um link para o PR upstream no projectatomic / docker repo:

link

Note que você precisará selecionar uma das ramificações (o link vai para a ramificação 'docker-1.3.1-rhel') para ver todas as informações de correção carregadas.

    
por 14.06.2017 / 16:29
1

Sabendo como as máquinas virtuais gerenciadas pelo Red Hat Satellite estão licenciadas e saindo do comentário do @Leynos, eu esperaria que houvesse algo semelhante ao virt-who , que é um serviço que fala com o host de virtualização (vSphere, KVM, etc) e consultas para encontrar detalhes de VMs. Em seguida, ele faz as chamadas de API necessárias no Satellite para permitir que a VM use a licença do datacenter do host.

Eu esperaria que o daemon do docker da Red Hat forneça algo semelhante, permitindo que o contêiner saiba que está sendo executado a partir de um host do Docker inscrito e, portanto, fazendo uso dessa assinatura.

Também em aqui :

IMPORTANT: Running containers with the docker command, as described in this topic, does not specifically require you to register the RHEL Atomic Host system and attach a subscription. However, if you want to run yum install commands within a container, the container must get valid subscription information from the RHEL Atomic Host or it will fail.

Portanto, há algo no contêiner ou no daemon que pode consultar o host para encontrar informações de assinatura (e provavelmente também informações de repo).

    
por 23.02.2017 / 09:41