Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerAnypoint Service Mesh を使用してサービスを管理する前に、Anypoint Service Mesh アダプターをプロビジョニングして名前空間を準備する必要があります。プロビジョニングでは、Anypoint Service Mesh 構成で使用する名前空間を準備します。Anypoint Service Mesh で API を保護するすべての名前空間に対して、アダプターをプロビジョニングする必要があります。
アダプターは、Anypoint Platform からポリシーを取得し、ポリシーを満足しているかどうかを確認して、分析データを Anypoint Platform に返すポリシー適用コンポーネントとして機能します。
アダプターをプロビジョニングしたら、Kubernetes クラスターの各ポッドに Envoy サイドカーが挿入されるように、すべての既存アプリケーションを再デプロイする必要があります。
アダプターをプロビジョニングするときは、Anypoint Service Mesh で管理するシステムの CPU 数とメモリ量に応じたアダプターサイズを指定する必要があります。現在サポートされているアダプタープランは次のとおりです。
プラン | CPU (コア数) | メモリ (GiB) | API 制限 |
---|---|---|---|
small |
.5 |
1 |
25 |
medium |
1 |
1.5 |
50 |
large |
2 |
2 |
100 |
アダプターのサイズは、プロビジョニング後でも変更できます。サイズプランを変更すると、アダプターデプロイメントが適切に更新されます。そして Kubernetes は、新しい情報でポッドを作成します。ただし、新しいポッドの準備ができるまで、古いアダプターが要求を引き続き処理します。
新しいアダプターの準備ができると、古いポッドは終了し、すべての要求は新しいアダプターに送られます。更新時にスペース不足で新しいポッドを開始できない場合や、ポッドが準備できていない場合は、Kubernetes イベントにエラーメッセージが記録されます。この場合は、新しいポッドが使用できないため、古いアダプターが要求の処理を継続します。
不要になったアダプターは削除できます。ただし、アダプターを削除する前に、そのアダプターの既存のバインドをすべて削除する必要があります。
アダプターをプロビジョニングしたりアプリケーションにバインドしたりすると、アダプターコマンドの実行後にメッセージが表示されます。メッセージは、アダプターが、正常に作成、削除、または変更されたことを示します。
さらに、アダプターの状況を確認することで、アダプターの詳細を調べることができます。アダプターの状況を見るには、次のコマンドを実行します。
asmctl adapter list
状況の値には次のようなものがあります。
Ready
: アダプターを使用する準備ができています。
Failed
: アダプターが正常に作成されませんでした。エラーが発生しました。
Provisioning
: アダプターはプロビジョニング中です。
DeprovisionBlockedByExisingCredentials
: アダプターに使用中のバインドがあります。
アダプターを削除する前に、関連付けられているすべてのバインドを削除する必要があります。
Anypoint Service Mesh をインストールしたら、コマンドラインインターフェース (CLI) ヘルプを使用して、Anypoint Service Mesh のコマンドとパラメーターの情報を見ることができます。
asmctl adapter help
$ asmctl adapter help
INFO: Usage:
INFO: asmctl adapter list
INFO: asmctl adapter sizes
INFO: asmctl adapter binding
INFO: asmctl adapter create --namespace=NAMESPACE --name=NAME --clientId=CLIENT_ID --clientSecret=CLIENT_SECRET --size=SIZE --replicas=REPLICAS
INFO: asmctl adapter delete --namespace=NAMESPACE --name=NAME
INFO: asmctl adapter logs --namespace=NAMESPACE --name=NAME
INFO:
INFO: Options:
INFO: --clientId=CLIENT_ID Client Id.
INFO: --clientSecret=CLIENT_SECRET Client Secret.
INFO: --name=NAME Adapter name.
INFO: --namespace=NAMESPACE Kubernetes Namespace.
INFO: --replicas=REPLICAS Number of replicas [1..8] [default: 2].
INFO: --size=SIZE Adapter Size. See 'asmctl adapter sizes' [default: medium].
INFO:
INFO: Examples:
INFO: # Create a new Adapter
INFO: asmctl adapter create --namespace=nto-payment --name=adapter --clientId=1234abc1234abc1234abc1234abc1234 --clientSecret=<OMITTED> --size=small --replicas=1
INFO:
INFO: # Show Adapter logs
INFO: asmctl adapter logs --namespace=nto-payment --name=adapter
INFO:
INFO: # Delete an Adapter
INFO: asmctl adapter delete --namespace=nto-payment --name=adapter
INFO:
INFO: # List all created Adapters
INFO: asmctl adapter list
アダプターをプロビジョニングする前に、タスクの前提条件を完了してください。
タスクの前提条件
アダプター名、バインド名、サービス名など、すべてのオブジェクト名は小文字で入力する必要があります (例: test_adapter_name)。Kubernetes の命名規則に従っていないと、エラーがスローされます。
CLI を使用して Anypoint Service Mesh アダプターをプロビジョニングする手順は次のとおりです。
プランに基づいてアダプターサイズを決定します。
API Manager のメインページで、[Environment Information (環境情報)] をクリックして、環境のクライアント ID とクライアントシークレットのログイン情報を取得します。
コマンドウィンドウで、Anypoint Service Mesh のインストーラーをダウンロードしたディレクトリに移動し、次のコマンドを実行してアダプターを作成します。
asmctl adapter create \
--name=<adapter name> \
--namespace=<adapter namespace> \
--size=<adapter plan size> \
--replicas=<amount of replicas for the adapter> \
--clientId=<clientId of the environment or organization> \
--clientSecret=<client secret of the environment or organization>
パラメーター名 | 説明 | 必須または省略可能 | デフォルト値 |
---|---|---|---|
|
作成するアダプターの名前 (例: service-mesh-test-adapter)。 |
必須 |
適用なし |
|
アダプターを作成する名前空間 (例: mulesoft-apps)。 |
必須 |
適用なし |
|
使用する CPU 数とメモリ量に基づいたアダプターのサイズ。 |
省略可能 |
medium |
|
Mule アダプターに対して作成するレプリカの数。高可用性を保証するには、2 以上の値が推奨されます。 |
省略可能 |
2 |
|
環境 (推奨) または組織のクライアント ID。このドキュメントの権限とロールの前提条件の手順で取得したクライアント ID を使用してください。 |
必須 |
適用なし |
|
環境 (推奨) または組織のクライアントシークレット。このドキュメントの権限とロールの前提条件の手順で取得したクライアントシークレットを使用してください。 |
必須 |
適用なし |
|
Anypoint Platform がインストールされているホスト。 |
省略可能 |
アダプターの状況を確認します。
asmctl adapter list
アダプターのログで、Kubernetes イベントとアダプタートランザクションの詳細を確認します。
asmctl adapter logs --name=<adapter_name> --namespace=<namespace>
Anypoint Service Mesh のインストールを開始する前に名前空間ですでに実行されていた各アプリケーションに対して、次のコマンドを 1 つずつ実行します。
パッチのデプロイメント名を取得します。
kubectl get deployments -n <namespace>
上のコマンドで取得したデプロイメント名を使用して、Anypoint Service Mesh で管理する必要のあるすべてのサービスを再起動し、ポッドにサイドカーを挿入します。
kubectl -n <adapter-namespace> patch deploy <deployname> --type=json -p='[{"op": "replace", "path": "/spec/template/metadata/labels/service-mesh.mulesoft.com","value":"enable"}]'
以下のコマンドを実行して、アプリケーションが再デプロイされたことを確認します。
kubectl get pods -n <namespace>
。