E foi lançado o Bottlerocket 1.7 com a correção para um bug dos drivers Nvidia. Confira essa e outras novidades dessa nova distro.
Bottlerocket é uma distribuição que fornece uma imagem de sistema indivisível automaticamente atomicamente atualizada que inclui o kernel Linux e um ambiente de sistema mínimo que inclui apenas os componentes necessários para executar contêineres.
Ela foi desenvolvida com a participação da Amazon, para rodar containers isolados de forma eficiente e segura.
O ambiente usa o gerenciador de sistema systemd, a biblioteca Glibc, a ferramenta de compilação Buildroot, o carregador de inicialização GRUB, o container isolado do container runtime, a plataforma de orquestração de contêiner Kubernetes, o autenticador aws-iam e o agente Amazon ECS.
As ferramentas de orquestração de contêiner vêm em um contêiner de gerenciamento separado que é habilitado por padrão e gerenciado por meio do agente e da API do AWS SSM.
A imagem base não possui shell de comando, servidor SSH e linguagens interpretadas (por exemplo, Python ou Perl): as ferramentas de administração e depuração são movidas para um contêiner de serviço separado, que é desabilitado por padrão.
A principal diferença com distribuições semelhantes como Fedora CoreOS, CentOS/Red Hat Atomic Host é o foco principal em fornecer segurança máxima no contexto de fortalecer a proteção do sistema contra possíveis ameaças, o que complica a exploração de vulnerabilidades nos componentes do sistema. operacional e aumenta o isolamento do recipiente.
Os contêineres são criados usando os mecanismos usuais do kernel do Linux: cgroups, namespaces e seccomp. Para isolamento adicional, a distribuição usa o SELinux no modo “aplicativo”.
A partição raiz é montada somente leitura e a partição com a configuração /etc é montada em tmpfs e restaurada ao seu estado original após a reinicialização.
A modificação direta de arquivos no diretório /etc, como /etc/resolv.conf e /etc/containerd/config.toml, não é suportada; para salvar a configuração permanentemente, você deve usar a API ou mover a funcionalidade para contêineres separados.
Para verificação criptográfica da integridade da partição raiz, o módulo dm-verity é usado e, se for detectada uma tentativa de modificação de dados no nível do dispositivo de bloco, o sistema é reinicializado.
A maioria dos componentes do sistema são escritos em Rust, que fornece ferramentas seguras de memória para evitar vulnerabilidades causadas pelo endereçamento de uma área de memória após a liberação, desreferência de ponteiros nulos e estouros de buffer.
Ao compilar, os modos de compilação “--enable-default-pie
” e “--enable-default-ssp
” são usados por padrão para habilitar a randomização do espaço de endereço executável (PIE) e a proteção contra estouro de pilha por meio da substituição de tag canary.
E, recentemente, foi anunciado o lançamento da nova versão da distribuição Linux “Bottlerocket 1.7.0”.
Novidades do Bottlerocket 1.7
Nesta nova versão da distribuição que se apresenta, uma das mudanças que se destaca é que ao instalar pacotes RPM, é fornecido para gerar uma lista de programas em formato JSON e montá-la no container host como o /var/lib /bottlerocket/inventory/application.json para obter informações sobre os pacotes disponíveis.
Também notável no Bottlerocket 1.7.0 é a atualização dos contêineres “admin” e “control”, bem como versões de pacotes e dependências para Go e Rust.
Por outro lado, destacam-se as versões atualizadas de pacotes com programas de terceiros, além do fato de que os problemas de configuração do tmpfilesd para kmod-5.10-nvidia foram corrigidos e que ao instalar o tuftool, as versões de dependência são vinculadas.
Finalmente, para aqueles que estão interessados em aprender mais sobre esta distribuição, eles devem saber que o kit de ferramentas e os componentes de controle de distribuição são escritos em Rust e são distribuídos sob as licenças MIT e Apache 2.0.
O Bottlerocket oferece suporte à execução de clusters Amazon ECS, VMware e AWS EKS Kubernetes, além de criar compilações e edições personalizadas que permitem diferentes orquestrações e ferramentas de tempo de execução para contêineres.
Para saber mais sobre essa versão da distribuição, acesse a nota de lançamento.
Experimente o Bottlerocket 1.7
O Bottlerocket é melhor usado com um orquestrador de contêiner. Para começar a usar o Kubernetes no Amazon EKS, consulte QUICKSTART-EKS.