Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerAnypoint 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 プロバイダー:
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 メモリ
x86_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 ポートにルーティングされることを確認してください。
| ロードバランサーポート | インスタンスポート | 内部用途 |
|---|---|---|
|
|
HTTPs への HTTP のリダイレクト |
|
|
HTTPS ポート |
|
|
Mule Runtime で証明書の認証および更新を行うための HTTPS ポート |
|
|
Mule Runtime を接続するための WebSocket ポート |
それぞれのケースで、ロードバランサーポートでリスンし、受信要求をインスタンスポートにリダイレクトするようにロードバランサーを設定します。Anypoint Platform PCE のインストールには、設定済みの各インスタンスポートでリスンし、「内部用途」列に記載したアクションを実行する内部 NGINX サーバーが含まれます。
ロードバランサーがアドレス HTTP:10256/healthz をポーリングしてプラットフォームサーバーで状態チェックを実行し、アクセス可能であることを確認するようにします。
| ロードバランサーで SSL 証明書を設定しないでください。TLS 終了は、アクセス管理を使用して設定された証明書でプラットフォームによって処理されます。「Anypoint Platform PCE の設定」を参照してください。 |
詳細は、プロバイダー特有の要件を参照してください。
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 アドレスにアクセスする必要があります。
詳細は、プロバイダー特有の要件を参照してください。
要件は以下のとおりです。
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