Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerRed Hat OpenShift インストールに Anypoint Runtime Fabric をインストールできます。
Runtime Fabric では、次の Red Hat OpenShift デプロイメントオプションがサポートされています。
AWS の Red Hat OpenShift サービス
Microsoft Azure Red Hat OpenShift
Red Hat OpenShift Dedicated
IBM Cloud の Red Hat OpenShift
自己管理型 Red Hat OpenShift エディション (Performance Plus、OCP、Kubernetes エンジン)
Red Hat OpenShift に Runtime Fabric をインストールするときは、次の操作を実行します。
Runtime Manager を使用して Runtime Fabric を作成します。
Runtime Fabric 用の名前空間を作成します。
Runtime Fabric コンポーネントイメージを取得するための Docker プルシークレットを作成します。
必要に応じて、共有テナントを設定します。
Runtime Fabric Operator をインストールして設定します。
残りのインストール手順を完了して、Runtime Fabric を検証してイングレスを設定します。
Red Hat OpenShift に Runtime Fabric をインストールする前に、次のことを確認してください。
「自己管理型 Kubernetes の Runtime Fabric」で説明されているアーキテクチャと要件を確認した
ネットワーク要件を確認した
サポートされている Red Hat OpenShift Kubernetes 環境を次のようにインストールして設定している:
サポートされている Kubernetes バージョン
外部要求をアプリケーションに送信するためのイングレスコントローラー
インストールプロセスを完了する特権ユーザー権限を持っている
Red Hat OpenShift レジストリに必要な次の URL へのアクセス権を持っている:
Red Hat OpenShift に Runtime Fabric をインストールする前に、まず Runtime Manager を使用して Runtime Fabric を作成します。これは、インストール中に必要なアクティベーションデータを取得するために必要です。
Anypoint Platform から [Runtime Manager] を選択します。
[Runtime Fabric] をクリックします。
[Create Runtime Fabric (Runtime Fabric を作成)] をクリックします。
新しい Runtime Fabric の名前を入力し、Red Hat OpenShift オプションを選択します。
サポート責任の免責事項を確認し、同意する場合は [Accept (同意)] をクリックします。
[Operator] をクリックします。
アクティベーションデータをコピーします。
Kubernetes のクラスターで、rtf
という名前の名前空間を作成する必要があります。この名前空間に Runtime Fabric コンポーネントをインストールします。
名前空間を作成するには、次のコマンドを実行します。
oc create ns rtf
copy
名前空間を作成したら、Runtime Fabric のインストールと実行に必要な Docker イメージを取得できるように、プルシークレットを作成します。
デフォルトのレジストリ URL は rtf-runtime-registry.kprod.msap.io
です。ローカルレジストリを使用している場合は、ここで値を指定してください。
プルシークレットを作成するには、次のコマンドを実行します。
oc create secret docker-registry <pull_secret> --namespace rtf --docker-server=<docker_registry_url> --docker-username=<docker_registry_username> --docker-password=<docker_ registry_password>
copy
必要に応じて、他のサービスと一緒に 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/envId: <ENVIRONMENT-ID> rtf.mulesoft.com/org: <ORG-ID> rtf.mulesoft.com/role: workers
copy
ここで作成したファイルを適用します。
oc apply -f <filename>.yaml
copy
ステップ 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 roleRef: kind: ClusterRole name: rtf:agent apiGroup: rbac.authorization.k8s.io
copy
次の RoleBinding テンプレートを rtf 名前空間と他の追加の名前空間に適用します。
apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: rtf namespace: rtf roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: system:openshift:scc:anyuid subjects: - kind: ServiceAccount name: rtf-agent namespace: rtf - kind: ServiceAccount name: mule-clusterip-service namespace: rtf - kind: ServiceAccount name: resource-cache namespace: rtf - kind: ServiceAccount name: rtf-persistence-gateway namespace: rtf - kind: ServiceAccount name: cluster-status namespace: rtf - kind: ServiceAccount name: am-log-forwarder namespace: rtf
copy
<additional-namespace>
でも、同じテンプレートを指定します。
apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: rtf namespace: <app-namespace-name> roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: system:openshift:scc:anyuid subjects: - kind: ServiceAccount name: rtf-agent namespace: rtf - kind: ServiceAccount name: mule-clusterip-service namespace: rtf - kind: ServiceAccount name: resource-cache namespace: rtf - kind: ServiceAccount name: rtf-persistence-gateway namespace: rtf - kind: ServiceAccount name: cluster-status namespace: rtf - kind: ServiceAccount name: am-log-forwarder namespace: rtf
copy
クラスターで、authorized-namespaces
という名前の ConfigMap ファイルを作成し、追加の名前空間があればリストします。追加の名前空間のマッピングキーは、標準 K8s リソース (ConfigMap) を使用するため、一意である必要があります。キー名は、一意でさえあれば、形式については特に要件はありません。
apiVersion: v1 kind: ConfigMap metadata: name: authorized-namespaces namespace: rtf data: ADDITIONAL_NAMESPACE-1: "additional-namespace1" ADDITIONAL_NAMESPACE-2: "additional-namespace2"
copy
Runtime Fabric のインストールが完了した後に ConfigMap で名前空間の追加または削除を行う場合は、Runtime Fabric エージェントポッドを再起動する必要があります。これを行うには、次のコマンドを実行します。
oc -nrtf delete po -l app=agent
copy
ポッドを削除すると、Kubernetes によって新しいポッドが開始されます。
OperatorHub から Runtime Fabric Operator (rtf-agent-operator
) をインストールします。
Red Hat OpenShift コンソールで、[Operators (Operator)] > [OperatorHub] に移動します。
[OperatorHub] 検索項目で、Runtime Fabric Operator を検索します。
rtf-agent-operator ダイアログで、[Install (インストール)] をクリックします。
Runtime Fabric Operator をインストールするには手動で承認を行う必要があり、完了まで数分かかる場合があります。 |
Runtime Fabric Operator を設定するには、要求されたら必要な値を指定します。
Red Hat OpenShift コンソールで、[Operators (Operator)] > [Installed Operators (インストール済み Operator)] に移動します。
コンソールで、[Project (プロジェクト)] の値を Runtime Fabric のインストール用に作成した名前空間に切り替えます。
コンソールで [Create Instance (インスタンスを作成)] をクリックし、[Configure via form view (フォームビューを通じて設定)] を選択します。
インスタンスの名前は変更しないでください。名前を変更すると、インストールエラーが発生する場合があります。 |
必須のパラメーターを追加します。案内については、「インストールパラメーターリファレンス」を参照してください。
承認済み名前空間を使用している場合は、authorizedNamespaces
を true
に設定します。
[Create (作成)] をクリックします。
次に、インストールパラメーターの YAML ビューの例を示します。
activationData: <activation data>
OGQ=
proxy:
http_proxy:
http_no_proxy:
monitoring_proxy:
custom_log4j_enabled: true
muleLicense: <mule license key>
global:
authorizedNamespaces: false
image:
rtfRegistry: <rtf-runtime-registry.kqa.msap.io or local registry value>
pullSecretName: rtf-pull-secret
containerLogPaths:
- /var/lib/docker/containers
- /var/log/containers
- /var/log/pods
yaml
Runtime Manager で Runtime Fabric を作成すると、次の必須パラメーターの値が設定されます。ローカルレジストリを使用していない場合は、レジストリ URL とプルシークレットのデフォルト値を使用してください。
キー | 値 | 例 |
---|---|---|
|
アクティベーションデータ |
YW55cG9pbnQubXVsZXNvZnQuY29tOjBmODdmYzYzLTM3MWUtNDU2Yy1iODg5LTU5NTkyNjYyZjUxZQ== |
|
レジストリ URL |
|
|
レジストリシークレット |
|
|
アプリケーションの Mule ライセンス |
|
必要に応じて次の省略可能なパラメーターを設定します。
キー | 値 | 例 |
---|---|---|
|
カスタム Log4j 設定を有効化または無効化 |
|
|
追加の名前空間の有効化または無効化 |
|
|
承認済み名前空間の有効化 |
|
|
プロキシ値と no_proxy 値 |
|
|
Anypoint Monitoring のプロキシ値 |
|
|
Filebeat の読み取りパス |
|
インストール中に Mule ライセンスキーを追加しなかった場合は、rtfctl
コマンドラインユーティリティまたは Helm を使用して追加できます。
ライセンスキーをインストールする前に Base64 形式にエンコードしてください。
MacOS では、次のコマンドを実行します。
BASE64_ENCODED_LICENSE=$(base64 -b0 license.lic)
copy
Unix では、次のコマンドを実行します。
BASE64_ENCODED_LICENSE=$(base64 -w0 license.lic)
copy
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))
copy
インストール中にリーダーとして機能するコントローラーノード (インストーラーノード) で、次のコマンドを実行します。
rtfctl apply mule-license $BASE64_ENCODED_LICENSE
copy
ファイルパスを直接指定する Mule ライセンスを適用することもできます。
rtfctl apply mule-license --file /path/to/license.lic
copy
Mule ライセンスキーが適切に適用されていることを確認するには、次のコマンドを実行します。
rtfctl get mule-license
copy
Helm を使用してライセンスを適用するには、次のコマンドを実行します。
helm upgrade --set muleLicense=$BASE64_ENCODED_LICENSE
copy
イングレスコントローラーにカスタムアノテーションとイングレスクラス定義が必要な場合は、「カスタムイングレス設定の定義」の手順に従います。
GKE のお客様の場合、デフォルトで GKE と一緒に含まれているイングレスコントローラーによってアプリケーションごとに個別の HTTP ロードバランサーがプロビジョニングされます。詳細は、こちらの KB 記事 |
インストールが完了したら、Anypoint 組織内で Runtime Fabric をアクティブ化する必要があります。インストールを検証するには、Anypoint Runtime Manager に移動し、Runtime Fabric の状況が [Active (アクティブ)]
であることを確認します。
アプリケーションを Runtime Fabric にデプロイする前に、次の手順を実行します。
Runtime Fabric を少なくとも 1 つの Anypoint 環境に関連付けます。
Kubernetes 環境に基づいてインバウンドトラフィック設定を確認および更新します。
アプリケーションをデプロイして、Runtime Fabric が正しくインストールおよび設定されていることを確認します。
Mule アプリケーションを Red Hat OpenShift クラスターにデプロイする前に Mule ライセンスキーをインストールしていることを確認してから、次の手順を実行してください。
また、Mule アプリケーションのデプロイを試みる前に、Mule ライセンスキーをインストールしていることを確認してください。
Mule アプリケーションデプロイメントの名前空間を作成します。「アプリケーションデプロイメント用の名前空間の作成」を参照してください。
Runtime Manager から、名前空間を使用して Mule アプリケーションをデプロイします。手順は、「Runtime Fabric への Mule アプリケーションのデプロイ」を参照してください。