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