Config Sync のアップグレード

このページでは、クラスタにインストールされている Config Sync のバージョンをアップグレードする方法について説明します。

Config Sync を自動アップグレードする

Config Sync を構成して、GKE on Google Cloud クラスタで新しいバージョンに自動アップグレードできます。

Config Sync の自動アップグレードを有効にすると、管理作業を効率化できます。Config Sync のバージョンを自動的にアップグレードし、コンポーネントのライフサイクルを監視する責任は、Google が負います。自動アップグレードを有効にすると、次のようなメリットがあります。

  • メンテナンスのオーバーヘッドが低減される: Config Sync の新しいバージョンのためのモニタリングの必要がなくなり、クラスタ間での Config Sync の手動アップグレードが不要になります。
  • サポートされているバージョンを維持する: Google は、サポートされている最新バージョンをクラスタで維持し、サポートされていないバージョンの Config Sync が使用されないようにします。
  • 信頼性の向上: Google が Config Sync コンポーネントを管理し、変更があった場合はコンポーネントを調整します。

Config Sync のバージョンと GKE リリース チャンネル

Config Sync は、Google Kubernetes Engine クラスタのリリース チャンネルに基づいてアップグレードするバージョンを選択します。GKE リリース チャンネルを使用していないクラスタは、Stable GKE リリース チャンネルを使用しているクラスタとして扱われます。

クラスタで Config Sync が自動的にアップグレードされるように、自動アップグレードを使用できます。リリース チャンネルで新しいバージョンの Config Sync が利用可能になると、Config Sync はクラスタのリリース チャンネルに一致する Config Sync バージョンをアップグレードします。Rapid チャンネルでは、Config Sync の最新バージョンが利用可能になると直ちに提供されます。Regular チャンネルでは、比較的早い段階で Config Sync の最新バージョンが提供されます。Stable チャンネルでは、Rapid チャンネルと Regular チャンネルで検証された場合のみ、Config Sync の最新バージョンが提供されています。

リリース チャンネルの詳細については、リリース チャンネルについてをご覧ください。

次の表に、各リリース チャンネルで利用可能な現在の Config Sync のバージョンを示します。

リリース チャンネル

Config Sync のバージョン

Rapid と Regular

1.19

Stable(またはチャンネルなし)

1.18.3

自動アップグレードを有効にする

自動アップグレードを有効にして、フリート全体でクラスタ上の Config Sync が自動的にアップグレードされるようにします。

自動アップグレードは、GKE Enterprise が有効になっている Google Cloud クラスタ上の GKE でのみ有効にできます。

Config Sync をインストールして自動アップグレードを有効にするには、Config Sync をインストールするの手順に沿って操作します。

Config Sync がすでにインストールされているクラスタで自動アップグレードを有効にするには、次の手順を行います。

  1. GKE クラスタがリリース チャンネルに登録されていることを確認します。GKE クラスタがリリース チャンネルに登録されていない場合、Config Sync は、クラスタが Stable GKE リリース チャンネルを使用しているかのように自動アップグレードします。
  2. Cloud Monitoring に指標を送信するように Config Sync をまだ構成していない場合は、指標の書き込み権限を付与します。これは、自動アップグレードに必須です。
  3. Config Sync がサポートされているバージョンであることを確認します。

    コンソール

    1. Google Cloud コンソールで、[機能] セクションの [構成] ページに移動します。

      [構成] に移動

    2. [設定] タブで、バージョンをアップグレードするクラスタの横にある [クラスタ構成を編集する] をクリックします。
    3. [バージョン] プルダウン リストから、アップグレードするバージョンを選択します。
    4. [Config Sync のアップグレード] をクリックします。

    gcloud

    1. (省略可)アップグレードする前にクラスタに Config Sync のどのバージョンがインストールされているかを確認する場合は、次のコマンドを実行します。

      gcloud beta container fleet config-management
      
    2. Config Sync をアップグレードするには、次のコマンドを実行します。

      gcloud beta container fleet config-management upgrade \
          --version=VERSION \
          --membership=MEMBERSHIP_NAME
      

      次のように置き換えます。

      • VERSION: アップグレードするバージョン
      • MEMBERSHIP_NAME: クラスタの登録時に選択したフリートのメンバーシップ名。メンバーシップ名を確認するには、gcloud container fleet memberships list を実行します。
  4. Config Sync の自動アップグレードを有効にします。

    コンソール

    個別のクラスタで自動アップグレードを有効にする

    個別のクラスタで自動アップグレードを有効にするには、次の手順を行います。

    1. Google Cloud コンソールで、[機能] セクションの [構成] ページに移動します。

      [構成] に移動

    2. [Config Sync の設定] をクリックします。
    3. 更新するクラスタの [クラスタ構成を編集する] を選択します。
    4. 表示された設定ペインで、[自動アップグレード] を選択します。
    5. [Config Sync の設定を変更] をクリックします。数分経過すると、[設定] タブの選択したクラスタの [自動アップグレード] 列に「はい」と表示されます。

    フリートのデフォルトとして自動アップグレードを有効にする

    クラスタのフリート全体で自動アップグレードを有効にするには、次の手順を行います。

    1. Google Cloud コンソールで、[機能マネージャー] ページに移動します。

      機能マネージャーに移動

    2. [Config Sync] ペインで、[構成] をクリックします。

    3. デフォルトの設定を変更するには、[フリートの設定をカスタマイズ] をクリックします。

    4. 表示されたダイアログで [自動アップグレード] を選択します。

    5. [保存] をクリックします。

    6. 省略可: 既存のクラスタをデフォルト設定に同期します。

      1. [機能マネージャー] ページに移動します。

        機能マネージャーに移動

      2. [Config Sync] ペインで、[詳細を表示] をクリックします。

      3. [フリート内のクラスタ] リストで、同期するクラスタを選択します。

      4. [フリートの設定に同期] をクリックし、表示された確認ダイアログで [確認] をクリックします。このオペレーションには数分かかることがあります。

    gcloud

    個別のクラスタで自動アップグレードを有効にするには、次の手順を行います。

    1. Google Cloud CLI を最新バージョンに更新します。

      gcloud components update
      
    2. 既存の Config Sync apply spec ファイルを更新して、以下の例のように、upgrades: auto フィールドを追加します。

      applySpecVersion: 1
      spec:
        upgrades: auto
        configSync:
          enabled: true
      # other fields intentionally omitted
      
    3. 更新された apply-spec.yaml ファイルを適用します。

      gcloud beta container fleet config-management apply \
          --membership=MEMBERSHIP_NAME \
          --config=CONFIG_YAML_PATH \
          --project=PROJECT_ID
      

      次のように置き換えます。

      • MEMBERSHIP_NAME: クラスタの登録時に選択したフリート メンバーシップ名。名前は gcloud container fleet memberships list で確認できます。
      • CONFIG_YAML_PATH: apply-spec.yaml ファイルのパス。
      • PROJECT_ID: プロジェクト ID。
    4. 自動アップグレードが有効になっていることを確認します。

      gcloud beta container fleet config-management status \
        --project=PROJECT_ID
      

      PROJECT_ID はプロジェクトの ID に置き換えます。

      自動アップグレードが有効になっているクラスタでは、Upgrades 列に「自動」と表示されます。自動アップグレードを有効にするときにエラーが発生した場合は、Status 列に ERROR と詳細なエラー メッセージが表示されます。

リリース チャンネルを変更する

クラスタのリリース チャンネルの変更については、GKE ドキュメントのクラスタのリリース チャンネルを変更するをご覧ください。Config Sync の自動アップグレードが有効になっている場合は、リリース チャンネルを変更する際に次の点を考慮する必要があります。

  • リリース チャンネルを安定性の低いチャンネルに変更すると(Stable から Rapid など)、Config Sync は元のリリース チャンネルでサポートされている最新バージョンから新しいリリース チャンネルでサポートされている最新バージョンに自動アップグレードされます。
  • リリース チャンネルをより安定したチャンネル変更すると(Rapid から Stable など)、Config Sync はバージョンをダウングレードしません。時間の経過とともに、元のリリース チャンネルでサポートされている最新バージョンが新しいリリース チャンネルにプロモートされます。新しいリリース チャンネルで新しいバージョンが利用可能になると、Config Sync は通常どおり自動アップグレードされます。
  • リリース チャンネルの登録を解除しても、Config Sync の自動アップグレードには影響しません。Config Sync のバージョンは、クラスタが Stable リリース チャンネルに登録されているかのようにアップグレードされます。

Config Sync を手動でアップグレードする

Config Sync をアップグレードする前に、リリースノートでバージョン間での変更点の詳細を確認してください。サポートされていない Config Sync のバージョンからアップグレードする必要がある場合は、一度にマイナー バージョンを 3 つまで増やして段階的にアップグレードする必要があります。たとえば、現在の Config Sync のバージョンが 1.11.0 の場合は、まずバージョン 1.14.0 にアップグレードしてから、バージョン 1.17.0 にアップグレードします。

Config Sync をアップグレードするには、次の手順を実施します。

コンソール

  1. Google Cloud コンソールで、[機能] セクションの [構成] ページに移動します。

    [構成] に移動

  2. [設定] タブで、アップグレードする Config Sync のバージョンのクラスタの横にある [クラスタ構成を編集する] を選択します。
  3. [バージョン] プルダウン リストから、アップグレードするバージョンを選択します。
  4. [Config Sync のアップグレード] をクリックします。

gcloud

  1. (省略可)アップグレードする前にクラスタに Config Sync のどのバージョンがインストールされているかを確認する場合は、次のコマンドを実行します。

    gcloud beta container fleet config-management version
    
  2. 次のコマンドを実行します。

    gcloud beta container fleet config-management upgrade \
        --version=VERSION \
        --membership=MEMBERSHIP_NAME
    

    次のように置き換えます。

    • VERSION: アップグレード先のバージョン。
    • MEMBERSHIP_NAME: クラスタの登録時に選択したフリートのメンバーシップ名。メンバーシップ名を確認するには、gcloud container fleet memberships list を実行します。