Flex Gateway新着情報
Governance新着情報
Monitoring API Manager複数のインスタンスの Anypoint Runtime Fabric をインストールすることで、複数の Runtime Fabrics 間で同じクラスターを共有し、効率的にリソースを使用することができます。
1 つの OpenShift クラスターに複数のインスタンスの Anypoint Runtime Fabric をインストールするには、次の手順に従ってください。
Runtime Manager for OpenShift を使用して Runtime Fabric を作成します。
Runtime Fabric をインストールするためのカスタム名前空間を作成します。
kubectl create ns <rtf_namespace>
前に作成した名前空間の Runtime Fabric コンポーネントイメージを取得するための Docker プルシークレットを作成します。
kubectl create secret docker-registry rtf-pull-secret --namespace <rtf_namespace> --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: <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
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: <app_namespace> subjects: - kind: ServiceAccount name: rtf-agent namespace: <rtf_namespace> 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_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>
copy
<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>
copy
クラスターで、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_1>
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 Manager で Runtime Fabric インスタンスを作成すると、次の必須パラメーターの値が設定されます。ローカルレジストリを使用していない場合は、レジストリ URL とプルシークレットのデフォルト値を使用してください。
キー | 値 | 例 |
---|---|---|
|
アクティベーションデータ |
YW55cG9pbnQubXVsZXNvZnQuY29tOjBmODdmYzYzLTM3MWUtNDU2Yy1iODg5LTU5NTkyNjYyZjUxZQ== |
|
レジストリ URL |
US rtf-runtime-registry.kprod.msap.io EU rtf-runtime-registry.kprod-eu.msap.io |
|
レジストリプルシークレット |
rtf-pull-secret |
|
アプリケーションの Mule ライセンス |
Mule ライセンスキー (Base64 でエンコードされている必要があります) |
必要に応じて次の省略可能なパラメーターを設定します。
キー | 説明 | 例 |
---|---|---|
|
共有テナントを有効にする |
authorizedNamespaces=true |
|
Crds と PriorityClass のインストールを有効にする |
install=true |
|
プロキシ値と no_proxy 値 |
- http://<user>:<pass>@<10.0.0.1>:<8080> |
|
Monitoring のプロキシ値 |
socks5://<user>:<pass>@<10.0.0.2>:<8080> |
|
Filebeat の読み取りパス |
- /var/lib/docker/ |
最初のエージェントをクラスターにインストールするには、crds.install の値を true に設定します。同じクラスターの以降のすべてのエージェントインストールでは crds.install を false に設定します。
|
次に values.yaml
ファイルの例を示します。
activationData: <activation_data> proxy: http_proxy: http_no_proxy: monitoring_proxy: custom_log4j_enabled: true muleLicense: <mule_license_key> global: crds: install: true authorizedNamespaces: false image: rtfRegistry: rtf-runtime-registry.kprod.msap.io pullSecretName: rtf-pull-secret containerLogPaths: - /var/lib/docker/containers - /var/log/containers - /var/log/pods
2 つ目移行の Runtime Fabric for OpenShift のインスタンスをインストールするには、前回の手順を繰り返します。
Runtime Manager for OpenShift を使用して Runtime Fabric を作成します。
Runtime Fabric をインストールするためのカスタム名前空間を作成します。
kubectl create ns <rtf_namespace>
前に作成した名前空間の Runtime Fabric コンポーネントイメージを取得するための Docker プルシークレットを作成します。
kubectl create secret docker-registry rtf-pull-secret --namespace <rtf_namespace> --docker-server=<docker_registry_url> --docker-username=<docker_registry_username> --docker-password=<docker_ registry_password>
Red Hat OpenShift コンソールで、[Operators (Operator)] > [Installed Operators (インストール済み Operator)] に移動します。
コンソールで、[Project (プロジェクト)] の値を Runtime Fabric のインストール用に作成した名前空間に切り替えます。
コンソールで [Create Instance (インスタンスを作成)] をクリックし、[Configure via form view (フォームビューを通じて設定)] を選択します。
values.yaml の必須パラメーターを追加します。
認証済みの名前空間を使用する場合は、authorizedNamespaces
を true
に設定します。
crds.install
の値を false
に設定します。
[Create (作成)] をクリックします。