Visão geral do Container-Optimized OS

O Container-Optimized OS do Google é uma imagem de sistema operacional para suas VMs do Compute Engine otimizada para executar contêineres do Docker. O Container-Optimized OS é mantido pelo Google e é baseado no projeto de código aberto Chromium OS. Com o Container-Optimized OS, abra seus contêineres do Docker no Google Cloud Platform com rapidez, segurança e eficiência.

Recursos e benefícios

O Container-Optimized OS oferece os seguintes benefícios:

  • Executar contêineres prontos para uso: as instâncias do Container-Optimized OS vêm pré-instaladas com o ambiente de execução do Docker e o cloud-init. Com uma instância do Container-Optimized OS, abra seu contêiner do Docker ao mesmo tempo em que cria sua VM, sem a necessidade de configuração no host.
  • Menor superfície de ataque: o Container-Optimized OS tem uma projeção menor, o que reduz a superfície de ataque em potencial da sua instância.
  • Bloqueado por padrão: as instâncias do Container-Optimized OS incluem um firewall bloqueado e outras configurações de segurança por padrão.
  • Atualizações automáticas: as instâncias do Container-Optimized OS são configuradas para fazer o download de atualizações semanais automaticamente em segundo plano. Para usar as versões mais recentes, só é preciso reinicializar a instância.

Limitações

O Container-Optimized OS tem suporte limitado ou não tem suporte a alguns dos recursos padrão com os quais você pode estar familiarizado em outros sistemas operacionais:

  • O Container-Optimized OS não inclui um gerenciador de pacotes. Por isso, não é possível instalar pacotes de software diretamente em uma instância. No entanto, você pode usar a caixa de ferramentas CoreOS para instalar e executar ferramentas de depuração e administração em um contêiner isolado.
  • O Container-Optimized OS não é compatível com aplicativos que não estejam em contêiner.
  • O kernel do Container-Optimized OS é bloqueado, e você não poderá instalar módulos ou drivers de kernel de terceiros.
  • O Container-Optimized OS não é compatível com ambientes fora do Google Cloud Platform.

Usar o Container-Optimized OS

O Container-Optimized OS é a imagem do SO de nó padrão no Kubernetes Engine e outras implantações do Kubernetes no Google Cloud Platform. Consulte o Guia de início rápido do Kubernetes Engine para mais informações sobre o uso do Container-Optimized OS com o Kubernetes Engine.

Você também pode usar o Container-Optimized OS para abrir rapidamente um contêiner do Docker em uma instância do Compute Engine com trabalho de configuração mínimo. Para mais informações, consulte Como criar e configurar instâncias.

Você pode executar ferramentas como ping, a ferramenta de linha de comando gcloud, pstree, htop, emacs e mais usando o utilitário caixa de ferramentas CoreOS, que está pré-instalado no Container-Optimized OS em /usr/bin/toolbox. Consulte Como depurar com a caixa de ferramentas para mais informações.

Casos de uso para o Container-Optimized OS

O Container-Optimized OS pode ser usado para executar a maioria dos contêineres do Docker. Você deve considerar o uso do Container-Optimized OS como sistema operacional da sua instância do Compute Engine caso precise de:

  • Você precisa de suporte a contêineres do Docker ou Kubernetes com trabalho de configuração mínimo.
  • Sistema operacional com projeção pequena e com segurança reforçada para contêineres.
  • Sistema operacional testado e aprovado para a execução do Kubernetes nas suas instâncias do Compute Engine.

O Container-Optimized OS pode não ser a escolha ideal para você nos seguintes casos:

  • Seu aplicativo não está em um contêiner ou está em contêiner dependente de módulos do kernel, drivers e outros pacotes adicionais que não estão disponíveis no Container-Optimized OS.
  • Você precisa de suporte ao cliente profissional de um provedor do Linux (Canonical, Core OS, RedHat, SUSE etc.).
  • Você quer que sua imagem e seu aplicativo de SO sejam totalmente compatíveis fora do Google Cloud Platform.

Consulte Contêineres no GCP para saber mais sobre outros sistemas operacionais que você usa para executar aplicativos em contêiner no Google Cloud Platform. O Compute Engine fornece imagens para outros sistemas operacionais conhecidos, inclusive imagens otimizadas para contêineres.