Container-Optimized OS イメージには、リリース時に自動的により新しいバージョンにアップグレードする機能が組み込まれています。この機能を有効にすると、セキュリティ修正やバグの修正に関してユーザー インスタンスを最新の状態に保つことができます。
Container-Optimized OS をマネージド サービス(Google Kubernetes Engine、Cloud SQL など)の一部として使用する場合、マネージド サービスは、ユーザーの Container-Optimized OS インスタンスの更新を処理します。そのため、自動更新は、デフォルトで無効になっています。
カーネルのアップグレードの影響を受けやすい本番環境のワークロードを実行していて、管理下での検証とロールアウトが必要な場合も、自動更新を無効にする必要があります。詳細については、自動更新の無効化をご覧ください。
自動更新を有効または無効にする
マイルストーン 117 以降では、すべての Container-Optimized OS イメージで自動更新機能がデフォルトで無効になっています。117 より前のマイルストーンで、この機能はデフォルトで有効になっています。自動更新を有効または無効にするには、次のセクションの手順に沿って、新しいインスタンス、既存のインスタンス、またはプロジェクト内のすべてのインスタンスで cos-update-strategy
メタデータを設定します。
新しいインスタンスで自動更新を構成する
自動更新を有効にした状態の新しいインスタンスを作成します。
gcloud compute instances create INSTANCE_NAME \
--metadata cos-update-strategy=update_enabled
自動更新を無効にした状態の新しいインスタンスを作成します。
gcloud compute instances create INSTANCE_NAME \
--metadata cos-update-strategy=update_disabled
既存のインスタンスで自動更新を構成する
既存のインスタンスの自動更新を有効にします。
gcloud compute instances add-metadata INSTANCE_NAME \
--metadata cos-update-strategy=update_enabled
既存のインスタンスの自動更新を無効にします。
gcloud compute instances add-metadata INSTANCE_NAME \
--metadata cos-update-strategy=update_disabled
プロジェクト内のすべてのインスタンスで自動更新を構成する
マイルストーン 97 以降では、プロジェクト メタデータのメタデータ フラグで、プロジェクト内のすべてのインスタンスの自動更新を有効または無効にできます。
プロジェクト内のすべてのインスタンスの更新を有効にします。
gcloud compute project-info add-metadata \
--metadata cos-update-strategy=update_enabled
プロジェクト内のすべてのインスタンスの更新を無効にします。
gcloud compute project-info add-metadata \
--metadata cos-update-strategy=update_disabled
自動更新の設計
Container-Optimized OS では、アクティブ - パッシブ ルート パーティション スキームが使用されます。従来の Linux ディストリビューションでのパッケージごとの更新とは異なり、この OS イメージはカーネルを含めて全体が更新されます。イメージは、自動更新機能が有効化された状態で提供されます。つまり、デフォルトの Container-Optimized OS インスタンスは、常に最新バージョンの OS のリリース直後にこれをダウンロードして、パッシブ パーティションにインストールします。
LTS マイルストーンのイメージまたは cos-stable イメージ ファミリーのイメージを使用している場合は、同じマイルストーンから最新の OS バージョンの更新が得られます。cos-dev と cos-beta のイメージ ファミリーの場合、更新は、対応するイメージ ファミリーの最新の OS バージョンになります。
自動更新の動作の変更
Container-Optimized OS チームは、自動更新を可能にするバックエンド インフラストラクチャの改善に積極的に取り組んでいます。こういった変更の一環として、更新ペイロードの署名と検証に使用する鍵をローテーションしています。ただし、鍵のローテーション前にリリースされたイメージは、ローテーション後にリリースされたイメージに自動的に更新されることはありません。影響を受けるイメージの一覧を以下に示します。
以下のイメージは、最新バージョンに更新できません。
- マイルストーン 77: cos-772371-1000-0 より前のイメージ
- マイルストーン 81: cos-81-12871-1000-0 より前のイメージ
- マイルストーン 85: cos-85-13310-1000-0 より前のイメージ
- マイルストーン 86: cos-dev-86-15053-0-0 より前のイメージ
以下のイメージは、今後は更新されません。
- 77 より前のすべてのマイルストーン(サポート終了済みのマイルストーンを含む)
影響を受けるいずれかのバージョンでスタンドアロン Container-Optimized OS を実行し、自動更新機能を有効にしている場合は、インスタンスが新しいバージョンに更新されません。このような場合、ユーザーは、より新しいイメージで VM インスタンスを再作成して、より新しい OS バージョンを手動で選択する必要があります。自動更新は、新しいリリースに対してサポートされているすべてのマイルストーンで引き続き機能します。