ビュー:
プロファイル適用性: レベル1
Container-Optimized OS (cos_containerd) を、ホストの攻撃領域を制限する管理された最適化済みのハードニングされたベース OS として使用してください。
COSは、Compute EngineVMでコンテナを実行するために最適化されたOSイメージです。COSを使用すると、コンテナをGoogle Cloud Platform上で迅速かつ効率的、そして安全に起動できます。
COSをノードイメージとして使用すると、次のような利点があります。
  • コンテナをすぐに実行: COSインスタンスにはコンテナランタイムとcloud-initがプリインストールされています。COSインスタンスを使用すると、VMの作成と同時にコンテナを立ち上げることができ、ホスト上でのセットアップは不要です。
  • より小さい攻撃領域: COSはフットプリントが小さく、インスタンスの潜在的な攻撃領域を減少させます。
  • デフォルトでロックダウン: COSインスタンスには、デフォルトでロックダウンされたファイアウォールとその他のセキュリティ設定が含まれています。
注意
注意
コンテナ最適化OS with containerd (cos_containerd) (default) はクラスターノードイメージのデフォルトオプションです。

影響

既存のクラスターのノードプールをCOSで実行するように変更する場合、使用されるアップグレード操作は長時間実行され、完了するまでクラスター上の他の操作 (削除を含む) をブロックします。
COSノードは、dockerの代わりにKubernetesと直接統合されたメインコンテナランタイムとしてcontainerdをオプションとして提供します。そのため、これらのノードでは、DockerはKubernetesによって管理されるコンテナやイメージを表示またはアクセスすることができません。アプリケーションはDockerと直接やり取りすべきではありません。一般的なトラブルシューティングやデバッグには、代わりにcrictlを使用してください。

監査

Google Cloud Consoleを使用する
  1. Kubernetes Engine のウェブサイトにアクセスしてください。
  2. クラスタのリストから、テスト対象のクラスタを選択してください。
  3. Nodeプールセクションで、各Nodeプールのイメージタイプ列にContainer-Optimized OS (cos_containerd)が記載されていることを確認してください。
コマンドラインの使用:
既存のクラスターのノードプールのノードイメージタイプを確認するには:
gcloud container node-pools describe <node_pool_name> --cluster 
<cluster_name> --zone <compute_zone> --format json | jq '.config.imageType'
上記のコマンドの出力は、NodeイメージにCOS_CONTAINERDが使用されている場合、COS_CONTAINERDを返します。

修復

Google Cloud Consoleを使用する
  1. Kubernetes Engine のウェブサイトにアクセスしてください。
  2. COSを使用していないKubernetesクラスターを選択してください。
  3. Node poolsの見出しの下で、変更が必要なNode Poolを選択してください。
  4. [EDIT]をクリックします。
  5. 画像タイプの見出しの下で[CHANGE]をクリックします。
  6. ポップアップメニューから[Container-optimised OS with containerd (cos_containerd) (default)]を選択し、[CHANGE]をクリックします。
  7. すべての非準拠ノードプールに対して繰り返します。
コマンドラインを使用する:
既存のクラスターのノードプールに対してノードイメージをcosに設定するには:
gcloud container clusters upgrade <cluster_name> --image-type cos_containerd 
--zone <compute_zone> --node-pool <node_pool_name>