Présentation de Container-Optimized OS

Container-Optimized OS de Google est une image de système d'exploitation destinée aux VM Compute Engine qui a été optimisée pour l'exécution de conteneurs Docker. Container-Optimized OS est géré par Google et repose sur le projet Open Source Chromium OS. Avec Container-Optimized OS, vous pouvez appliquer vos conteneurs Docker sur Google Cloud Platform rapidement, efficacement et en toute sécurité.

Fonctionnalités et avantages

Container-Optimized OS offre les avantages suivants :

  • Exécution de conteneurs prêts à l'emploi : l'environnement d'exécution Docker et cloud-init sont pré-installés sur les instances Container-Optimized OS. Celles-ci vous permettent de déployer votre conteneur Docker en même temps que vous créez votre machine virtuelle, sans nécessiter de configuration sur l'hôte.
  • Surface d'attaque réduite : Container-Optimized OS a un encombrement réduit, ce qui limite la surface d'attaque potentielle de votre instance.
  • Verrouillage par défaut : Container-Optimized OS inclut un pare-feu verrouillé, ainsi que d'autres paramètres de sécurité par défaut.
  • Mises à jour automatiques : Container-Optimized OS est configuré pour télécharger automatiquement les mises à jour hebdomadaires en arrière-plan. Il suffit d'un redémarrage pour utiliser les dernières mises à jour.

Limites

Container-Optimized OS n'offre qu'une compatibilité limitée, voire aucune compatibilité, avec certaines des fonctionnalités courantes que vous connaissez peut-être sur d'autres systèmes d'exploitation :

  • Container-Optimized OS n'inclut pas de gestionnaire de packages. De ce fait, vous ne pouvez pas installer de progiciels directement sur une instance. Toutefois, vous pouvez utiliser l'utilitaire CoreOS Toolbox pour installer et exécuter des outils de débogage et d'administration dans un conteneur isolé.
  • Container-Optimized OS n'est pas compatible avec l'exécution d'applications non conteneurisées.
  • Le noyau de Container-Optimized OS est verrouillé. Vous ne pouvez donc pas installer de modules ou de pilotes de noyau tiers.
  • Container-Optimized OS n'offre aucune compatibilité en dehors de l'environnement Google Cloud Platform.

Utiliser Container-Optimized OS

Container-Optimized OS est l'image de l'OS du nœud par défaut dans Kubernetes Engine et dans les autres déploiements de Kubernetes sur Google Cloud Platform. Pour en savoir plus sur l'utilisation de Container-Optimized OS avec Kubernetes Engine, consultez le guide de démarrage rapide de Kubernetes Engine.

Vous pouvez également utiliser Container-Optimized OS pour faire apparaître rapidement un conteneur Docker sur une instance Compute Engine, le tout avec une configuration minimale. Pour en savoir plus, consultez la page Créer et configurer des instances.

Vous pouvez exécuter des outils tels que ping, l'outil de ligne de commande gcloud, pstree, htop, emacs et bien plus encore à l'aide de l'utilitaire CoreOS Toolbox, qui est pré-installé dans Container-Optimized OS à l'adresse /usr/bin/toolbox. Consultez la page Déboguer avec CoreOS Toolbox pour en savoir plus.

Cas d'utilisation de Container-Optimized OS

Container-Optimized OS peut être utilisé pour exécuter la plupart des conteneurs Docker. Il est recommandé d'utiliser Container-Optimized OS comme système d'exploitation pour votre instance Compute Engine si vous avez les besoins suivants :

  • Vous avez besoin de support pour les conteneurs Docker ou Kubernetes avec une configuration minimale.
  • Vous avez besoin d'un système d'exploitation peu encombrant et à la sécurité renforcée pour vos conteneurs.
  • Vous avez besoin d'un système d'exploitation testé et vérifié pour exécuter Kubernetes sur vos instances Compute Engine.

Dans les cas suivants, Container-Optimized OS ne sera pas forcément la solution idéale pour vos besoins :

  • Votre application n'est pas conteneurisée, ou votre application conteneurisée dépend de modules, pilotes et autres packages supplémentaires de noyau non disponibles dans Container-Optimized OS.
  • Vous avez besoin d'une assistance client professionnelle de la part d'un fournisseur Linux (Canonical, CoreOS, Redhat, SUSE, etc.).
  • Vous souhaitez bénéficier d'une compatibilité complète avec votre image et votre système d'exploitation en dehors de Google Cloud Platform.

Consultez la page Conteneurs sur GCP afin d'en savoir plus sur les autres systèmes d'exploitation que vous pouvez utiliser pour exécuter des applications conteneurisées sur Google Cloud Platform. Compute Engine fournit des images pour d'autres systèmes d'exploitation courants, y compris des images optimisées pour les conteneurs.