Gerenciamento de contêineres

Podman 5.2: Novidades e melhorias na ferramenta de gerenciamento de contêineres

Este artigo detalha as novidades e melhorias do Podman 5.2, incluindo suporte total para libkrun na criação de máquinas virtuais no MacOS e a expansão das capacidades do Quadlet.

A versão 5.2 do Podman, uma ferramenta de gerenciamento de contêineres de código aberto e multiplataforma, traz uma série de melhorias significativas, incluindo suporte total para libkrun na criação de máquinas virtuais no MacOS.

Destaques importantes do lançamento do Podman 5.2

  1. Suporte para libkrun: A grande novidade do Podman 5.2 é o suporte para libkrun como um backend para criar máquinas virtuais no MacOS. Isso inclui a capacidade de montar GPUs nas máquinas virtuais para acelerar as cargas de trabalho de IA.
  2. Expansão das Capacidades do Quadlet: O Podman 5.2 também expande as capacidades do Quadlet, uma ferramenta para gerenciar contêineres e imagens.
  3. Melhorias no Suporte ao MacOS: O Podman 5.2 traz melhorias significativas na criação de máquinas virtuais no MacOS, incluindo suporte para GPUs.
  4. Correções de Bugs: Vários bugs foram corrigidos nesta versão, incluindo um que causava uma falha de segmentação em certas circunstâncias.
  5. Requisitos do Sistema: Vale ressaltar que o Podman agora requer a nova API de montagem do kernel, introduzindo uma dependência no Linux Kernel v5.2 ou superior.

O lançamento do Podman 5.2 marca um avanço significativo na ferramenta de gerenciamento de contêineres, trazendo melhorias notáveis e expandindo suas capacidades. Com suporte aprimorado para MacOS e várias correções de bugs, o Podman continua a ser uma escolha sólida para gerenciamento de contêineres.

A seguir você verá uma lista com todas as melhorias que foram divulgas no GitHub do projeto.

Podman 5.2: Análise detalhada das novidades e melhorias

Como dito, agora vamos detalhar tudo o que está publicado no lançamento.

Lista com todas as novidades do Podman 5.2

  1. Suporte para libkrun: O Podman agora suporta libkrun como backend para criar máquinas virtuais no MacOS. O backend libkrun tem a vantagem de permitir que as GPUs sejam montadas na máquina virtual para acelerar as tarefas. O backend padrão continua sendo o applehv.
  2. Expansão das Capacidades do Quadlet: O Quadlet agora suporta arquivos .build, o que permite que as imagens sejam construídas pelo Quadlet e depois usadas pelos contêineres Quadlet. Os arquivos .container do Quadlet agora suportam dois novos campos, LogOpt para especificar a configuração de registro do contêiner e StopSignal para especificar o sinal de parada do contêiner (#23050). Além disso, os arquivos .container e .pod do Quadlet agora suportam um novo campo, NetworkAlias, para adicionar aliases de rede. Os caminhos de pesquisa de substituição do Quadlet foram expandidos para incluir substituições de tipo de nível superior (container.d, pod.d) e substituições de unidade truncadas (unit-.container.d) (#23158).
  3. Novos Comandos Podman: O Podman agora suporta um novo comando, podman system check, que identificará (e, se possível, corrigirá) a corrupção dentro do armazenamento local do contêiner. O comando podman machine reset agora redefinirá todos os provedores disponíveis no sistema operacional atual (por exemplo, garantindo que ambas as VMs da máquina podman HyperV e WSL sejam removidas no Windows).
  4. Mudanças: O Podman agora requer a nova API de montagem do kernel, introduzindo uma dependência no Linux Kernel v5.2 ou superior. As unidades .image do Quadlet agora têm uma dependência em network-online.target (#21873). A opção –device para podman create e podman run não é mais ignorada quando –privileged também é especificada (#23132). Os comandos podman start e podman stop não imprimem mais o ID completo do pod iniciado/parado, mas sim a entrada do usuário usada para especificar o pod (por exemplo, podman pod start b imprimirá b em vez do ID completo do pod) (#22590).
  5. Correções de Bugs: Vários bugs foram corrigidos nesta versão, incluindo um onde contêineres sem raiz criados com a opção –sdnotify=healthy poderiam entrar em pânico quando iniciados (#22651), e um onde contêineres criados com a opção –sdnotify=healthy que saíam rapidamente às vezes retornavam um erro em vez de notificar que o contêiner estava pronto (#22760).
  6. API: A API de Build para Imagens agora aceita uma lista separada por vírgulas no parâmetro de consulta Platform, permitindo que uma única chamada de API construa uma imagem para várias arquiteturas (#22071).
  7. Miscelânea: O Podman não requer mais que todos os diretórios pai de seu root e runroot sejam executáveis pelo mundo (#23028). As mensagens de erro do comando podman build quando a opção -f é dada, mas aponta para um arquivo que não existe, foram melhoradas (#22940). O instalador do Podman para Windows agora é construído usando WiX 5. Atualizado a biblioteca gvisor-tap-vsock para v0.7.4. Esta versão contém uma correção para um crash do gvproxy no macOS quando há tráfego pesado de rede em um link rápido. Atualizado o Buildah para v1.37.0. Atualizado a biblioteca containers/image para v5.32.0. Atualizado a biblioteca containers/storage para v1.55.0. Atualizado a biblioteca containers/common para v0.60.0.

O Podman continua a ser uma escolha sólida para gerenciamento de contêineres.

Sobre o Quadlet

O Quadlet é uma ferramenta que foi incorporada ao Podman 4.4 e que esconde a complexidade de executar contêineres sob o systemd, tornando mais fácil a manutenção de arquivos de unidade escritos do zero.

O Quadlet é uma ferramenta para executar contêineres Podman sob o systemd de maneira otimizada, permitindo que os contêineres sejam executados sob o systemd de maneira declarativa. Ele foi criado após a identificação de uma maneira melhor de usar essa modelagem usando geradores systemd para regenerar serviços em tempo real usando uma definição de unidade systemd genérica.

O Quadlet suporta o uso de links simbólicos para a base dos caminhos de pesquisa. Links simbólicos abaixo dos caminhos de pesquisa não são suportados. O Quadlet lê os caminhos de pesquisa acima e lê arquivos com as extensões .container .volume, .network, .build, .pod e .kube, e para cada arquivo gera um arquivo de serviço .service de nome similar.

O Quadlet é uma ferramenta para executar contêineres Podman sob o systemd de maneira ideal, permitindo que os contêineres sejam executados sob o systemd de maneira declarativa. Ele foi incorporado ao Podman 4.4.

Em resumo, o Quadlet é uma ferramenta poderosa que simplifica a execução de contêineres sob o systemd, tornando mais fácil para os usuários escrever e manter arquivos de unidade. Ele oferece uma abordagem declarativa para executar contêineres Podman sob o systemd, escondendo a complexidade do usuário e tornando a escrita de arquivos de unidade a partir do zero muito mais fácil de manter.

Palavras-chave: Podman 5.2, gerenciamento de contêineres, libkrun, MacOS, Quadlet.