E foi lançado o Bottlerocket 1.1.0 com Kernel 5.10, SELinux, melhorias e mais. Conheça mais um pouco sobre ela e confira as novidades dessa atualização.
Bottlerocket é um sistema operacional baseado em Linux gratuito e de código aberto destinado a hospedar contêineres. A distribuição Bottlerocket fornece uma imagem de sistema indivisível atômica e atualizada automaticamente que inclui o kernel Linux e um ambiente de sistema mínimo que inclui apenas os componentes necessários para executar contêineres.
Os componentes de distribuição e controle são escritos na linguagem Rust e são distribuídos sob as licenças MIT e Apache 2.0.
Ele é compatível com a execução de Bottlerocket em clusters Amazon ECS e AWS EKS Kubernetes, bem como versões e correções personalizadas que permitem a orquestração de contêineres e ferramentas de tempo de execução diferentes.
O ambiente usa o gerenciador de sistema systemd, biblioteca Glibc, Buildroot, carregador de inicialização GRUB, um tempo de execução containerd, contêineres de plataforma Kubernetes, AWS-iam-authenticator e o agente Amazon ECS.
As ferramentas de orquestração de contêineres são enviadas em um contêiner de gerenciamento separado que é habilitado por padrão e gerenciado por meio do Agente SSM da AWS e API.
A imagem de base não possui um shell de comando, servidor SSH e linguagens interpretadas (por exemplo, sem Python ou Perl) – ferramentas de administração e ferramentas de depuração são movidas para um contêiner de serviços separado, que é desabilitado por padrão.
O sistema operacional básico tem exatamente o que você precisa para executar contêineres de maneira confiável e é construído com componentes de código aberto padrão.
As adições específicas de Bottlerocket focam em atualizações confiáveis e na API. Em vez de fazer alterações na configuração manualmente, você pode alterar as configurações com uma chamada de API e essas alterações são migradas automaticamente por meio de atualizações.
A principal diferença de distribuições semelhantes como Fedora CoreOS, CentOS/Red Hat Atomic Host é o foco principal em fornecer segurança máxima no contexto de proteger o sistema contra ameaças potenciais, tornando difícil explorar vulnerabilidades em componentes do sistema operacional e aumenta o contêiner isolamento.
Além disso, os contêineres são criados usando os mecanismos do kernel Linux padrão: cgroups, namespaces e seccomp.
A partição raiz é montada como somente leitura e a partição de 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, para salvar configurações permanentemente, usar a API ou mover funcionalidade para contêineres separados não é suportada.
Agora, acaba de ser anunciado o lançamento da nova versão da distribuição Linux Bottlerocket 1.1.0, desenvolvida com a participação da Amazon para rodar containers isolados com eficiência e segurança.
Novidades do Bottlerocket 1.1.0
No Bottlerocket 1.1.0, o kernel Linux 5.10 foi incluído para poder usá-lo em novas variantes junto com as duas novas versões das distribuições aws-k8s-1.20 e vmware-k8s-1.20 compatível com Kubernetes 1.20 .
Nessas variantes, bem como na versão atualizada do aws-ecs-1, um modo de bloqueio está envolvido, que é definido como “integridade” por padrão (bloqueia a capacidade de fazer alterações no kernel em execução no espaço do usuário). O suporte para aws-k8s-1.15 com base no Kubernetes 1.15 foi removido no Bottlerocket 1.1.0.
Além disso, o Amazon ECS agora oferece suporte ao modo de rede awsvpc, que permite atribuir endereços IP internos independentes e interfaces de rede para cada tarefa.
Configurações adicionadas para gerenciar várias configurações de bootstrap do Kubernetes TLS, incluindo QPS, limites de grupo e configurações do CloudProvider do Kubernetes para permitir o uso fora da AWS.
No contêiner de boot, ele é fornecido com o SELinux para restringir o acesso aos dados do usuário, bem como uma divisão das regras de política do SELinux para assuntos confiáveis.
Das outras mudanças presentes no Bottlerocket 1.1.0 destacam-se os seguintes itens:
- O Kubernetes cluster-dns-ip agora pode ser opcional para oferecer suporte ao uso fora da AWS
- Parâmetros alterados para oferecer suporte a uma varredura CIS saudável
- O utilitário resize2fs foi adicionado.
- ID de máquina estável gerada para convidados VMware e ARM KVM
- Modo de bloqueio de kernel ativado de “integridade” para a variante de visualização de aws-ecs-1
- Remover a substituição do tempo limite de inicialização do serviço padrão
- Impedir que os contêineres de inicialização sejam reiniciados
- Novas regras do udev para montar o CD-ROM apenas quando a mídia estiver presente
- Suporte de região AWS ap-northeast-3:Osaka
- Pausar o URI do contêiner com variáveis de modelo padrão
- Capacidade de obter IP DNS do cluster, quando disponível
Para saber mais sobre essa versão da distribuição, acesse a nota de lançamento.