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ソリューションへアップグレードする方法について説明します。
重要:
- ソリューションの製品番号(リビジョン番号)が下記の「アップグレード手順」セクションに記載されているアップデート パッケージのリビジョン番号よりも古い場合にのみ、ソリューションのアップグレードを実施してください。
アップデート パッケージのリビジョン番号は、アップデート パッケージ名の太文字の部分になります。
例:mcc.xp.upgrade.10.1.1-r.0.1.309915.nupkg
ソリューションのバージョンおよびリビジョン番号は、Sitecore Managed Cloud ContainersのAzure DevOpsプロジェクトにある、infrastructureリポジトリ配下のsolution.jsonファイルで確認できます。
- 貴社の環境がまだAKS 1.23を使用している場合、AKS 1.24にアップグレードしてから、本記事の「アップグレード手順」に従ってAKS 1.25にアップグレードしていただくことをお勧めいたします。
AKSバージョンを1.24から1.25にアップグレードすると、いくつかの破壊的変更が導入されます。
- AzureのパブリックIPモジュールのterraform構文が更新されたため、AzureのパブリックIPを再作成する必要があります。これを実施するには、Azure Front Door(AFD)からIPを一時的にアンバインドする必要があります。
- Sitecoreバージョン10.2およびバージョン10.3のWindowsにおけるノードプールについては、ノードOSはデフォルトでGA Windows Server 2022 OSイメージを使用します。アップグレードすると、Sitecore 10.2環境および10.3環境のノードプールは、Windows 2019からWindows 2022に切り替わります。
- コンテナ専用のカスタム イメージが使用されている場合は、Windows Server 2022ノード プール上での実行がサポートされるように、これらのイメージが更新・再構築されていることを確認してください。
- Sitecoreバージョン10.1.0~10.1.2が使用されている場合は、Windows Server 2019がそのまま使用されます。これは、MicrosoftがWindows 2019ノードプール イメージを非推奨とするまで、古いバージョンは次のAKSバージョン向けのWindows Server 2019ノードプールでの使用が引き続きサポートされるためです。これらのバージョンは、新しいMicrosoft Windows 2022 GAイメージをサポートするためにアップデートされることはないと想定されます。従って、MicrosoftがWindows Server 2019のサポートを完全に廃止する前に、最新のSitecoreバージョンにアップグレードすることをお客様に強くお勧めします。
註:Sitecoreバージョンが10.1~10.3の場合、アップグレード中にダウンタイムが発生する可能性があります。
下記の図では、アップグレードの過程で作成される様々なブランチ、および実行されるパイプラインを示しています。
ディザスタ リカバリなし・基本的なディザスタ リカバリ コールド スタンバイ
マネージド ディザスタ リカバリ ホット スタンバイ
以下の手順に従って、アップグレードを実施してください。
- 必要なトポロジーおよびバージョン向けのアップグレード パッケージをこちらのストレージからダウンロードします。利用可能なアップグレード パッケージの一覧は下記の通りです。
- 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
- 「AKS-125-upgrade-preparation.zip」パッケージをこちらのストレージからダウンロードします。
- 「Infrastructure」のmasterブランチの新しい一時的なブランチを作成します。このブランチは、以降の手順では「upgrade-preparation」ブランチと呼称します。
註:このブランチは、アップグレード パッケージが適用されていない既存のmasterブランチから作成する必要があります。
- 「AKS-125-upgrade-preparation.zip」からのInfrastructureフォルダー配下の内容物を「upgrade-preparation」ブランチにコピーします。
- 一時的なブランチへの変更をコミットします。ただし、マージは行いません。
- 「upgrade-preparation」ブランチ(Infrastructureリポジトリ)を使用して組織内に新しい「upgrade-preparation」パイプラインを作成します。
- 「upgrade-preparation」ブランチを使用して「upgrade-preparation」パイプラインを実行します。
- 一時的な「upgrade-preparation」のパイプラインおよびブランチを削除します。
- Sitecore 10.2向けのガイドラインに従って、アップグレード パッケージをInfrastructureリポジトリにのみインストールします。
- 環境がマネージド ディザスタ リカバリ ホット スタンバイを使用している場合、次の手順を実施します。そうでない場合、手順11に進みます。
- こちらのストレージからAKS-125-upgrade-for-env-with-DR-Managed-Hot.zipパッケージをダウンロードします。
- ダウンロードしたパッケージを解凍し、その内容物をInfrastructureリポジトリ(パイプライン フォルダー)にコピーします。
- プル リクエスト(PR)を使用してアップデートをInfrastructureリポジトリにマージし、Infrastructureパイプラインが正常に実行されるようにします。
- 環境がマネージド ディザスタ リカバリ ホット スタンバイを使用している場合、次の手順を実施します。そうでない場合、手順13に進みます。
- Azureポータルにて、セカンダリ リソース グループ (<infraID>draks)に移動しセカンダリIPを取得します。
- Infrastructureリポジトリにて、infrastructure\frontdoor\backend-config.jsonに移動します。セカンダリIPアドレスを使用して、すべてのバックエンドをprority 2にアップデートし、変更をコミットします。
- 「Frontdoor」パイプラインを実行します。
- 「upgrade-preparation」パイプライン用のApplicationリポジトリの新しい一時的なブランチを作成します。
註:このブランチは、アップグレード パッケージが適用されていない既存のmasterブランチから作成する必要があります。
- 以前にダウンロードした「AKS-125-upgrade-preparation.zip」パッケージからの「application/v10-10.1/*」フォルダーの配下物をApplicationリポジトリのルート フォルダーにコピーします。
- 一時的なブランチへの変更にコミットを行いますが、マージは行いません。
- 一時的なブランチと「application\pipelines\application-upgrade-preparation.yaml」ファイルを使用して、貴社組織で新しい「upgrade-preparation」パイプラインを作成します。
- 下記に従って、「upgrade-preparation」パイプラインを実施します。
パイプラインが正しいロールを選択するよう、「sitecore_role_pattern_match」パラメーターを使用します。デフォルトのパターンは「sitecore-*」です。
註:アップグレードの準備は、Sitecoreの「ansible」ロールに依存しており、そのロールのフォルダー構造を変更すると、失敗につながるおそれがあります。
- 環境がマネージド ディザスタ リカバリ ホット スタンバイを使用している場合、下記の追加手順を実施してください。そうでない場合、手順20に進みます。
- 一時的なブランチと「application\pipelines\dr-application-upgrade-preparation.yaml」ファイルを使用して貴社組織で新しい「dr-upgrade-preparation」パイプラインを作成します。
- 「dr-upgrade-preparation」パイプラインを下記の通り実行します:
パイプラインが正しいロールを選択するよう、「sitecore_role_pattern_match」パラメーターを使用します。デフォルトのパターンは「sitecore-*」です。
註:アップグレードの準備は、Sitecoreの「ansible」ロールに依存しており、そのロールのフォルダー構造を変更すると、失敗につながるおそれがあります。
- 一時的な「upgrade-preparation」パイプラインおよびブランチは、この段階で削除しても問題ありません。
- Sitecore 10.2向けのガイドラインに従って、アップグレード パッケージをApplicationリポジトリにインストールします。
- アップグレードはただちにマージすることができます。
- Applicationパイプラインは、自動的に開始されます。
- 「check cluster upgrades」パイプラインを実行します。
- 「cluster version upgrade」のパイプラインを実行します。「cluster version upgrade」パイプラインで受信された利用可能な最新のパッチ バージョンを選択します。(Kuberbetesバージョン1.25※)
- 環境がマネージド ディザスタ リカバリ ホット スタンバイを使用している場合、「dr cluster version upgrade」パイプラインを実行します。「cluster version upgrade」パイプラインから受信した、利用可能な最新のパッチ バージョンを選択します。(Kubernetesバージョン1.25※)
下記の図は、アップグレードの過程で作成されるブランチ、および実行されるパイプラインを示しています。
ディザスタ リカバリなし・基本的なディザスタ リカバリ コールド スタンバイ
マネージド ディザスタ リカバリ ホット スタンバイ
重要:
- デプロイに何らかのカスタムWindowsイメージを使用する場合は、OSバージョンとしてltsc2022を使用してリビルドする必要があります。
以下の手順に従って、アップグレードを実施してください。
- 必要なトポロジーおよびバージョン向けのアップグレード パッケージをこちらのストレージからダウンロードします。利用可能なアップグレード パッケージの一覧は以下の通りです。
- 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
- 「AKS-125-upgrade-preparation.zip」パッケージをこちらのストレージからダウンロードします。
- 「Infrastructure」のmasterブランチの新しい一時的なブランチを作成します。このブランチは、以降の手順では「upgrade-preparation」ブランチと呼称します。
註:このブランチは、アップグレード パッケージが適用されていない既存のmasterブランチから作成する必要があります。
- 「AKS-125-upgrade-preparation.zip」のInfrastructureフォルダー配下の内容物を「upgrade-preparation」ブランチにコピーします。
- 一時的なブランチへの変更をコミットしますが、マージは行いません。
- 「upgrade-preparation」ブランチ(Infrastructureリポジトリ)と「\pipelines\prepare-mcc-upgrade.yaml」ファイルを使用して、貴社組織で新しい「upgrade-preparation」パイプラインを作成します。
- 「upgrade-preparation」ブランチを使用して「upgrade-preparation」パイプラインを実行します。
- 一時的な「upgrade-preparation」パイプラインとブランチは、この段階で削除しても問題ありません。
- Sitecore 10.2向けのガイドラインに従って、アップグレード パッケージをInfrastructureリポジトリにのみインストールします。ただし、masterへのマージは行いません。
- 環境がマネージド ディザスタ リカバリ ホット スタンバイを使用している場合、次の手順を実施します。そうでない場合、手順11に進みます。
- こちらのストレージから「AKS-125-upgrade-for-env-with-DR-Managed-Hot.zip」パッケージをダウンロードします。
- ダウンロードしたパッケージを解凍し、その中身をInfrastructureリポジトリ(パイプライン フォルダー)にコピーします。
- プル リクエスト(PR)を使用してアップデートをInfrastructureのmasterブランチにマージし、Infrastructureパイプラインが正常に実行されるようにします。
註:Infrastructureパイプラインは自動的に開始されます。
- 環境がマネージド ディザスタ リカバリ ホット スタンバイを使用している場合、次の手順を実施します。そうでない場合、手順13に進みます。
- Azureポータルにて、セカンダリ リソース グループ (<infraID>draks)に移動しセカンダリIP(<infraID>driip)を取得します。
- Infrastructureリポジトリにて、「infrastructure\frontdoor\backend-config.json」に移動します。
- セカンダリIPアドレスを使用して、すべてのバックエンドをprority 2にアップデートし、変更をコミットします。
- 「Frontdoor」パイプラインを実行します。
- 「check cluster upgrades」パイプラインを実行します。
- 以下の手順を実施します。
- 「cluster version upgrade」パイプラインを実行します。「check cluster upgrades」パイプラインで受信した、利用可能な最新のパッチ バージョンを選択します。(Kubernetesバージョン1.25※)
- 「Disable Step to Create Temporary Nodepools」のチェックボックスをオフにします。
- 環境がマネージド ディザスタ リカバリ ホット スタンバイを使用している場合、次の手順を実施します。そうでない場合、手順17に進みます。
- 「dr cluster version upgrade」パイプラインを実行します。「check cluster upgrades」パイプラインで受信した、利用可能な最新のパッチ バージョンを選択します(Kubernetesバージョン1.25※)。
- 「Disable Step to Create Temporary Nodepools」のチェックボックスをオフにします。
- 「Infrastructure」パイプラインを再実行し、正しいOSバージョンを持つノードプールを再作成します。
- 「Application」のmasterブランチの新しいブランチを作成します。このブランチは、以降の手順では「upgrade」ブランチと呼称します。
Sitecore 10.2のガイドラインに従って、Applicationリポジトリのアップグレード パッケージをインストールします。ただし、masterにはマージを行いません。
- 「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
- 「upgrade-preparation」パイプライン用のアップグレードの新しい一時的なブランチを作成します。このブランチは、以降の手順では「upgrade-preparation」ブランチと呼称します。
- 以前にダウンロードした「AKS-125-upgrade-preparation.zip」パッケージの「application/v10.2-10.3/*」フォルダー配下の内容物を「upgrade-preparation」ブランチにコピーします。
- 「upgrade-preparation」ブランチへの変更をコミットします。ただし、マージは行いません。
- 「upgrade-preparation」ブランチ(Applicationリポジトリ)と「\pipelines\application-upgrade-preparation.yaml」ファイルを使用して、貴社組織で新しい「upgrade-preparation」パイプラインを作成します。
- 「upgrade-preparation」ブランチを使用して「upgrade-preparation」パイプラインを実行します。
「sitecore_role_pattern_match」パラメーターを使用して、パイプラインが正しいロールを選択できるようにします。デフォルトのパターンは、「sitecore-*」です。
註:アップグレードの準備は、Sitecoreの「ansible」ロールに依存しており、そのロールのフォルダー構造を変更すると、失敗につながる恐れがあります。
- 環境がマネージド ディザスタ リカバリ ホット スタンバイを使用している場合、下記の追加手順を実施します。そうでない場合、手順26に進みます。
- 「upgrade-preparation」ブランチと「application\pipelines\dr-application-upgrade-preparation.yaml」ファイルを使用して組織内に新しい「dr-upgrade-preparation」パイプラインを作成します。
- 「dr-upgrade-preparation」パイプラインを下記のように実行します。
「sitecore_role_pattern_match」パラメーターを使用して、パイプラインが正しいロールを選択できるようにします。デフォルトのパターンは、「sitecore-*」です。
註:アップグレードの準備は、Sitecoreの「ansible」ロールに依存しており、そのロールのフォルダー構造を変更すると、失敗につながる恐れがあります。
- 一時的なパイプラインとブランチは、この段階で削除しても問題ありません。
- 「upgrade」ブランチをマスターにマージします。「Application」パイプラインは自動的に開始されます。
「cluster version upgrade」パイプラインがタイムアウトで失敗する場合は、再起動することで正常に完了します。