ウォークスルー
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore Publishing Service(SPS)モジュールは、オプトイン方式のPublishing Serviceとの統合を提供し、大規模なSitecore環境での高性能公開をサポートします。クラウドベースのソリューションでコンテナとしてSPSを展開するには、モジュールとサービスの両方をSitecoreソリューションの上に展開する必要があります。
このウォークスルーでは、既に導入されたマネージドクラウドコンテナ環境の上にSPSモジュールを展開する方法を説明します。以下の方法を説明します:
- Dockerイメージを準備してください
- イメージをAzureコンテナレジストリ(ACR)にプッシュしてください。
- Kubernetes仕様ファイルをダウンロードしてください
- 基本のSPS Kubernetes設定ファイルをコピーしてください
- SPS構成オーバーレイを定義します
- アプリケーションリポジトリ内のイメージを変更する
- mssql_init_spsコンテナを動かす:
- 災害復旧なしで。
- 災害復旧で。
- SPSコンポーネントを有効にする
- アプリケーションの変更を適用してください
Dockerイメージを準備してください
Dockerイメージの準備:
- Sitecore CM、CD、MSSQL-INIT のカスタムイメージを準備し、SPSアセットイメージからすべてのリソース(ファイル、データベースなど)を含める必要があります。アセットイメージは以下の通りです:
- sxp/modules/sitecore-sps-integration-xm1-assets
- sxp/modules/sitecore-sps-integration-xp1-assets
展開するトポロジーには必ずアセットイメージを使用しなければなりません。アセットイメージの適用方法の詳細については、以下をご覧ください: Add Sitecore modulesおよびSitecoreモジュールのリファレンスを参照してください。
対応するカスタムイメージの構築方法については、Sitecore Publishing Service Container Deployment Guideドキュメントを参照してください。
イメージをAzureコンテナレジストリ(ACR)にプッシュしてください。
画像をACRにプッシュするには:
- PowerShellでdocker pushコマンドを実行します。すべてのSPSカスタムイメージ(CM、CD、MSSQL-INIT)を事前にプロビジョニングされたACRにプッシュしなければなりません: {infrastructure_id}acr。
Kubernetes仕様ファイルをダウンロードしてください
GitHubのSitecoreコンテナ展開リポジトリで、以下のファイルを見つけてダウンロードしてください:
- SitecorePublishingServiceContainerDeployment.10.1.0.{latest available build number}.zip
このファイルにはSitecore Publishing Service Kubernetes Sitecore XP 10.1.0の設定ファイルが含まれています。パッケージをローカルで解凍してください。
基本のSPS Kubernetes設定ファイルをコピーしてください
基本のSPS Kubernetesファイルをコピーするには:
-
アプリケーションリポジトリフォルダに移動し、spsフォルダを作成してください: roles\sitecore-{topology}\bases\components\sps
-
以下のspsの基本設定ファイルをフォルダにコピーしてください:
- \k8s\ltsc2019\sps\patch-sps.yaml
- \k8s\ltsc2019\sps\sps.yaml
- \k8s\ltsc2019\overrides\{topology}\patch-cm.sps.yaml
-
先ほど作成したspsフォルダ内に、以下の内容のkustomization.yamlファイルを作成します。
apiVersion: kustomize.config.k8s.io/v1alpha1 kind: Component
resources:
- sps.yaml
patchesStrategicMerge:
- patch-sps.yaml
- patch-cm.sps.yaml
SPS構成オーバーレイを定義します
SPSモジュール構成をManaged Cloud Containers環境と統合するには、SPSの基本構成の上にオーバーレイ層を定義する必要があります。この抽象化により、将来のリリース向けにSPSモジュールアップグレード時のSPSベース構成のアップグレードプロセスが簡素化されます。
オーバーレイを定義し実行するために:
-
以下の内容でroles\sitecore-{topology}\overlays\components\sps\kustomization.yamlファイルを作成してください:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- sitecore-roles.yaml
patchesStrategicMerge:
- sps.yaml
-
以下の内容でroles\sitecore-{topology}\overlays\components\sps\sps.yamlファイルを作成してください:
apiVersion: apps/v1 kind: Deployment metadata: name: sps spec: progressDeadlineSeconds: 3600 template: spec: containers:
- name: sitecore-sps image: "{{ docker_images.sitecore.sps }}"
-
オーバーレイを実行するには、roles\sitecore-{topology}\tasks\main.yamlに移動してRun Kustomization for {topology} タスクの隣に追加してください。
以下の例はXP位相を説明します。XMの場合、sitecore-xpをsitecore-xmに置き換える必要があります。
-
name: Copy Sitecore roles configuration into SPS overlay template: src: roles/sitecore-xp/templates/sitecore-roles.yaml dest: roles/sitecore-xp/overlays/components/sps/sitecore-roles.yaml
-
name: Run Kustomization for SPS integration shell: | kustomize build roles/sitecore-xp/overlays/components/sps > roles/sitecore-xp/templates/sitecore-roles.yaml
-
アプリケーションリポジトリ内のイメージを変更する
これでSPS固有のイメージと2つの新しいプロパティをアプリケーションリポジトリに追加できます。
アプリケーションリポジトリ内のイメージを変更するには:
- アプリケーションリポジトリの config/docker-images に移動し、 docker-images.json ファイルを編集して以下の変更を行います。
- cm画像をcm-spsに置き換えてください。
- CDイメージをCD-SPに置き換えてください。
- mssql_init_spsプロパティを追加してください。
- spsプロパティを追加し、あなたのSitecoreバージョンに対応するSPSサービスの公開画像を指し示します。
mssql_init_spsコンテナを災害復旧なしで実行してください
mssql-init-spsコンテナを実行するには:
-
roles\sitecore-{topology}\templates\に移動し、以下の内容のmssql-init-sps.yamlジョブファイルを追加します。
apiVersion: batch/v1 kind: Job metadata: name: sps-mssql-init spec: template: spec: nodeSelector: kubernetes.io/os: windows imagePullSecrets:
- name: sitecore-docker-registry containers:
- name: mssql-init-sps image: "{{ docker_images.sitecore.mssql_init_sps }}" env:
- name: sitecore_admin_password valueFrom: secretKeyRef: name: sitecore-admin key: sitecore-adminpassword.txt
- name: SQL_ADMIN_PASSWORD valueFrom: secretKeyRef: name: sitecore-database key: sitecore-databasepassword.txt
- name: SQL_ADMIN_LOGIN valueFrom: secretKeyRef: name: sitecore-database key: sitecore-databaseusername.txt
- name: SQL_SERVER valueFrom: secretKeyRef: name: sitecore-database key: sitecore-databaseservername.txt
- name: SQL_ELASTIC_POOL_NAME valueFrom: secretKeyRef: name: sitecore-database key: sitecore-database-elastic-pool-name.txt
- name: DATABASES_TO_DEPLOY value: sps restartPolicy: Never backoffLimit: 5
-
mssql-init-spsジョブを実行するためのAnsibleタスクを追加します。roles\sitecore-{topology}\tasks\init.yamlに移動し、ファイルの最後に以下のスクリプトを追加します。
-
name: Execute SPS mssql-init jobs k8s: apply: true namespace: "{{ solution_id }}" state: present definition: "{{ lookup('template', 'mssql-init-sps.yaml') }}"
-
name: 'Wait - SPS Mssql-init job' k8s_info: kind: Job name: sps-mssql-init namespace: "{{ solution_id }}" register: sps_mssql_init_result un-til: (sps_mssql_init_result.resources0.status.conditions0.type | default('')) == 'Complete' retries: 60 delay: 60
-
name: Get all SPS Mssql completed pods k8s_info: kind: Pod namespace: "{{ solution_id }}" label_selectors:
-
job-name = sps-mssql-init no_log: true register: sps_mssql_pod_list
-
name: Remove SPS Mssql job's pods k8s: kind: Pod name: "{{ item.metadata.name }}" namespace: "{{ solution_id }}" state: absent no_log: true with_items: "{{ sps_mssql_pod_list.resources }}"
-
-
アプリケーションパイプラインを実行してください。
mssql_init_spsコンテナを災害復旧で実行します
mssql-init-spsコンテナを実行するには:
-
roles\sitecore-{topology}\templates\に移動し、以下の内容のmssql-init-sps.yamlジョブファイルを追加します。
apiVersion: batch/v1 kind: Job metadata: name: sps-mssql-init spec: template: spec: nodeSelector: kubernetes.io/os: windows imagePullSecrets:
- name: sitecore-docker-registry containers:
- name: mssql-init-sps image: "{{ docker_images.sitecore.mssql_init_sps }}" env:
- name: sitecore_admin_password valueFrom: secretKeyRef: name: sitecore-admin key: sitecore-adminpassword.txt
- name: SQL_ADMIN_PASSWORD valueFrom: secretKeyRef: name: sitecore-database key: sitecore-databasepassword.txt
- name: SQL_ADMIN_LOGIN valueFrom: secretKeyRef: name: sitecore-database key: sitecore-databaseusername.txt
- name: SQL_SERVER valueFrom: secretKeyRef: name: sitecore-database key: sitecore-databaseservername.txt
- name: SQL_ELASTIC_POOL_NAME valueFrom: secretKeyRef: name: sitecore-database key: sitecore-database-elastic-pool-name.txt
- name: DATABASES_TO_DEPLOY value: sps restartPolicy: Never backoffLimit: 5
-
例えば、custom-init.yaml、のカスタムinit.yamlファイルを作成し、それを /roles/sitecore-{topology}/tasksフォルダに入れます。
-
mssql-init-spsジョブをファイルに追加するには、以下のコードを追加してください:
-
name: Execute SPS mssql-init jobs k8s: apply: true namespace: "{{ solution_id }}" state: present definition: "{{ lookup('template', 'mssql-init-sps.yaml') }}"
-
name: 'Wait - SPS Mssql-init job' k8s_info: kind: Job name: sps-mssql-init namespace: "{{ solution_id }}" register: sps_mssql_init_result un-til: (sps_mssql_init_result.resources0.status.conditions0.type | default('')) == 'Complete' retries: 60 delay: 60
-
name: Get all SPS Mssql completed pods k8s_info: kind: Pod namespace: "{{ solution_id }}" label_selectors:
-
job-name = sps-mssql-init no_log: true register: sps_mssql_pod_list
-
name: Remove SPS Mssql job's pods k8s: kind: Pod name: "{{ item.metadata.name }}" namespace: "{{ solution_id }}" state: absent no_log: true with_items: "{{ sps_mssql_pod_list.resources }}"
-
-
カスタムinit.yamlファイルを呼び出すには、/roles/sitecore-{topology}/tasks/main.yamlにアクセスし、ファイルの最後に以下のロールを追加してください:
- name: Execute custom init jobs include_tasks: custom-init.yaml

-
アプリケーションパイプラインを実行してください。
-
カスタムジョブが正常に作成された場合は、Execute custom init jobs役にコメントを書き留めてください。
SPSコンポーネントを有効にする
SPSコンポーネントを有効にするには:
- アプリケーションリポジトリで roles\sitecore-{topology}\overlays\platform\kustomization.yaml ファイルに移動し、 components 要素を使ってSPSモジュールのconfig scriptsフォルダを指してSPSを有効にします。
components:
- ../../bases/components/sps
アプリケーションの変更を適用してください
アプリケーションの変更を環境に適用するには:
- アプリケーションリポジトリへのプルリクエストを作成・完了します。