Container-Optimized OS の概要

Container-Optimized OS from Google は、コンテナの実行に対して最適化された Compute Engine VM 用のオペレーティング システム イメージです。Container-Optimized OS は、Google によってオープンソースの Chromium OS プロジェクトに基づいて維持管理されています。Container-Optimized OS を使用すると、コンテナを Google Cloud Platform ですばやく、効率的に、安全に使用できます。

機能と利点

Container-Optimized OS には、次の利点があります。

  • コンテナをすぐに起動: Container-Optimized OS インスタンスには Docker ランタイムとコンテナ化されたランタイムおよび cloud-init があらかじめインストールされています。Container-Optimized OS インスタンスを使用すると、VM の作成と同時にコンテナを起動できます。ホスト上での設定は必要ありません。
  • 攻撃される範囲が減少: Container-Optimized OS はフットプリントが小さいので、インスタンスを攻撃される潜在的な範囲が減少します。
  • デフォルトで遮断: Container-Optimized OS インスタンスには、遮断されたファイアウォールやその他のセキュリティ設定がデフォルトで行われています。
  • 自動アップデート: Container-Optimized OS インスタンスは、毎週のアップデートをバックグラウンドで自動的にダウンロードするように設定されています。

制限事項

Container-Optimized OS は、他のオペレーティング システムと共通の一般的な機能の一部をサポートしていません。

  • Container-Optimized OS にはパッケージ マネージャーが含まれていません。このため、インスタンスにソフトウェア パッケージを直接インストールすることはできません。ただし、CoreOS toolbox を使用すると、分離されたコンテナにデバッグツールや管理ツールをインストールして実行できます。
  • Container-Optimized OS は、コンテナ化されていないアプリケーションの実行をサポートしていません。
  • Container-Optimized OS カーネルは遮断されています。サードパーティのカーネル モジュールまたはドライバをインストールすることはできません。
  • Container-Optimized OS は、Google Cloud Platform 環境以外ではサポートされていません。

Container-Optimized OS の使用

Container-Optimized OS は、Kubernetes Engine におけるデフォルト ノード OS イメージであり、Google Cloud Platform の他の Kubernetes デプロイ向けのデフォルト ノード OS イメージでもあります。Kubernetes Engine で Container-Optimized OS を使用する方法については、Kubernetes Engine のクイックスタートをご覧ください。

Container-Optimized OS を使用して、Compute Engine インスタンス上のコンテナを最小限の設定ですばやく起動することもできます。詳しくは、インスタンスの作成と構成を参照してください。

ping、Google Cloud CLI、pstreehtopemacs などのツールは CoreOS toolbox ユーティリティを使用して実行できます。このユーティリティは、Container-Optimized OS の /usr/bin/toolbox にあらかじめインストールされています。詳しくは、ツールボックスを使用したデバッグをご覧ください。

Container-Optimized OS のユースケース

ほとんどのコンテナは Container-Optimized OS を使用して実行できます。次のような状況では、Compute Engine インスタンスのオペレーティング システムとして Container-Optimized OS の使用を検討してください。

  • 最小限の設定が施されたコンテナや Kubernetes のサポートが必要である。
  • フットプリントが小さく、コンテナ向けにセキュリティが強化されたオペレーティング システムが必要である。
  • Compute Engine インスタンスで Kubernetes を実行する目的でテストされ、検証されたオペレーティング システムが必要である。

次のような場合、Container-Optimized OS は適切な選択肢ではありません。

  • アプリケーションがコンテナ化されていないか、コンテナ化されたアプリケーションが Container-Optimized OS で利用できないカーネル モジュール、ドライバ、その他の追加パッケージに依存している。
  • Linux プロバイダ(Canonical、Core OS、Redhat、SUSE など)から専門的なカスタマー サポートが必要である。
  • イメージと OS アプリケーションを Google Cloud 以外で完全にサポートする。

Google Cloud でコンテナ化されたアプリケーションの実行に使用できるその他のオペレーティング システムについては、Google Cloud のコンテナを参照してください。Compute Engine は、コンテナ用に最適化されたイメージを含む、その他の一般的なオペレーティング システムのイメージを提供します。