Anypoint Platform PCE の前提条件

Anypoint Platform Private Cloud Edition (Anypoint Platform PCE) バージョン 4.x 以降を、プロビジョニングおよび管理する Kubernetes (K8s) クラスターにインストールできます。

MuleSoft は、以下のセクションに記載されている一般的な K8s プロバイダーでインストールを実行しました。選択したプロバイダーで Anypoint Platform PCE をインストールするためのハードウェアおよびソフトウェア要件は、このドキュメントで特に指定されていない限り、各プロバイダーによって決まります。

開始する前に、組織の運用、ネットワーク、セキュリティの各チームで、記載されているインフラストラクチャの前提条件を確認してください。確認の対象には、K8s クラスター、ハードウェア、ソフトウェア、ネットワーキング、NFS ストレージ、コンテナレジストリ、インストーラーノード、ストレージ要件が含まれます。

Anypoint Platform PCE をインストールする前に、インストールに関与する MuleSoft プロフェッショナルサービスに連絡してください。

Anypoint Platform PCE をインストールするには、オペレーティングシステム、NFS、および他のソフトウェアの特定のバージョンが必要です。Anypoint Platform PCE で発生するほとんどの問題は、インストールやアップグレードの前に必要な環境が設定されていなかったことに起因します。

Kubernetes クラスターの要件

  • サポートされる Kubernetes プロバイダー:

    • Rancher Kubernetes エンジン (RKE2)

    • Red Hat OpenShift

    • Amazon EKS Anywhere

    • Amazon EKS

  • クラスター設定:

    • 専用ノードで Kubernetes コントロールプレーンコンポーネントを実行します。できれば、Kubernetes コントロールプレーン用に 3 つのノードを割り当ててください。

    • Anypoint Platform PCE ワークロード専用のクラスターワーカーノードを用意してください。K8s コントロールプレーンノードで Anypoint Platform PCE ポッドを実行しないでください。前提条件をチェックして、PCE ワークロードがワーカーノードでスケジュールおよび実行できることを確認してください。

K8s コントロールプレーンノードで Anypoint Platform PCE ワークロードを実行すると、Anypoint Platform PCE とクラスターの両方のパフォーマンスが低下する可能性があります。

ハードウェア要件

Anypoint Platform PCE は Kubernetes アプリケーションとして実行されます。すべてのサービスをスケジュールおよび実行するための最低限必要なハードウェアを次に示します。

  • 32 vCPU

  • 128 GiB メモリ

  • x​86_64​ アーキテクチャ

これらのリソースは、4 個以上のワーカーノードにプロビジョニングして分散できます。PCE では、クラスターセットアップで 3 個のレプリカを使用してデプロイおよび設定されるデータサービスのホストとして 3 個以上のワーカーノードが必要です。アンチアフィニティルールに準拠するために、これらの 3 個のレプリカが 3 個の個別のノードで実行されていることを確認してください。

クラスターノードの最小要件は次のとおりです。

ノード数 ノード構成 合計リソース

4

8 vCPU および 32 GiB メモリ

32 vCPU および 128 GiB メモリ

10

4 vCPU および 16 GiB メモリ

40 vCPU および 160 GiB メモリ

ロードバランサーの設定

任意の方法を使用してクライアント要求を分散するようにロードバランサーを設定できます。ほとんどのコンテキストで優れた結果を得られるため、ラウンドロビン方式を使用してください。ネットワークのすべてのマシンで使用可能な IP アドレスを使用してロードバランサーにアクセスできることを確認してください。

ロードバランサーが次の TCP ポートにルーティングされることを確認してください。

Table 1. TCP ポートのルーティング要件
ロードバランサーポート インスタンスポート 内部用途

80

30080

HTTPs への HTTP のリダイレクト

443

30443

HTTPS ポート

8083

30883

Mule Runtime で証明書の認証および更新を行うための HTTPS ポート

8889

30889

Mule Runtime を接続するための WebSocket ポート

それぞれのケースで、ロードバランサーポートでリスンし、受信要求をインスタンスポートにリダイレクトするようにロードバランサーを設定します。Anypoint Platform PCE のインストールには、設定済みの各インスタンスポートでリスンし、「内部用途」列に記載したアクションを実行する内部 NGINX サーバーが含まれます。

ロードバランサーがアドレス ​HTTP:10256/healthz​ をポーリングしてプラットフォームサーバーで状態チェックを実行し、アクセス可能であることを確認するようにします。

ロードバランサーで SSL 証明書を設定しないでください。TLS 終了は、アクセス管理を使用して設定された証明書でプラットフォームによって処理されます。​「Anypoint Platform PCE の設定」​を参照してください。

詳細は、プロバイダー特有の要件を参照してください。

ソフトウェア要件

要件は以下のとおりです。

  • オペレーティングシステム: RHEL 8.10、9.4

詳細は、プロバイダー特有の要件を参照してください。

ネットワーク要件

Anypoint Platform PCE と通信するには、以下のポートを使用します。

プロトコル ポート/範囲 目的 送信元 宛先

TCP/UDP

53

内部クラスター DNS

localhost

localhost

TCP

2379、2380、4001、7001

etcd 分散型データベース

Anypoint Platform PCE ノード

Anypoint Platform PCE ノード

TCP

4242

インストーラー

Anypoint Platform PCE ノード

Anypoint Platform PCE ノード

TCP

6443

Kubernetes API サーバー

Anypoint Platform PCE ノード

Anypoint Platform PCE ノード

TCP

9443

HAProxy による Kubernetes API Server の負荷分散

Anypoint Platform PCE ノード

Anypoint Platform PCE ノード

TCP

9100

Prometheus node-exporter

Anypoint Platform PCE ノード

Anypoint Platform PCE ノード

TCP

10248、10250

Kubernetes Kubelet

Anypoint Platform PCE ノード

Anypoint Platform PCE ノード

TCP

10249

Kubernetes kube-プロキシ

localhost

localhost

TCP

10251 ~ 10252

Kubernetes コントローラーマネージャーおよびスケジューラー

Anypoint Platform PCE ノード

Anypoint Platform PCE ノード

TCP

10257 ~ 10259

Kubernetes コントローラーマネージャーおよびスケジューラー (セキュア)

Anypoint Platform PCE ノード

Anypoint Platform PCE ノード

TCP

30000 ~ 32767

内部サービスのポート範囲

Anypoint Platform PCE ノード

Anypoint Platform PCE ノード

TCP

8472

オーバーレイ VXLAN ネットワーク

Anypoint Platform PCE ノード

Anypoint Platform PCE ノード

TCP

30080

HTTP 公開アクセス

ロードバランサー

Anypoint Platform PCE ノード

TCP

30443

HTTPS 公開アクセス

ロードバランサー

Anypoint Platform PCE ノード

TCP

30889

Mule Runtime Websocket

ロードバランサー

Anypoint Platform PCE ノード

TCP

30883

Mule Runtime 認証サービス (証明書更新用)

ロードバランサー

Anypoint Platform PCE ノード

Anypoint Platform PCE ノードは、HTTPS 経由でロードバランサーのプラットフォーム API アドレスにアクセスする必要があります。

詳細は、プロバイダー特有の要件を参照してください。

NFS ストレージ要件

コンテナレジストリ要件

要件は以下のとおりです。

  • TLS を介して保護されている必要があります。

  • インストーラーノードおよび Kubernetes クラスターからアクセス可能である必要があります。

  • ユーザー名とパスワード、または証明書ベースの認証のいずれかで保護されている必要があります。新しい証明書や更新された証明書をすべてのノードに配布し、TLS 通信が中断しないようにしてください。

インストーラーノードの要件

要件は以下のとおりです。

  • オペレーティングシステム: RHEL、Ubuntu、またはその他の Linux ベースのシステム。

  • ストレージは最小 100GB が必要です。

  • kubeconfig.yaml を使用して Kubernetes クラスターにアクセス可能であること。

    • クラスターは ​cluster:admin​ へのアクセスが必要です。これは、Anypoint Platform PCE インストーラーがさまざまな種類のリソースを作成するためです。

    • クラスターは、Anypoint Platform PCE インストーラージョブやほかのサポートサービスを実行するため、PCE コア名前空間での​参照/更新​アクセス権が必要です。

  • プライベートコンテナレジストリへのアクセスと接続

  • OpenShift では、Anypoint Platform PCE をインストールするために SecurityContextConstraints を使用します。

Anypoint Platform PCE 4.1 の ​pcectl​ バイナリを実行する前に、次の要件を満たしていることを確認してください。

  • Linux ベースのオペレーティングシステムを使用している

  • glibc (GNU C ライブラリ) バージョン 2.28 以上を使用している
    glibc バージョンを確認するには、次のコマンドを実行します。

    ldd --version
  • Python バージョン 3.12 以降を使用してる
    Python バージョンを確認するには、次のコマンドを実行します。

    python --version
  • gpg (GnuPG) バージョン 2.1 以上を使用している
    gpg バージョンを確認するには、次のコマンドを実行します。

    gpg --version

ストレージ要件

要件は以下のとおりです。

Anypoint Platform PCE バージョン 4.1 以降では、すべての永続的なデータは Persistent Volume Claim (PVC) に保存されます。Kubernetes Storage Class が PVC を制御します。

次のサービスでは、最小およびデフォルトのストレージサイズで PVC を使用します。

  • SeaweedFS - S3 オブジェクトストアサービス - 合計 120Gi

  • Stolon - PostgreSQL HA データベース - 合計 100 Gi

  • Prometheus - TSDB for k8s メトリクス (省略可能) - デフォルト 50Gi

これらのサービスで使用するストレージクラスは同じものを使用できます。基盤として選択したインフラストラクチャまたはストレージソリューションの種類によって、ストレージクラスの設定は異なる場合があります。

input.yaml​ ファイルを更新することでインストール中に PVC ストレージサイズを更新できます。ストレージサイズを更新するには、次のセクションを確認してください。

# Storage class configuration for persistent data services
storageConfiguration:
 pceobjectstore:
   type: "persistentVolumeClaim"
   storageClass: "<storage-class-name>"
   controlPlaneSize: "20Gi" # Optional. Defaults to 10Gi
   volumeSize: "200Gi" # Optional. Defaults to 100Gi
   volumeIndexSize: "20Gi" # Optional. Defaults to 10Gi
 stolon:
   type: "persistentVolumeClaim"
   storageClass: "<storage-class-name>"
   size: "300Gi" # Optional. Defaults to 100Gi

前の例では、オブジェクトストアが 240GiB、stolon が 300 Gi に増加した SeaweedFS のストレージを確認できます。

同様に、監視スタックのストレージサイズを設定するには、次の設定を使用します。

# Configuration options for monitoring stack
monitoringAppConfiguration:
 monitoringStack:
   enabled:  True # Defaults to True. Must be set to False for Openshift clusters.
   values: | # Optional. If not provided, the default values will be used.
      prometheus:
        prometheusSpec:
          storageSpec:
            volumeClaimTemplate:
              spec:
                storageClassName: 'local-path',
                accessModes: ["ReadWriteOnce"]
                resources:
                  requests:
                    storage: 50Gi

プラットフォーム構成

Anypoint Platform PCE にアクセスできるようにするため、Anypoint Platform PCE をインストールする前に、入力設定ファイルで次のように指定してください。

  • プラットフォーム DNS

  • ファイルシステム DNS

  • 最初のユーザーアカウントの詳細

    • 組織名

    • ユーザー名

    • メール

    • パスワード

  • プラットフォーム証明書および証明書キー (プラットフォーム DNS の Subject Alternative Name (SAN) を含む)