ビュー:
プロファイル適用性: レベル1
コンテナ最適化OS (cos_containerd) を使用して、ホストの攻撃領域を制限する管理された最適化された強化ベースOSとして利用します。
COSはコンテナの実行に最適化されたCompute Engine VM用の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コンソールを使用する:
  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'
上記のコマンドの出力は、ノードイメージにCOS_CONTAINERDが使用されている場合、COS_CONTAINERDを返します。

修復

Google Cloudコンソールを使用する:
  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>