自動更新

Container-Optimized OS イメージには、リリース時に自動的により新しいバージョンにアップグレードする機能が組み込まれています。この機能を有効にすると、セキュリティ修正やバグの修正に関してユーザー インスタンスを最新の状態に保つことができます。

Container-Optimized OS をマネージド サービス(Google Kubernetes Engine、Cloud SQL など)の一部として使用する場合、マネージド サービスは、ユーザーの Container-Optimized OS インスタンスの更新を処理します。そのため、自動更新は、デフォルトで無効になっています。

カーネルのアップグレードの影響を受けやすい本番環境のワークロードを実行していて、管理下での検証とロールアウトが必要な場合も、自動更新を無効にする必要があります。詳細については、自動更新の無効化をご覧ください。

自動アップデートを無効にする

自動更新機能は、すべての Container-Optimized OS イメージでデフォルトで有効になっています。この機能を無効にするには、次のいずれかの方法で cos-update-strategy メタデータを設定します。

[新しいインスタンス] をクリックします。

自動更新を無効にした状態の新しいインスタンスを作成します。

gcloud compute instances create INSTANCE_NAME --metadata cos-update-strategy=update_disabled

既存のインスタンス

既存のインスタンスの自動更新を無効にします。

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_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 バージョンを手動で選択する必要があります。自動更新は、新しいリリースに対してサポートされているすべてのマイルストーンで引き続き機能します。