Sitecore Managed Cloud ContainersソリューションをAKS 1.25にアップグレードする方法


説明

Azure Kubernetes Service (AKS) 1.24のサポートは、2023年7月に廃止されます。そのため、AKS 1.24をベースにしたSitecore Managed Cloud Containersソリューションは、AKS 1.25を使用する最新のSitecore Managed Cloud Containersソリューションにアップグレードする必要があります。AKSの廃止および非推奨化の影響に関する詳細情報については、MicrosoftのFAQを参照してください。

以下の記事では、Sitecore Managed Cloud Containersソリューションから、AKS 1.25を使用するSitecore Managed Cloud Containersソリューションへアップグレードする方法について説明します。

重要:

破壊的変更

AKSバージョンを1.24から1.25にアップグレードすると、いくつかの破壊的変更が導入されます。

註:Sitecoreバージョンが10.1~10.3の場合、アップグレード中にダウンタイムが発生する可能性があります。

Sitecoreバージョン10.1.0~バージョン10.1.2向けのアップグレード手順

下記の図では、アップグレードの過程で作成される様々なブランチ、および実行されるパイプラインを示しています。

ディザスタ リカバリなし・基本的なディザスタ リカバリ コールド スタンバイAKS 4.png

マネージド ディザスタ リカバリ ホット スタンバイ 
AKS 7.png

 

以下の手順に従って、アップグレードを実施してください。

  1. 必要なトポロジーおよびバージョン向けのアップグレード パッケージをこちらのストレージからダウンロードします。利用可能なアップグレード パッケージの一覧は下記の通りです。
    • Sitecoreバージョン10.1.0ソリューション:
      • mcc.xp.upgrade.10.1.0-r.0.1.321601.nupkg
      • mcc.xm.upgrade.10.1.0-r.0.1.321601.nupkg
    • Sitecoreバージョン10.1.1ソリューション:
      • mcc.xp.upgrade.10.1.1-r.0.1.321602.nupkg
      • mcc.xm.upgrade.10.1.1-r.0.1.321602.nupkg
    • Sitecoreバージョン10.1.2ソリューション:
      • mcc.xp.upgrade.10.1.2-r.0.1.321603.nupkg
      • mcc.xm.upgrade.10.1.2-r.0.1.321603.nupkg
  2. AKS-125-upgrade-preparation.zip」パッケージをこちらのストレージからダウンロードします。
  3. 「Infrastructure」のmasterブランチの新しい一時的なブランチを作成します。このブランチは、以降の手順では「upgrade-preparation」ブランチと呼称します。
    註:このブランチは、アップグレード パッケージが適用されていない既存のmasterブランチから作成する必要があります。
  4. AKS-125-upgrade-preparation.zip」からのInfrastructureフォルダー配下の内容物を「upgrade-preparation」ブランチにコピーします。
  5. 一時的なブランチへの変更をコミットします。ただし、マージは行いません
  6. 「upgrade-preparation」ブランチ(Infrastructureリポジトリ)を使用して組織内に新しい「upgrade-preparation」パイプラインを作成します。
  7. 「upgrade-preparation」ブランチを使用して「upgrade-preparation」パイプラインを実行します。
  8. 一時的な「upgrade-preparation」のパイプラインおよびブランチを削除します。
  9. Sitecore 10.2向けのガイドラインに従って、アップグレード パッケージをInfrastructureリポジトリにのみインストールします。
  10. 環境がマネージド ディザスタ リカバリ ホット スタンバイを使用している場合、次の手順を実施します。そうでない場合、手順11に進みます。
    • こちらのストレージからAKS-125-upgrade-for-env-with-DR-Managed-Hot.zipパッケージをダウンロードします。
    • ダウンロードしたパッケージを解凍し、その内容物をInfrastructureリポジトリ(パイプライン フォルダー)にコピーします。
  11. プル リクエスト(PR)を使用してアップデートをInfrastructureリポジトリにマージし、Infrastructureパイプラインが正常に実行されるようにします。
  12. 環境がマネージド ディザスタ リカバリ ホット スタンバイを使用している場合、次の手順を実施します。そうでない場合、手順13に進みます。
    • Azureポータルにて、セカンダリ リソース グループ (<infraID>draks)に移動しセカンダリIPを取得します。
    • Infrastructureリポジトリにて、infrastructure\frontdoor\backend-config.jsonに移動します。セカンダリIPアドレスを使用して、すべてのバックエンドをprority 2にアップデートし、変更をコミットします。
  13. 「Frontdoor」パイプラインを実行します。
  14. 「upgrade-preparation」パイプライン用のApplicationリポジトリの新しい一時的なブランチを作成します。
    註:このブランチは、アップグレード パッケージが適用されていない既存のmasterブランチから作成する必要があります。
  15. 以前にダウンロードした「AKS-125-upgrade-preparation.zip」パッケージからの「application/v10-10.1/*」フォルダーの配下物をApplicationリポジトリのルート フォルダーにコピーします。
  16. 一時的なブランチへの変更にコミットを行いますが、マージは行いません
  17. 一時的なブランチと「application\pipelines\application-upgrade-preparation.yaml」ファイルを使用して、貴社組織で新しい「upgrade-preparation」パイプラインを作成します。
  18. 下記に従って、「upgrade-preparation」パイプラインを実施します。
    パイプラインが正しいロールを選択するよう、「sitecore_role_pattern_match」パラメーターを使用します。デフォルトのパターンは「sitecore-*」です。
    AKS 1.png
    註:アップグレードの準備は、Sitecoreの「ansible」ロールに依存しており、そのロールのフォルダー構造を変更すると、失敗につながるおそれがあります。
  19. 環境がマネージド ディザスタ リカバリ ホット スタンバイを使用している場合、下記の追加手順を実施してください。そうでない場合、手順20に進みます。
    • 一時的なブランチと「application\pipelines\dr-application-upgrade-preparation.yaml」ファイルを使用して貴社組織で新しい「dr-upgrade-preparation」パイプラインを作成します。
    • dr-upgrade-preparation」パイプラインを下記の通り実行します:
      パイプラインが正しいロールを選択するよう、「sitecore_role_pattern_match」パラメーターを使用します。デフォルトのパターンは「sitecore-*」です。
      AKS 1.png
      註:アップグレードの準備は、Sitecoreの「ansible」ロールに依存しており、そのロールのフォルダー構造を変更すると、失敗につながるおそれがあります。
  20. 一時的な「upgrade-preparation」パイプラインおよびブランチは、この段階で削除しても問題ありません。
  21. Sitecore 10.2向けのガイドラインに従って、アップグレード パッケージをApplicationリポジトリにインストールします。
    • アップグレードはただちにマージすることができます。
    • Applicationパイプラインは、自動的に開始されます。
  22. 「check cluster upgrades」パイプラインを実行します。
  23. 「cluster version upgrade」のパイプラインを実行します。「cluster version upgrade」パイプラインで受信された利用可能な最新のパッチ バージョンを選択します。(Kuberbetesバージョン1.25※)
  24. 環境がマネージド ディザスタ リカバリ ホット スタンバイを使用している場合、「dr cluster version upgrade」パイプラインを実行します。「cluster version upgrade」パイプラインから受信した、利用可能な最新のパッチ バージョンを選択します。(Kubernetesバージョン1.25※

Sitecoreバージョン10.2およびSitecoreバージョン10.3のアップグレード手順

下記の図は、アップグレードの過程で作成されるブランチ、および実行されるパイプラインを示しています。

ディザスタ リカバリなし・基本的なディザスタ リカバリ コールド スタンバイAKS 8.png

マネージド ディザスタ リカバリ ホット スタンバイ
AKS9.png

 

重要:

以下の手順に従って、アップグレードを実施してください。

  1. 必要なトポロジーおよびバージョン向けのアップグレード パッケージをこちらのストレージからダウンロードします。利用可能なアップグレード パッケージの一覧は以下の通りです。 
    • Sitecoreバージョン10.2.0ソリューション:
      • mcc.xp.upgrade.10.2.0-r.0.1.321604.nupkg
      • mcc.xm.upgrade.10.2.0-r.0.1.321604.nupkg
    • Sitecoreバージョン10.3.0ソリューション:
      • mcc.xp.upgrade.10.3.0-r.0.1.321605.nupkg
      • mcc.xm.upgrade.10.3.0-r.0.1.321605.nupkg
  2. AKS-125-upgrade-preparation.zip」パッケージをこちらのストレージからダウンロードします。
  3. 「Infrastructure」のmasterブランチの新しい一時的なブランチを作成します。このブランチは、以降の手順では「upgrade-preparation」ブランチと呼称します。
    註:このブランチは、アップグレード パッケージが適用されていない既存のmasterブランチから作成する必要があります。
  4. AKS-125-upgrade-preparation.zip」のInfrastructureフォルダー配下の内容物を「upgrade-preparation」ブランチにコピーします。
  5. 一時的なブランチへの変更をコミットしますが、マージは行いません
  6. 「upgrade-preparation」ブランチ(Infrastructureリポジトリ)と「\pipelines\prepare-mcc-upgrade.yaml」ファイルを使用して、貴社組織で新しい「upgrade-preparation」パイプラインを作成します。
  7. 「upgrade-preparation」ブランチを使用して「upgrade-preparation」パイプラインを実行します。
  8. 一時的な「upgrade-preparation」パイプラインとブランチは、この段階で削除しても問題ありません。
  9. Sitecore 10.2向けのガイドラインに従って、アップグレード パッケージをInfrastructureリポジトリにのみインストールします。ただし、masterへのマージは行いません。
  10. 環境がマネージド ディザスタ リカバリ ホット スタンバイを使用している場合、次の手順を実施します。そうでない場合、手順11に進みます。
    • こちらのストレージから「AKS-125-upgrade-for-env-with-DR-Managed-Hot.zip」パッケージをダウンロードします。
    • ダウンロードしたパッケージを解凍し、その中身をInfrastructureリポジトリ(パイプライン フォルダー)にコピーします。
  11. プル リクエスト(PR)を使用してアップデートをInfrastructureのmasterブランチにマージし、Infrastructureパイプラインが正常に実行されるようにします。
    註:Infrastructureパイプラインは自動的に開始されます。
  12. 環境がマネージド ディザスタ リカバリ ホット スタンバイを使用している場合、次の手順を実施します。そうでない場合、手順13に進みます。
    • Azureポータルにて、セカンダリ リソース グループ (<infraID>draks)に移動しセカンダリIP(<infraID>driip)を取得します。
    • Infrastructureリポジトリにて、「infrastructure\frontdoor\backend-config.json」に移動します。
    • セカンダリIPアドレスを使用して、すべてのバックエンドをprority 2にアップデートし、変更をコミットします。
  13. 「Frontdoor」パイプラインを実行します。
  14. 「check cluster upgrades」パイプラインを実行します。
  15. 以下の手順を実施します。
    • 「cluster version upgrade」パイプラインを実行します。「check cluster upgrades」パイプラインで受信した、利用可能な最新のパッチ バージョンを選択します。(Kubernetesバージョン1.25※
    • Disable Step to Create Temporary Nodepools」のチェックボックスをオフにします。
  16. 環境がマネージド ディザスタ リカバリ ホット スタンバイを使用している場合、次の手順を実施します。そうでない場合、手順17に進みます。
    • dr cluster version upgrade」パイプラインを実行します。「check cluster upgrades」パイプラインで受信した、利用可能な最新のパッチ バージョンを選択します(Kubernetesバージョン1.25※)。
    • Disable Step to Create Temporary Nodepools」のチェックボックスをオフにします。
  17. 「Infrastructure」パイプラインを再実行し、正しいOSバージョンを持つノードプールを再作成します。
  18. 「Application」のmasterブランチの新しいブランチを作成します。このブランチは、以降の手順では「upgrade」ブランチと呼称します。
    Sitecore 10.2のガイドラインに従って、Applicationリポジトリのアップグレード パッケージをインストールします。ただし、masterにはマージを行いません
  19. 「upgrade」ブランチのコンテナー イメージのバージョンを下記の通り変更します。
    • 「config/docker-images/docker-images.json」ファイルを以下のように更新します。
      • デフォルトのSiteccoreイメージの場合、「Itsc2019」を「Itsc2022」に置き換えます。
      • windowsservercoreイメージの場合、「1809」を「Itsc2022」に置き換えます。
      • カスタム イメージの場合、「Itsc2022」タグを使用します。
    • roles/sitecore-[your_topology]/overlays/init」パス配下のsolr-initイメージおよびmssgl-initイメージをItsc2022に更新します。
    • XPトポロジーを使用している場合、以下のファイルで「powershell:lts-nanoserver-1809」を探し、「powershell:lts-nanoserver-ltsc2022」に置換します。
      • platform-artifacts\kustomization.yaml
      • platform-artifacts\cd.yaml
      • platform-artifacts\cm.yaml
      • platform-artifacts\cortexprocessingworker.yaml
      • platform-artifacts\prc.yaml
      • platform-artifacts\xdbautomation.yaml
      • platform-artifacts\xdbautomationworker.yaml
  20. 「upgrade-preparation」パイプライン用のアップグレードの新しい一時的なブランチを作成します。このブランチは、以降の手順では「upgrade-preparation」ブランチと呼称します。
  21. 以前にダウンロードした「AKS-125-upgrade-preparation.zip」パッケージの「application/v10.2-10.3/*」フォルダー配下の内容物を「upgrade-preparation」ブランチにコピーします。
  22. 「upgrade-preparation」ブランチへの変更をコミットします。ただし、マージは行いません
  23. 「upgrade-preparation」ブランチ(Applicationリポジトリ)と「\pipelines\application-upgrade-preparation.yaml」ファイルを使用して、貴社組織で新しい「upgrade-preparation」パイプラインを作成します。
  24. 「upgrade-preparation」ブランチを使用して「upgrade-preparation」パイプラインを実行します。
    sitecore_role_pattern_match」パラメーターを使用して、パイプラインが正しいロールを選択できるようにします。デフォルトのパターンは、「sitecore-*」です。
    AKS 1.png
    註:アップグレードの準備は、Sitecoreの「ansible」ロールに依存しており、そのロールのフォルダー構造を変更すると、失敗につながる恐れがあります。
  25. 環境がマネージド ディザスタ リカバリ ホット スタンバイを使用している場合、下記の追加手順を実施します。そうでない場合、手順26に進みます。
    • 「upgrade-preparation」ブランチと「application\pipelines\dr-application-upgrade-preparation.yaml」ファイルを使用して組織内に新しい「dr-upgrade-preparation」パイプラインを作成します。
    • dr-upgrade-preparation」パイプラインを下記のように実行します。
      sitecore_role_pattern_match」パラメーターを使用して、パイプラインが正しいロールを選択できるようにします。デフォルトのパターンは、「sitecore-*」です。
      AKS 1.png
      註:アップグレードの準備は、Sitecoreの「ansible」ロールに依存しており、そのロールのフォルダー構造を変更すると、失敗につながる恐れがあります。
  26. 一時的なパイプラインとブランチは、この段階で削除しても問題ありません。
  27. 「upgrade」ブランチをマスターにマージします。「Application」パイプラインは自動的に開始されます

トラブルシューティング

「cluster version upgrade」パイプラインがタイムアウトで失敗する場合は、再起動することで正常に完了します。