Flex Gateway新着情報
Governance新着情報
Monitoring API Manager次のプラットフォームでは、Anypoint Runtime Fabric を Kubernetes (K8s) オペレーターとしてインストールできます。
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 を検証してイングレスを設定します。
Runtime Fabric では OpenShift ルートもサポートされています。「OpenShift ルートを設定する」ドキュメントを参照してください。
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
名前空間を作成したら、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>
必要に応じて、他のサービスと一緒に 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: <app_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
ここで作成したファイルを適用します。
oc 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: <app_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-<rtf_namespace>
apiGroup: rbac.authorization.k8s.io
次の RoleBinding テンプレートを rtf 名前空間と他の追加の名前空間に適用します。
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: rtf
namespace: <rtf_namespace>
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: system:openshift:scc:anyuid
subjects:
- kind: ServiceAccount
name: rtf-agent
namespace: <rtf_namespace>
- kind: ServiceAccount
name: mule-clusterip-service
namespace: <rtf_namespace>
- kind: ServiceAccount
name: resource-cache
namespace: <rtf_namespace>
- kind: ServiceAccount
name: rtf-persistence-gateway
namespace: <rtf_namespace>
- kind: ServiceAccount
name: cluster-status
namespace: <rtf_namespace>
- kind: ServiceAccount
name: am-log-forwarder
namespace: <rtf_namespace>
- kind: ServiceAccount
name: rtf-certificate-renewal
namespace: <rtf_namespace>
認証済み名前空間モードでクラスター化アプリケーションを使用するには、次の 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
<additional-namespace>
でも、同じテンプレートを指定します。
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: rtf
namespace: <app_namespace>
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: system:openshift:scc:anyuid
subjects:
- kind: ServiceAccount
name: rtf-agent
namespace: <rtf_namespace>
- kind: ServiceAccount
name: mule-clusterip-service
namespace: <rtf_namespace>
- kind: ServiceAccount
name: resource-cache
namespace: <rtf_namespace>
- kind: ServiceAccount
name: rtf-persistence-gateway
namespace: <rtf_namespace>
- kind: ServiceAccount
name: cluster-status
namespace: <rtf_namespace>
- kind: ServiceAccount
name: am-log-forwarder
namespace: <rtf_namespace>
- kind: ServiceAccount
name: rtf-certificate-renewal
namespace: <rtf_namespace>
クラスターで、authorized-namespaces
という名前の ConfigMap ファイルを作成し、追加の名前空間があればリストします。追加の名前空間のマッピングキーは、標準 K8s リソース (ConfigMap) を使用するため、一意である必要があります。キー名は、一意でさえあれば、形式については特に要件はありません。
apiVersion: v1
kind: ConfigMap
metadata:
name: authorized-namespaces
namespace: <rtf_namespace>
data:
APPLICATION_NAMESPACE_1: "<app_namespace_1>"
APPLICATION_NAMESPACE_2: "<app_namespace_2>
Runtime Fabric のインストールが完了した後に ConfigMap で名前空間の追加または削除を行う場合は、Runtime Fabric エージェントポッドを再起動する必要があります。これを行うには、次のコマンドを実行します。
oc -nrtf delete po -l app=agent
ポッドを削除すると、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>
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
Runtime Manager で Runtime Fabric を作成すると、次の必須パラメーターの値が設定されます。ローカルレジストリを使用していない場合は、レジストリ URL とプルシークレットのデフォルト値を使用してください。
キー | 値 | 例 |
---|---|---|
|
アクティベーションデータ |
YW55cG9pbnQubXVsZXNvZnQuY29tOjBmODdmYzYzLTM3MWUtNDU2Yy1iODg5LTU5NTkyNjYyZjUxZQ== |
|
レジストリ URL |
|
|
レジストリシークレット |
|
|
アプリケーションの Mule ライセンス |
|
必要に応じて次の省略可能なパラメーターを設定します。
キー | 値 | 例 |
---|---|---|
|
カスタム Log4j 設定を有効化または無効化 |
|
|
追加の名前空間の有効化または無効化 |
|
|
承認済み名前空間の有効化 |
|
|
プロキシ値と no_proxy 値 |
|
|
Anypoint Monitoring のプロキシ値 |
|
|
Filebeat の読み取りパス |
|
インストール中に 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))
イングレスコントローラーにカスタムアノテーションとイングレスクラス定義が必要な場合は、「カスタムイングレス設定の定義」の手順に従います。
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 ライセンスキーをインストールしていることを確認してください。
Create a namespace for your Mule app deployments. See 「アプリケーションデプロイメント用の名前空間の作成」を参照してください。
Runtime Manager から、名前空間を使用して Mule アプリケーションをデプロイします。手順は、「Runtime Fabric への Mule アプリケーションのデプロイ」を参照してください。