Os contêineres são uma versão leve do espaço do usuário do sistema operacional Linux – na verdade, é o mínimo. No entanto, ainda é um sistema operacional completo e, portanto, a qualidade desse contêiner em si é tão importante quanto um sistema operacional completo. É por isso que durante muito tempo oferecemos Imagens do Red Hat Enterprise Linux (RHEL), para que os usuários possam ter contêineres de nível empresarial certificados, modernos e atualizados. Lançar imagens de contêiner (imagens de contêiner) RHEL em hosts de contêiner O RHEL fornece compatibilidade e portabilidade entre ambientes, sem mencionar o fato de que essas ferramentas já são familiares. Houve, no entanto, um problema. Você não poderia simplesmente passar essa imagem para outra pessoa, mesmo que fosse um cliente ou parceiro executando o Red Hat Enterprise Linux.
Mas agora tudo mudou
Com o lançamento do Red Hat Universal Base Image (UBI), agora você pode obter a confiabilidade, a segurança e o desempenho que espera das imagens de contêiner oficiais da Red Hat, independentemente de você ter uma assinatura ou não. Isso significa que você pode criar um aplicativo em contêiner no UBI, colocá-lo no registro de contêiner de sua escolha e compartilhá-lo com o mundo. O Red Hat Universal Base Image permite criar, compartilhar e colaborar em uma aplicação conteinerizada em qualquer ambiente, onde você quiser.
Com o UBI, você pode publicar e executar seus aplicativos em praticamente qualquer infraestrutura. Mas se você executá-los em plataformas Red Hat, como Red Hat OpenShift e Red Hat Enterprise Linux, poderá obter benefícios adicionais (mais ouro!). E antes de passarmos para uma descrição mais detalhada do UBI, deixe-me fornecer um breve FAQ sobre por que a assinatura RHEL é necessária. Então, o que acontece ao executar uma imagem UBI na plataforma RHEL/OpenShift?
E agora que estamos satisfeitos com o marketing, vamos falar mais detalhadamente sobre o UBI
Razões para usar o UBI
Como você deve se sentir ao saber que o UBI irá beneficiá-lo:
Meu desenvolvedores deseja usar imagens de contêiner que possam ser distribuídas e executadas em qualquer ambiente
Meu time operações deseja uma imagem base suportada com um ciclo de vida de nível empresarial
Meu arquitetos quero oferecer Operador Kubernetes para meus clientes/usuários finais
Meu clientes eles não querem se surpreender com o suporte de nível empresarial para todo o seu ambiente Red Hat
O meu a comunidade deseja compartilhar, executar e publicar aplicativos em contêineres literalmente em qualquer lugar
Se pelo menos um dos cenários for adequado para você, você definitivamente deveria dar uma olhada no UBI.
Mais do que apenas uma imagem básica
O UBI é menor que um sistema operacional completo, mas o UBI tem três coisas importantes:
Um conjunto de três imagens base (ubi, ubi-minimal, ubi-init)
Imagens com ambientes de execução prontos para diversas linguagens de programação (nodejs, ruby, python, php, perl, etc.)
Um conjunto de pacotes relacionados no repositório YUM com as dependências mais comuns
O UBI foi criado como base para aplicativos nativos da nuvem e da web desenvolvidos e entregues em contêineres. Todo o conteúdo do UBI é um subconjunto do RHEL. Todos os pacotes no UBI são entregues através de canais RHEL e são suportados de forma semelhante ao RHEL quando executados em plataformas suportadas pela Red Hat, como OpenShift e RHEL.
Garantir suporte de alta qualidade para contêineres exige muito esforço de engenheiros, especialistas em segurança e outros recursos adicionais. Isso requer não apenas testar as imagens base, mas também analisar seu comportamento em qualquer host compatível.
Para ajudar a aliviar o fardo da atualização, a Red Hat está desenvolvendo e apoiando proativamente para que o UBI 7 possa ser executado em hosts RHEL 8, por exemplo, e o UBI 8 possa ser executado em hosts RHEL 7. Isso dá aos usuários a flexibilidade, confiança e tranquilidade de lembre-se de que eles precisam durante o processo., por exemplo, atualizações de plataforma em imagens de contêiner ou hosts usados. Agora tudo isso pode ser dividido em dois projetos independentes.
Três imagens básicas
Mínimo – projetado para aplicativos com todas as dependências (Python, Node.js, .NET, etc.)
Conjunto mínimo de conteúdo pré-instalado
Nenhum executável suid
Ferramentas mínimas de gerenciamento de pacotes (instalação, atualização e remoção)
Plataforma – para qualquer aplicação em execução no RHEL
Pilha criptográfica unificada OpenSSL
Pilha YUM completa
Utilitários básicos úteis do sistema operacional incluídos (tar, gzip, vi, etc.)
Multiserviços – facilita a execução de vários serviços em um contêiner
Configurado para executar o systemd na inicialização
Capacidade de habilitar serviços na fase de construção
Imagens de contêiner com ambientes de tempo de execução de linguagem de programação prontos
Além das imagens base que permitem instalar o suporte à linguagem de programação, os UBIs incluem imagens pré-construídas com ambientes de tempo de execução prontos para diversas linguagens de programação. Muitos desenvolvedores podem simplesmente pegar a imagem e começar a trabalhar no aplicativo que estão desenvolvendo.
Com o lançamento do UBI, a Red Hat está oferecendo dois conjuntos de imagens - baseados no RHEL 7 e no RHEL 8. Eles foram baseados no Red Hat Software Collections (RHEL 7) e Application Streams (RHEL 8), respectivamente. Esses tempos de execução são mantidos atualizados e recebem até quatro atualizações por ano como padrão, para que você esteja sempre executando as versões mais recentes e estáveis.
Aqui está uma lista de imagens de contêiner UBI 7:
Aqui está uma lista de imagens de contêiner para UBI 8:
Pacotes associados
Usar imagens prontas é realmente muito conveniente. A Red Hat os mantém atualizados e os atualiza com o lançamento de uma nova versão do RHEL, bem como quando atualizações críticas do CVE ficam disponíveis de acordo com a política de atualização Política de imagem RHEL para que você possa pegar uma dessas imagens e começar imediatamente a trabalhar no aplicativo.
Mas às vezes, ao criar um aplicativo, você pode precisar repentinamente de algum pacote adicional. Ou, às vezes, para que o aplicativo funcione, você precisa atualizar um ou outro pacote. É por isso que as imagens UBI vêm com um conjunto de RPMs que estão disponíveis através do yum e que são distribuídos usando uma rede de entrega de conteúdo rápida e altamente disponível (você tem o pacote!). Ao executar uma atualização do yum em seu CI/CD naquele ponto crítico de lançamento, você pode ter certeza de que funcionará.
RHEL é a base
Não nos cansamos de repetir que RHEL é a base de tudo. Você sabe quais equipes da Red Hat trabalham na criação de imagens base? Por exemplo estes:
Equipe de engenharia responsável por garantir que bibliotecas principais, como glibc e OpenSSL, bem como tempos de execução de linguagens como Python e Ruby, forneçam desempenho consistente e executem cargas de trabalho de maneira confiável quando usadas em contêineres.
A equipe de segurança do produto é responsável pela correção oportuna de erros e problemas de segurança em bibliotecas e ambientes de linguagem. A eficácia de seu trabalho é avaliada por meio de um índice especial Nota do Índice de Integridade do Contêiner.
Uma equipe de gerentes de produto e engenheiros se dedica a adicionar novos recursos e garantir um longo ciclo de vida do produto, dando a você confiança em seu investimento para continuar.
O Red Hat Enterprise Linux é um excelente host e imagem para contêineres, mas muitos desenvolvedores valorizam a capacidade de trabalhar com o sistema em vários formatos, alguns dos quais podem estar fora dos casos de uso suportados do sistema Linux. É aqui que as imagens universais da UBI vêm em socorro.
Digamos que agora, neste estágio, você esteja apenas procurando uma imagem base para começar a trabalhar em um aplicativo simples em contêiner. Ou você já está mais perto do futuro e migrando de contêineres autônomos executados em um mecanismo de contêiner para um histórico nativo da nuvem usando a construção e certificação de operadores executados no OpenShift. Em qualquer caso, o UBI fornecerá uma excelente base para isso.
Os contêineres incluem uma versão leve do espaço do usuário do sistema operacional em um novo formato de pacote. O lançamento de imagens UBI estabelece um novo padrão da indústria para desenvolvimento em contêineres, disponibilizando contêineres de classe empresarial para qualquer usuário, desenvolvedores de software independentes e comunidades de código aberto. Em particular, os desenvolvedores de software podem padronizar seus produtos usando uma base única e comprovada para todos os seus aplicativos em contêineres, incluindo Operadores Kubernetes. As empresas de desenvolvimento que usam UBI também têm acesso ao Red Hat Container Certification e ao Red Hat OpenShift Operator Certification, que por sua vez permite a verificação contínua de software em execução em plataformas Red Hat, como o OpenShift.
Como começar a trabalhar com uma imagem
Resumindo, é muito simples. Podman está disponível não apenas no RHEL, mas também no Fedora, CentOS e diversas outras distribuições Linux. Tudo o que você precisa fazer é baixar a imagem de um dos repositórios a seguir e pronto.