Liferay Cloud Native Provisioning
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

Kubernetesクラスタ上でLiferayを実行する

これらの手順は意図的に一般的なものです。 あらゆる Kubernetes 実装で動作するクラスターをインストールしますが、そのクラスターを本番環境で使用できるようにするためには追加の作業が必要です。 実稼働環境の展開の詳細については、クラウド プロバイダーのドキュメントを確認してください。

始める前に、いくつかの前提条件がインストールされている必要があります。

この例では K3D を使用していますが、任意の Kubernetes クラスター実装 (kind、Docker Desktop など) を使用できます。

Kubernetesクラスターを作成する

まず、マシンのポート 80 を内部 k3d ロード バランサーのポート 80 にマッピングし、必要に応じて他のコンテナー イメージをビルドおよびデプロイするためのローカル イメージ レジストリを作成する、 プレイグラウンド という Kubernetes クラスターを作成します。

  1. 次のコマンドを実行します。

    k3d cluster create playground \
       --port 80:80@loadbalancer \
       --registry-create registry:5000
    

ルートレス docker を実行している場合は、ポート 80 の代わりに、使用可能な非特権ポート (> 1024) を使用するように行 --port 80:80@loadbalancer を変更します。 例えば、

--port 8182:80@loadbalancer

この変更では、選択したポート (上記の例では 8182) を使用するように、以下の Liferay ポータル プロパティを変更する必要があります。

web.server.http.port=8182
  1. 以下の 2 つのコマンドを実行して、クラスターが存在することを確認します。

    kubectl config current-context
    kubectl cluster-info
    

Helm Chartの値を構成する

  1. 以下の構成で values-custom.yaml ファイルを作成します。

    customInitContainers:
      x-liferay-prewipe-hypersonic:
        containerTemplate: |
          command:
            - bash
            - -c
            - |
              FLAGFILE=/opt/liferay/data/.hypersonic.prewiped
              if [ ! -e "${FLAGFILE}" ]
              then
                rm -rf /opt/liferay/data/hypersonic
              fi
              touch "${FLAGFILE}"
          image: {{ printf "%s:%s" .image.repository (.image.tag | toString) }}
          imagePullPolicy: {{ .image.pullPolicy }}
          name: liferay-prewipe-hypersonic
          volumeMounts:
            - mountPath: /opt
              name: liferay-persistent-volume
    image:
      tag: [Your Liferay Version Tag Here]
    ingress:
      enabled: true
      rules:
        - host: "*.dxp.localtest.me"
          http:
            paths:
              - backend:
                  service:
                    name: liferay-default
                    port:
                      name: http
                path: /
                pathType: ImplementationSpecific
    portalProperties: |
      company.default.virtual.host.name=main.dxp.localtest.me
      company.default.web.id=main.dxp.localtest.me
      include-and-override=portal-developer.properties
      web.server.protocol=http
    
  2. 上記の [Your Liferay Version Tag Here] を、 Docker Hubからの適切な Liferay タグに置き換えます。

  3. 特権のないポートを構成した場合は、以下のプロパティを portalPropertiesに追加します。

    web.server.http.port=[port]
    

    例えば、

    web.server.http.port=8182
    

これらの値の詳細については、 Liferay Helm 値リファレンスを参照してください。 Helm 値ファイルの詳細については、 Helm ドキュメントを参照してください。

上記の設定では、

  • 特定のLiferayイメージバージョン
  • Liferayサービスをローカルに公開するためのイングレスロードバランサ
  • カスタムLiferayポータルプロパティ
  • カスタムの company.default.web.id ポータルプロパティを使用するために、含まれている HSQL データベースを事前に消去する 初期化コンテナ

HSQL は構成されたデータベースであるため、このインスタンスは最初に構成されたとおりにテスト目的で使用されることに注意してください。

Liferayを起動する

  1. チャートの URL を保持する環境変数を作成します。

    export CHART_URL=oci://us-central1-docker.pkg.dev/liferay-artifact-registry/liferay-helm-chart/liferay-default
    
  2. Liferay Helm チャートをクラスターにインストールします。

    helm upgrade liferay "${CHART_URL}" \
    --install \
    --values values-custom.yaml
    

Liferayにアクセス

  1. Liferay ワークロードの準備ができているかどうかを確認します。

    kubectl rollout status statefulset liferay-default
    
  2. Liferay にアクセスするには、ローカル マシンの Web ブラウザーで http://main.dxp.localtest.me に移動します。 Web サーバーのポートを変更した場合は、ポート番号を追加します: http://main.dxp.localtest.me:8182

  3. Liferay の管理者パスワードを取得します。

      kubectl get secret liferay-default \
      --output jsonpath='{.data.LIFERAY_DEFAULT_PERIOD_ADMIN_PERIOD_PASSWORD}' \
      | base64 --decode
    
  4. Liferayにログインします。

    • メールアドレス: test@main.dxp.localtest.me
    • パスワード: [前の手順で取得したパスワード]

これで、「プレイグラウンド」Liferay Kubernetes クラスターがデプロイされました。 さらに堅牢にする方法については、以下をお読みください。