O ContainerOS é o sistema operacional oficial da Alibaba Cloud, otimizado para workloads de contêineres e totalmente compatível com o ecossistema Kubernetes. Desenvolvido com base no Alibaba Cloud Linux, ele oferece maior segurança, inicialização mais rápida e serviços e pacotes de sistema simplificados. Além disso, integra componentes cloud-native por padrão, deixando seus nós prontos para uso.
Cenários suportados
O ContainerOS se aplica a pools de nós em um ACK managed cluster cuja versão do cluster seja 1.24 ou posterior e o runtime de contêiner seja o containerd. Para obter instruções, consulte Crie um cluster ACK gerenciado. Para atualizar um cluster, consulte Manually upgrade a cluster.
O ContainerOS não se aplica a nós baseados em ARM e não oferece suporte a tipos de instância com discos locais.
Visão geral do ContainerOS
Ao implantar aplicações em contêineres, componentes cloud-native, como runtimes de contêiner e o Kubernetes, permitem que você foque no desenvolvimento da aplicação em vez dos detalhes da infraestrutura subjacente. Para atender a diversos casos de uso, os sistemas operacionais tradicionais agrupam várias ferramentas de modo de usuário, pacotes e serviços de sistema. O resultado é um sistema inchado e com inicialização lenta. A grande variedade de pacotes e versões dispersas também gera desafios significativos de operação e manutenção (O&M).
Para superar as limitações dos sistemas operacionais tradicionais em ambientes cloud-native e melhorar a experiência do usuário, o Container Service for Kubernetes (ACK) desenvolveu o ContainerOS especificamente para workloads de contêineres. Em comparação com um sistema operacional tradicional, o ContainerOS é mais leve, mais modular e inicia e executa contêineres com mais rapidez. Ele também oferece maior segurança e consome menos recursos, o que o torna ideal para cloud computing e implantações em grande escala.
Recursos
|
Recurso |
Descrição |
|
Simplificação de imagem |
O ContainerOS inclui apenas os pacotes e serviços de sistema necessários para a execução dos pods do Kubernetes. A consolidação e a otimização em todo o sistema reduzem significativamente o tempo de inicialização. O ContainerOS é entregue com cerca de 210 pacotes de sistema, enquanto sistemas operacionais tradicionais, como Alibaba Cloud Linux 3, Alibaba Cloud Linux 2 e CentOS, pré-instalam aproximadamente 600 pacotes por padrão.
Além disso, o ContainerOS não oferece suporte a Python e não fornece login SSH direto. O ContainerOS permite que você foque no desenvolvimento e na execução de suas workloads sem precisar lidar com problemas do sistema operacional. |
|
Inicialização rápida |
A otimização de ponta a ponta melhora significativamente a velocidade de inicialização do sistema operacional e reduz o tempo de scale-out de nós no pipeline do ACK. O ContainerOS simplifica o processo de inicialização do SO e pré-carrega imagens de contêiner para os componentes exigidos pelo plano de controle do cluster. Isso reduz o atraso causado pelo pull de imagens na inicialização do nó. Combinado com as otimizações do plano de controle do ACK, o scale-out de nós se torna ainda mais rápido. Na figura a seguir, o tempo P90 de prontidão do nó para um scale-out de 1.000 nós com ContainerOS é de apenas 53 segundos. Em comparação com o CentOS e a solução de otimização Alibaba Cloud Linux 2 custom image, o ContainerOS apresenta uma vantagem clara. Importante
Os dados deste exemplo são apenas teóricos. Os dados reais podem variar ligeiramente devido a otimizações de recursos do product. Consulte seu próprio ambiente para obter os resultados reais. |
|
Reforço de segurança |
O sistema de arquivos raiz é somente leitura. Apenas os diretórios /etc e /var são graváveis, o que atende às necessidades básicas de configuração do sistema. Esse design segue o princípio de infraestrutura imutável para ambientes cloud-native e impede efetivamente que um contêiner que escape adultere o sistema de arquivos do host. O ContainerOS também impede que você faça logon diretamente no sistema e execute operações que possam ser irrastreáveis. Para necessidades de O&M não rotineiras, ele fornece um administrative container dedicado. |
|
Atualização atômica |
Seguindo o princípio de infraestrutura imutável cloud-native, o ContainerOS não fornece a ferramenta de gerenciamento de pacotes Toda imagem passa por testes internos rigorosos antes do lançamento. Em comparação com a incerteza de atualizar pacotes RPM individuais em sistemas operacionais tradicionais, os testes e o lançamento no nível da imagem garantem melhor a estabilidade do sistema após uma atualização. |
Benefícios
|
Benefício |
Descrição |
|
Otimização vertical para workloads de contêineres |
O ContainerOS é otimizado verticalmente para workloads de contêineres, oferecendo inicialização rápida, reforço de segurança e um sistema de arquivos raiz imutável. Esses recursos melhoram o desempenho e simplificam a operação, manutenção e gerenciamento em todo o cluster. Eles também mantêm os nós de um cluster altamente consistentes. |
|
Scale-out rápido de nós |
Ao combinar as otimizações do plano de controle do ACK com otimizações internas do SO, o ContainerOS aumenta significativamente a velocidade de scale-out de nós. O scale-out de nós representa mais de 90% do tempo total gasto no auto scaling de nós do ACK. Com o ContainerOS, a experiência de auto scaling para pools de nós melhora consideravelmente. |
|
Manutenibilidade do SO |
Em conjunto com o plano de controle do ACK, o ContainerOS suporta atualizações contínuas do Kubernetes e de outros softwares de sistema, correção de vulnerabilidades CVE e lançamentos de imagens sob demanda. Isso melhora a manutenibilidade do SO. Em comparação com a solução Alibaba Cloud Linux 2 custom image, que também pré-carrega imagens para acelerar a inicialização de nós, o ContainerOS fornece manutenção oficial e cobertura de CVE. Isso reduz significativamente o trabalho necessário para manter e atualizar imagens de SO personalizadas e corrigir problemas críticos. Além disso, a otimização conjunta com o ACK reduz consideravelmente o tempo de inatividade dos nós causado por operações de O&M e mantém suas workloads funcionando sem interrupções. |
|
Compatibilidade com Alibaba Cloud Linux |
O ContainerOS 3 é baseado no Alibaba Cloud Linux 3 e usa a série de kernel 5.10. O ContainerOS 4 é baseado no Alibaba Cloud Linux 4 e usa a série de kernel 6.6. O ciclo de manutenção de cada versão corresponde ao ciclo de manutenção da versão do Alibaba Cloud Linux na qual ele se baseia. |
Notas de segurança
O ContainerOS aplica os seguintes princípios de design para reforçar sua segurança.
Segurança do sistema operacional
|
Recurso |
Descrição |
|
|
Ambiente de execução mínimo |
O ContainerOS inclui apenas os pacotes e serviços de sistema exigidos pelas workloads de contêineres, totalizando aproximadamente 210 pacotes. Menos pacotes significam menos CVEs e uma superfície de ataque menor para o próprio sistema operacional. O ContainerOS remove pacotes com alta contagem de CVEs, como binutils, Python, openssh e tcpdump. Ele também reduz o ambiente de execução de linguagens de script ao mínimo e não suporta a execução de scripts em Python, Perl ou Ruby. |
|
|
O&M de nós do ContainerOS |
O ContainerOS usa um ambiente de execução mínimo e um sistema de arquivos raiz imutável para aumentar a segurança. A realização de O&M em nós do ContainerOS difere do gerenciamento de um sistema operacional Linux padrão. Para obter instruções, consulte Maintain ContainerOS nodes. |
|
|
Sistema de arquivos raiz imutável |
O ContainerOS não suporta softwares de gerenciamento de pacotes como o yum. Apenas o rpm-ostree é suportado, o que torna as alterações e os rollbacks do SO rastreáveis. O sistema de arquivos raiz |
|
|
Disco do sistema somente leitura |
Defina o disco do sistema como somente leitura; ele não pode armazenar dados, o que protege o sistema contra adulterações e ataques persistentes. Para garantir que o sistema inicie e funcione conforme o esperado, anexe um disco de dados adicional. Os dados do usuário são armazenados no disco de dados, o que os mantém separados do disco do sistema. Por padrão, o disco de dados é montado no diretório |
O disco do sistema somente leitura, a remoção de interpretadores de shell e o novo contêiner Bootstrap são suportados apenas no ContainerOS 3.5.0 e versões posteriores. |
|
Interpretadores de shell removidos |
Interpretadores de scripts de shell, como /bin/bash e /bin/sh, são removidos do sistema. Isso bloqueia a execução de scripts de shell e reduz o risco de ataques de scripts maliciosos. |
|
|
Novo contêiner Bootstrap |
O ContainerOS fornece um contêiner Bootstrap que executa scripts de dados do usuário personalizados antes que o contêiner principal seja iniciado. O contêiner Bootstrap é encerrado automaticamente após a conclusão de suas tarefas de inicialização, o que evita riscos de segurança para o sistema principal e seus contêineres de workload. |
|
Segurança da infraestrutura
Sistema de pacotes baseado no Alibaba Cloud Linux: o Alibaba Cloud Linux é uma distribuição de sistema operacional para servidores Linux desenvolvida pela Alibaba Cloud, sendo a distribuição mais utilizada na Alibaba Cloud. O ContainerOS é baseado no Alibaba Cloud Linux e é fortemente otimizado para casos de uso em cloud. Ele reutiliza os anos de experiência que o Alibaba Cloud Linux possui na criação e entrega de pacotes e imagens. Cada imagem também passa por testes de linha de base do SO e testes de integração do ACK antes do lançamento, garantindo sua disponibilidade e segurança.
Ciclo de manutenção
O ciclo de manutenção do ContainerOS corresponde ao da versão principal do Alibaba Cloud Linux na qual ele se baseia. A tabela a seguir lista os períodos de suporte de cada versão:
|
Versão do ContainerOS |
Sistema operacional base |
Fim do suporte de desenvolvimento |
Fim do suporte de manutenção |
Fim do suporte estendido (data de fim do suporte) |
|
ContainerOS 4 |
Alibaba Cloud Linux 4 |
Junho de 2030 |
Junho de 2035 |
30 de junho de 2038 |
|
ContainerOS 3 |
Alibaba Cloud Linux 3 |
Março de 2026 |
Março de 2031 |
31 de março de 2034 |
A lista a seguir descreve o que cada fase de suporte cobre:
Fase de suporte de desenvolvimento: Aceita solicitações para habilitação de novo hardware, novos recursos principais e aprimoramentos de recursos, além de fornecer suporte como correções de bugs e correções de vulnerabilidades de segurança.
Fase de suporte de manutenção: Fornece suporte como correções de bugs e correções de vulnerabilidades de segurança.
Fase de suporte estendido: Fornece correções de bugs de alta prioridade e correções para vulnerabilidades de segurança críticas e de alto risco aprovadas pela Alibaba Cloud após avaliação.
Para obter detalhes sobre os ciclos de manutenção, consulte What is Alibaba Cloud Linux.
Monitore os lançamentos de imagens do ContainerOS e mantenha suas imagens atualizadas. Conclua uma atualização ou migração do sistema operacional antes da data de fim do suporte para continuar recebendo atualizações de segurança e suporte de manutenção. Para obter informações sobre atualizações de imagem, consulte ContainerOS image release notes.
Faturamento
O ContainerOS é uma imagem gratuita. As imagens do ContainerOS estão disponíveis em pools de nós do ACK sem custo. A Alibaba Cloud também fornece suporte de longo prazo para este sistema operacional sem cobrança. Para obter detalhes sobre o escopo e os períodos de suporte, consulte Ciclo de manutenção.
No entanto, ao usar uma imagem do ContainerOS, você é cobrado por outros recursos, como vCPUs, memória, armazenamento, largura de banda de Internet e snapshots. Para obter detalhes de faturamento sobre outros recursos, consulte Billing overview.
Referências
Para obter instruções sobre como usar o ContainerOS como sistema operacional para um pool de nós, consulte Use ContainerOS.
Para obter informações sobre os lançamentos de imagens do ContainerOS, consulte ContainerOS image release notes.