Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerHelm を使用して、管理している Amazon Elastic Kubernetes Service (Amazon EKS)、Amazon Elastic Kubernetes Service Anywhere (Amazon EKS-A)、Azure Kubernetes Service (AKS)、Alibaba Cloud Container Service for Kubernetes (ACK)、Google Kubernetes Engine (GKE)、Rancher Kubernetes Engine (RKE)、または VMware Tanzu Kubernetes Grid 環境に Anypoint Runtime Fabric をインストールできます。
Helm を使用して Runtime Fabric をインストールする手順は次のとおりです。
Runtime Manager を使用して Runtime Fabric を作成します。
Runtime Fabric 用の rtf
名前空間を作成します。
Runtime Fabric コンポーネントイメージを取得するための Docker プルシークレットを作成します。
必要に応じて、追加の承認済み名前空間を設定します。
Runtime Fabric Helm リポジトリを追加します。
values.yml
ファイルをダウンロードして Runtime Fabric をインストールします。
インストール手順を完了します。
Kubernetes 環境に Anypoint Runtime Fabric をインストールする前に、次のことを確認してください。
「Runtime Fabric の概要」で説明されているアーキテクチャと要件を確認した。
Kubernetes 環境を次のようにインストールして設定してある。
EKS、AKS、または GKE Kubernetes 環境を実行している。その他の Kubernetes 環境はサポートされていません。
サポートされている Kubernetes バージョンを実行している。
イングレスコントローラーを実行して外部要求をアプリケーションに送信している。
Helm 3 以降をインストールして、特権ユーザー権限を持っている。
|
Helm を使用して Runtime Fabric をインストールする前に、Runtime Manager を使用して Runtime Fabric を作成します。これは、インストール中に必要なアクティベーションデータを取得するために必要です。
Anypoint Platform から [Runtime Manager] を選択します。
[Runtime Fabric] をクリックします。
[Create Runtime Fabric (Runtime Fabric を作成)] をクリックします。
新しい Runtime Fabric の名前を入力し、次のいずれかのオプションを選択します。
Amazon Elastic Kubernetes Service
Azure Kubernetes Service
Google Kubernetes Engine
サポート責任の免責事項を確認し、同意する場合は [Accept (同意)] をクリックします。
[Helm] をクリックします。
Helm を使用したインストールプロセスの残りの手順では、プレースホルダー値を参照します。実際の値は、Runtime Fabric インスタンスを作成するときに Runtime Manager から取得できます。 |
Kubernetes のクラスターで、rtf
という名前の名前空間を作成する必要があります。この名前空間に Runtime Fabric コンポーネントをインストールします。
名前空間を作成するには、次のコマンドを実行します。
kubectl create ns rtf
名前空間を作成したら、Runtime Fabric のインストールと実行に必要な Docker イメージを取得できるように、プルシークレットを作成します。
デフォルトのレジストリ URL は rtf-runtime-registry.kprod.msap.io
です。ローカルレジストリを使用している場合は、ここで値を指定してください。
プルシークレットを作成するには、次のコマンドを実行します。
kubectl create secret docker-registry <pull_secret> --namespace rtf --docker-server=<docker_registry_url> --docker-username=<docker_registry_username> --docker-password=<docker_ registry_password>
作成した名前空間に Runtime Fabric Helm リポジトリを追加する必要があります。Runtime Fabric Helm リポジトリには、Runtime Fabric をインストールするのに必要なチャートが入っています。
Helm リポジトリを追加するには、次のコマンドを実行します。
helm repo add <name> <helm_repo_url> --username <your_username> --password <your_password>
すでに Helm リポジトリが追加されていて、Runtime Fabric がリポジトリの追加をスキップしたという結果が返された場合は、新しい Runtime Fabric バージョンをインストール (またはそのバージョンにアップグレード) する前に |
必要に応じて、他のサービスと一緒に Runtime Fabric を Kubernetes クラスターにデプロイできるようにする承認済み名前空間を設定できます。
承認済み名前空間を設定する前に、次の点に注意してください。
Runtime Fabric をインストールする前に authorized-namespaces
ConfigMap ファイルを作成する必要があります。さらに、ConfigMap には authorized-namespaces
という名前を付ける必要があります。
rtf:resource-metrics-collector
ClusterRole にはノード、ポッド、名前空間を get
および list
するクラスター全体の権限があり、ノードに対する watch
権限があります。ロール ClusterRole は次のように定義されます。
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: rtf:resource-metrics-collector labels: {{- include "labels.standard" . | nindent 4 }} rules: - apiGroups: [""] resources: ["nodes", "pods", "namespaces"] verbs: ["list", "get"] - apiGroups: [""] resources: ["nodes"] verbs: ["watch"]
クラスターで、アプリケーションデプロイメント用の追加の名前空間を作成し、必要な表示ラベルを名前空間に追加します。そのためには、次のコンテンツで YAML ファイルを作成します。
apiVersion: v1
kind: Namespace
metadata:
name: <namespace>
labels:
rtf.mulesoft.com/agentNamespace: <rtf_namespace>
rtf.mulesoft.com/envId: <environment_id>
rtf.mulesoft.com/org: <org_id>
rtf.mulesoft.com/role: workers
ここで作成したファイルを適用します。
kubectl apply -f <filename>.yaml
ステップ 1 と 2 を繰り返して、必要な数の名前空間を追加します。
Runtime Fabric エージェント ServiceAccount が含まれる Runtime Fabric エージェント ClusterRole の RoleBinding を作成します。そのためには、追加の名前空間で次の設定を適用します。
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: <name>
namespace: <additional_namespace>
subjects:
- kind: ServiceAccount
name: rtf-agent
namespace: <rtf_namespace>
# If using persistence gateway uncomment and provide the following. Ref: https://docs.mulesoft.com/runtime-fabric/latest/persistence-gateway#persistence-gateway-with-authorized-namespaces
# subjects:
# - kind: ServiceAccount
# name: rtf-persistence-gateway
# namespace: <rtf_namespace>
roleRef:
kind: ClusterRole
name: rtf:agent
apiGroup: rbac.authorization.k8s.io
認証済み名前空間モードでクラスター化アプリケーションを使用するには、次の RoleBinding を作成する必要があります。
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: rtf-mule-clusterip-service
namespace: <app_namespace>
subjects:
- kind: ServiceAccount
name: mule-clusterip-service
namespace: <rtf_namespace>
roleRef:
kind: ClusterRole
name: rtf:mule-clusterip-service
apiGroup: rbac.authorization.k8s.io
rtf
名前空間で、authorized-namespaces
という名前の ConfigMap ファイルを作成し、追加の名前空間があればリストします。
apiVersion: v1
kind: ConfigMap
metadata:
name: authorized-namespaces
namespace: <rtf_namespace>
data:
ADDITIONAL_NAMESPACE_1: "additional-namespace1"
ADDITIONAL_NAMESPACE_2: "additional-namespace2"
Runtime Fabric のインストールが完了した後に ConfigMap で名前空間の追加または削除を行う場合は、Runtime Fabric エージェントポッドを再起動する必要があります。これを行うには、次のコマンドを実行します。
kubectl -nrtf delete po -l app=agent
ポッドを削除すると、Kubernetes によって新しいポッドが開始されます。
Runtime Fabric をインストールするには、Runtime Manager から供給された values.yml
ファイルを使用してください。
values.yml
ファイルをダウンロードします。
必要に応じて省略可能なパラメーターを追加します。
承認済み名前空間を使用している場合は、authorizedNamespaces
を true
に設定します。
次のコマンドを実行します。
helm install runtime-fabric rtf/rtf-agent --version <VERSION_FROM_UI> -f values.yaml -n <namespace>
次に values.yml
ファイルの例を示します。
activationData: <activation_data>
proxy:
http_proxy:
http_no_proxy:
monitoring_proxy:
muleLicense: <mule_license_key>
customLog4jEnabled: false
global:
nodeWatcherEnabled: true
deploymentRateLimitPerSecond: 1
authorizedNamespaces: false
image:
rtfRegistry: rtf-runtime-registry.kqa.msap.io
pullSecretName: rtf-pull-secret
containerLogPaths:
- /var/lib/docker/containers
- /var/log/containers
- /var/log/pods
EU コントロールプレーンを使用して Runtime Fabric BYOK を設定する場合は、「ホスト名設定」の変更点を確認して、正しく設定してください。特に、rtfRegistry: rtf-runtime-registry.kprod-eu.msap.io プロパティに注意してください。
|
Runtime Manager で Runtime Fabric を作成すると、次の必須パラメーターが作成されて values.yml
に追加されます。
キー | 値 | 例 |
---|---|---|
|
アクティベーションデータ |
YW55cG9pbnQubXVsZXNvZnQuY29tOjBmODdmYzYzLTM3MWUtNDU2Yy1iODg5LTU5NTkyNjYyZjUxZQ== |
|
レジストリ URL |
|
|
レジストリシークレット |
|
|
アプリケーションの Mule ライセンス |
|
Runtime Fabric をインストールする前に、必要に応じて次の省略可能なパラメーターを values.yml
で設定します。
キー | 値 | 例 |
---|---|---|
|
カスタム Log4j 設定を有効化または無効化 |
|
|
追加の名前空間の有効化または無効化 |
|
|
カードのインストールの有効化 |
|
|
プロキシ値と no_proxy 値 |
|
|
Anypoint Monitoring のプロキシ値 |
|
|
Filebeat の読み取りパス |
|
|
クラスターのノードウォッチャーの有効化または無効化 |
|
|
1 秒ごとのデプロイメントレート制限の設定 |
|
インストール中に Mule ライセンスキーを追加しなかった場合は、rtfctl
コマンドラインユーティリティまたは Helm を使用して追加できます。
ライセンスキーをインストールする前に Base64 形式にエンコードしてください。
MacOS では、次のコマンドを実行します。
base64 -b 0 -i <license-file>
Unix では、次のコマンドを実行します。
base64 -w0 <license-file>
Windows では、次のいずれかを選択します。
base64 ツールが含まれる WSL または Cygwin シェルを使用し、上記の Unix コマンドを使用します。
Windows git (C:\Program Files\Git\usr\bin) と一緒に含まれている base64.exe プログラムを使用します。
次の Powershell コマンドを使用します。
$BASE64_ENCODED_LICENSE=[convert]::ToBase64String((Get-Content -path "license.lic" -Encoding byte))
インストール中にリーダーとして機能するコントローラーノード (インストーラーノード) で、次のコマンドを実行します。
rtfctl apply mule-license $BASE64_ENCODED_LICENSE
ファイルパスを直接指定する Mule ライセンスを適用することもできます。
rtfctl apply mule-license --file /path/to/license.lic
rtfcl apply と一緒に値を使用しても、OpenShift では機能しません。OpenShift コンソールで値を更新する必要があります。
|
Mule ライセンスキーが適切に適用されていることを確認するには、次のコマンドを実行します。
rtfctl get mule-license
イングレスコントローラーにカスタムアノテーションとイングレスクラス定義が必要な場合は、「カスタムイングレス設定の定義」の手順に従います。
GKE のお客様の場合、デフォルトで GKE と一緒に含まれているイングレスコントローラーによってアプリケーションごとに個別の HTTP ロードバランサーがプロビジョニングされます。詳細は、こちらの KB 記事を参照してください。 |
インストールが完了したら、Anypoint 組織内で Runtime Fabric をアクティブ化する必要があります。インストールを検証するには、Anypoint Runtime Manager に移動し、Runtime Fabric の状況が [Active (アクティブ)]
であることを確認します。
アプリケーションを Runtime Fabric にデプロイする前に、次の手順を実行します。
Runtime Fabric を少なくとも 1 つの Anypoint 環境に関連付けます。
Kubernetes 環境に基づいてインバウンドトラフィック設定を確認および更新します。
アプリケーションをデプロイして、Runtime Fabric が正しくインストールおよび設定されていることを確認します。
Helm を使用して Runtime Fabric の以前のバージョンにロールバックするには、 Helm rollback のドキュメントにあるコマンドの説明を参照してください。