Bottlerocket 1.8 lançado com atualizações, melhorias e correções de bugs

E foi lançado o Bottlerocket 1.8 com atualizações, melhorias e correções de bugs. 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 contêineres 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.8.0”.

Novidades do Bottlerocket 1.8

Bottlerocket 1.8 lançado com atualizações, melhorias e correções de bugs

Chegando quase dois meses depois do Bottlerocket 1.7, no Bottlerocket 1.8.0, destaca-se que o conteúdo dos containers administrativos e de controle foi atualizado, bem como que o runtime dos containers isolados foi atualizado para o branch containerd 1.6.x.

Outra mudança que se destaca nesta nova versão é que os processos em segundo plano que coordenam o trabalho dos containers são reiniciados após alterações no repositório de certificados.

Além disso, a capacidade de definir os parâmetros de inicialização do kernel por meio da seção Configuração de inicialização agora é fornecida, e a capacidade de gerar uma configuração de rede usando o utilitário netdog foi fornecida (o comando gerar-net foi adicionado -config).

Note-se também que o driver smartpqi para dispositivos Microchip Smart Storage foi implementado no kernel 5.10 e que uma nova distribuição “aws-ecs-1-nvidia” foi proposta para o Amazon Elastic Container Service (Amazon ECS) e vem com drivers NVIDIA.

O suporte para dispositivos de armazenamento Microchip Smart Storage e MegaRAID SAS foi adicionado e o suporte para placas Ethernet baseadas em chips Broadcom foi aprimorado.

Além disso, a opção de ignorar blocos vazios ao verificar a integridade da partição raiz usando dm-verity foi habilitada, bem como a capacidade de vincular nomes de host estaticamente em /etc/hosts.

São propostas novas opções de distribuição com suporte para Kubernetes 1.23, além de reduzir o tempo de inicialização dos pods no Kubernetes desabilitando o modo configMapAndSecretChangeDetectionStrategy e adicionando novas configurações do kubelet: ID do provedor e podPidsLimit.

Das outras mudanças que se destacam nesta nova versão:

  • Tempos de inicialização do pod do Kubernetes aprimorados ao desativá-los
  • Adicionada uma nova configuração para definir a configuração do ID do provedor kubelet
  • Adicionada uma nova configuração para definir a configuração do kubelet podPidsLimit
  • Permitir uma lista de endereços IP em settings.kubernetes.cluster-dns-ip
  • Defina o valor padrão para as variantes de metal settings.kubernetes.cloud-provider como uma string vazia
  • Dados de instância c7g adicionados para calcular o máximo de pods em variantes da AWS
  • Versões atualizadas de pacotes e dependências para linguagens Go e Rust, bem como versões de pacotes com programas de terceiros. O SDK do Bottlerocket foi atualizado para a versão 0.26.0.

Para saber mais sobre essa versão da distribuição, acesse a nota de lançamento.

Experimente o Bottlerocket 1.8

O Bottlerocket é melhor usado com um orquestrador de contêiner. Para começar a usar o Kubernetes no Amazon EKS, consulte QUICKSTART-EKS.

Deixe um comentário

Sair da versão mobile