1. Managed Cloudの設定

攻略

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Sitecore Experience Accelerator (SXA)は、ウェブサイトの制作を迅速化し、さまざまなサイトでコンポーネント、レイアウト、テンプレートを再利用するために開発されたSitecoreモジュールです。SXAモジュールを追加するには、特定のDockerイメージを作成し、Azureコンテナレジストリ(ACR)にプッシュし、SearchStax SolrおよびMssqlコンテナを実行する前にアプリケーションリポジトリで変更する必要があります。

このウォークスルーでは、以下の方法を説明します:

  • Dockerイメージを準備してください
  • 画像をACRにプッシュしてください
  • アプリケーションリポジトリ内のイメージを変更する
  • Searchstax-solr-init-sxa-spe-containerを実行します:
    • 災害復旧なしで。
    • 災害復旧で。
  • Mssql-init-sxa-speコンテナを実行します:
    • 災害復旧なしで。
    • 災害復旧で。

Dockerイメージを準備してください

カスタムSXAモジュールの作成方法については、「 Add Sitecore modules 」トピックを参照してください。

SXAで作業するには、以下の画像を作成する必要があります:

  • cm-sxa-spe

  • cd-sxa-spe

  • Mssql-init-sxa-spe

  • Searchstax-solr-init-sxa-spe

    !注sxaのsolr-init画像を作成する際は、ベース画像がSearchstaxで使用できるように設計されていることを確認してください。Sitecore画像リポジトリでは、これらの画像には -searchstaxで終わるタグが付いています。例えば、sitecore-xp1-solr-init-searchstax。

画像をAzureコンテナレジストリにプッシュしてください

画像をACRにプッシュするには:

アプリケーションリポジトリ内のイメージを変更する

これでSXA固有の命名と2つの新しいプロパティをアプリケーションリポジトリに追加できます。

アプリケーションリポジトリ内のイメージを変更するには:

  • アプリケーションリポジトリ *config/docker-images* に移動し、以下のように docker-images.json を編集してください:
    • cm画像をcm-sxa-speに置き換えます。

    • cd画像をcd-sxa-speに置き換えます。

    • Mssql-init-sxa-speプロパティを加えます。

    • Searchstax-solr-init-sxa-speプロパティを加えます。

      Add the Searchstax-solr-init-sxa-spe property to the Application repository.

Searchstax-solr-init-sxa-speコンテナを災害復旧なしで実行してください

Searchstax-solr-init-sxa-speコンテナを実行するには:

  1. *roles\sitecore-{topology}\templates\*に移動し、Searchstax-solr-init-sxa-speジョブファイルを「searchstax-solr-init-sxa-spe.yaml」という名前で追加してください。例えば:


    apiVersion: batch/v1 kind: Job metadata: name: searchstax-solr-init-sxa-spe spec: template: spec: nodeSelector: kubernetes.io/os: windows imagePullSecrets:

    • name: sitecore-docker-registry initContainers:
    • name: wait-solr image: "{{ docker_images.external.windowsservercore }}" command: "pwsh" args: "-Command", "do { Start-Sleep -Seconds 3 } until ((tnc $env
      -port $env
      ).TcpTestSucceeded)" env:
    • name: SERVER value: "{{ solr_fqdn }}"
    • name: PORT value: "{{ solr_port }}" containers:
    • name: solr-init image: "{{ docker_images.sitecore.solr_init_sxa_spe }}" env:
    • name: SEARCH_STAX_APIKEY valueFrom: secretKeyRef: name: sitecore-solr-searchstax key: sitecore-searchstax-apikey.txt
    • name: SEARCH_STAX_ACCOUNT_NAME valueFrom: secretKeyRef: name: sitecore-solr-searchstax key: sitecore-searchstax-account-name.txt
    • name: SEARCH_STAX_DEPLOYMENT_UID valueFrom: secretKeyRef: name: sitecore-solr-searchstax key: sitecore-searchstax-deployment-uid.txt
    • name: SITECORE_SOLR_CONNECTION_STRING valueFrom: secretKeyRef: name: sitecore-solr key: sitecore-solr-connection-string.txt
    • name: SOLR_CORE_PREFIX_NAME value: sitecore
    • name: SOLR_COLLECTIONS_TO_DEPLOY value: sxa restartPolicy: Never backoffLimit: 5
  2. Searchstax-solr-init-sxa-speジョブを実行するAnsibleタスクを追加するには、*roles\sitecore-{topology}\tasks\init.yaml*に移動し、ファイルの最後に以下のスクリプトを追加してください。

    • name: Execute sxa-spe solr-init job k8s: apply: true namespace: "{{ solution_id }}" state: present definition: "{{ lookup('template', 'searchstax-solr-init-sxa-spe.yaml') }}"

    • name: 'Wait - SXA-SPE Solr-init job' k8s_info: kind: Job name: searchstax-solr-init-sxa-spe namespace: "{{ solution_id }}" register: sxa_spe_solr_init_result until: (sxa_spe_solr_init_result.resources0.status.conditions0.type | default('')) == 'Complete' retries: 60 delay: 60

    • name: Get all SXA-SPE Solr completed pods k8s_info: kind: Pod namespace: "{{ solution_id }}" label_selectors:

    • job-name = searchstax-solr-init-sxa-spe no_log: true register: solr_sxa_spe_pod_list

    • name: Remove SXA-SPE Solr job's pods k8s: kind: Pod name: "{{ item.metadata.name }}" namespace: "{{ solution_id }}" state: absent no_log: true with_items: "{{ solr_sxa_spe_pod_list.resources }}"

  3. アプリケーションパイプラインを実行してください。

Searchstax-solr-init-sxa-speコンテナを災害復旧で実行します

Searchstax-solr-init-sxa-speコンテナを実行するには:

  1. *roles\sitecore-{topology}\templates\*に移動し、Searchstax-solr-init-sxa-speジョブファイルを「searchstax-solr-init-sxa-spe.yaml」という名前で追加してください。例えば:


    apiVersion: batch/v1 kind: Job metadata: name: searchstax-solr-init-sxa-spe spec: template: spec: nodeSelector: kubernetes.io/os: windows imagePullSecrets:

    • name: sitecore-docker-registry initContainers:
    • name: wait-solr image: "{{ docker_images.external.windowsservercore }}" command: "pwsh" args: "-Command", "do { Start-Sleep -Seconds 3 } until ((tnc $env
      -port $env
      ).TcpTestSucceeded)" env:
    • name: SERVER value: "{{ solr_fqdn }}"
    • name: PORT value: "{{ solr_port }}" containers:
    • name: solr-init image: "{{ docker_images.sitecore.solr_init_sxa_spe }}" env:
    • name: SEARCH_STAX_APIKEY valueFrom: secretKeyRef: name: sitecore-solr-searchstax key: sitecore-searchstax-apikey.txt
    • name: SEARCH_STAX_ACCOUNT_NAME valueFrom: secretKeyRef: name: sitecore-solr-searchstax key: sitecore-searchstax-account-name.txt
    • name: SEARCH_STAX_DEPLOYMENT_UID valueFrom: secretKeyRef: name: sitecore-solr-searchstax key: sitecore-searchstax-deployment-uid.txt
    • name: SITECORE_SOLR_CONNECTION_STRING valueFrom: secretKeyRef: name: sitecore-solr key: sitecore-solr-connection-string.txt
    • name: SOLR_CORE_PREFIX_NAME value: sitecore
    • name: SOLR_COLLECTIONS_TO_DEPLOY value: sxa restartPolicy: Never backoffLimit: 5
  2. カスタムinit.yamlファイル(例えばcustom-init.yaml)を作成し、次のフォルダに入れてください: /roles/sitecore-{topology}/tasks

  3. Searchstax-solr-init-sxa-speジョブを追加するには、ファイルに以下のストリップを追加してください:

    • name: Execute sxa-spe solr-init job k8s: apply: true namespace: "{{ solution_id }}" state: present definition: "{{ lookup('template', 'searchstax-solr-init-sxa-spe.yaml') }}"

    • name: 'Wait - SXA-SPE Solr-init job' k8s_info: kind: Job name: searchstax-solr-init-sxa-spe namespace: "{{ solution_id }}" register: sxa_spe_solr_init_result until: (sxa_spe_solr_init_result.resources0.status.conditions0.type | default('')) == 'Complete' retries: 60 delay: 60

    • name: Get all SXA-SPE Solr completed pods k8s_info: kind: Pod namespace: "{{ solution_id }}" label_selectors:

    • job-name = searchstax-solr-init-sxa-spe no_log: true register: solr_sxa_spe_pod_list

    • name: Remove SXA-SPE Solr job's pods k8s: kind: Pod name: "{{ item.metadata.name }}" namespace: "{{ solution_id }}" state: absent no_log: true with_items: "{{ solr_sxa_spe_pod_list.resources }}"

  4. カスタムinit.yamlファイルを呼び出すには、/roles/sitecore-{topology}/tasks/main.yamlにアクセスし、ファイルの最後に以下のコードを追加してください:

    • name: Execute custom init jobs include_tasks: custom-init.yaml
    In the main.yaml file, call the init.yaml file.
  5. アプリケーションパイプラインを実行してください。

  6. カスタムジョブが正常に作成された場合は、「 Execute custom init jobs 」ロールをコメントアウトします。

Mssql-init-sxa-speコンテナを災害復旧なしで実行してください

Mssql-init-sxa-speコンテナを実行するには:

  1. *roles\sitecore-{topology}\templates\*に移動し、mssql-init-sxa-speジョブファイルを「mssql-init-sxa-spe.yaml」という名前で追加してください。例えば:

    apiVersion: batch/v1 kind: Job metadata: name: sxa-spe-mssql-init spec: template: spec: nodeSelector: kubernetes.io/os: windows imagePullSecrets:

    • name: sitecore-docker-registry containers:
    • name: mssql-init image: "{{ docker_images.sitecore.mssql_init_sxa_spe }}" 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: spe,sxa restartPolicy: Never backoffLimit: 5
  2. mssql-init-sxa-speジョブを実行するAnsibleタスクを追加するには、*roles\sitecore-{topology}\tasks\init.yaml*に移動し、ファイルの最後に以下のスクリプトを追加してください。

    • name: Execute sxa-spe mssql-init jobs k8s: apply: true namespace: "{{ solution_id }}" state: present definition: "{{ lookup('template', 'mssql-init-sxa-spe.yaml') }}"

    • name: 'Wait - SXA-SPE Mssql-init job' k8s_info: kind: Job name: sxa-spe-mssql-init namespace: "{{ solution_id }}" register: sxa_spe_mssql_init_result until: (sxa_spe_mssql_init_result.resources0.status.conditions0.type | default('')) == 'Complete' retries: 60 delay: 60

    • name: Get all SXA-SPE Mssql completed pods k8s_info: kind: Pod namespace: "{{ solution_id }}" label_selectors:

    • job-name = sxa-spe-mssql-init no_log: true register: sxa_spe_mssql_pod_list

    • name: Remove SXA-SPE Mssql job's pods k8s: kind: Pod name: "{{ item.metadata.name }}" namespace: "{{ solution_id }}" state: absent no_log: true with_items: "{{ sxa_spe_mssql_pod_list.resources }}"

  3. アプリケーションパイプラインを実行してください。

Mssql-init-sxa-speコンテナをディザスターリカバリーで実行します

Mssql-init-sxa-speコンテナを実行するには:

  1. *roles\sitecore-{topology}\templates\*に移動し、mssql-init-sxa-speジョブファイルを「mssql-init-sxa-spe.yaml」という名前で追加してください。例えば:

    apiVersion: batch/v1 kind: Job metadata: name: sxa-spe-mssql-init spec: template: spec: nodeSelector: kubernetes.io/os: windows imagePullSecrets:

    • name: sitecore-docker-registry containers:
    • name: mssql-init image: "{{ docker_images.sitecore.mssql_init_sxa_spe }}" 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: spe,sxa restartPolicy: Never backoffLimit: 5
  2. カスタムinit.yamlファイル(例えばcustom-init.yaml)を作成し、/roles/sitecore-{topology}/tasksフォルダに入れてください。

  3. mssql-init-sxa-speジョブをファイルに追加するには、以下のコードを追加してください:

    • name: Execute sxa-spe mssql-init jobs k8s: apply: true namespace: "{{ solution_id }}" state: present definition: "{{ lookup('template', 'mssql-init-sxa-spe.yaml') }}"

    • name: 'Wait - SXA-SPE Mssql-init job' k8s_info: kind: Job name: sxa-spe-mssql-init namespace: "{{ solution_id }}" register: sxa_spe_mssql_init_result until: (sxa_spe_mssql_init_result.resources0.status.conditions0.type | default('')) == 'Complete' retries: 60 delay: 60

    • name: Get all SXA-SPE Mssql completed pods k8s_info: kind: Pod namespace: "{{ solution_id }}" label_selectors:

    • job-name = sxa-spe-mssql-init no_log: true register: sxa_spe_mssql_pod_list

    • name: Remove SXA-SPE Mssql job's pods k8s: kind: Pod name: "{{ item.metadata.name }}" namespace: "{{ solution_id }}" state: absent no_log: true with_items: "{{ sxa_spe_mssql_pod_list.resources }}"

  4. カスタムinit.yamlファイルを呼び出すには、/roles/sitecore-{topology}/tasks/main.yamlにアクセスし、ファイルの最後に以下のロールを追加してください:

    • name: Execute custom init jobs include_tasks: custom-init.yaml
    In the main.yaml file, call the init.yaml file.
  5. アプリケーションパイプラインを実行してください。

  6. カスタムジョブが正常に作成された場合は、「 Execute custom init jobs 」ロールをコメントアウトします。

この記事を改善するための提案がある場合は、 お知らせください!