Runtime Fabric コマンドラインツールの使用

Runtime Fabric をローカルで管理するには、​rtfctl​ コマンドラインツールをインストールして使用します。​rtfctl​ ツールでは次のアクションがサポートされています。

  • Runtime Fabric の状況を取得する。

  • 実行中のアプリケーションのヒープダンプまたはスレッドダンプを実行する。

  • 実行中のアプリケーションのメモリ使用量を表示する。

  • プロキシ設定を管理する。

  • セキュアプロパティを管理する。

  • Mule ライセンスを管理する。

  • アラート送信者メールアドレスを管理します。

rtfctl のインストール

このセクション内のタスクは、IT 管理者が実行する必要があります。

AKS 用に自己管理型 Kubernetes の Runtime Fabric を使用していて、AKS で管理される Azure AD インテグレーションが有効になっている場合、次のコマンドで rtfctl コマンドを実行するために必要なログイン情報が返されます。

az aks get-credentials --name <NAME> --resource-group <RESOURCE_GROUP> --admin

自己管理型 Kubernetes の Runtime Fabric の場合:

  1. rtfctl​ コマンドラインツールをダウンロードします。

    rtfctl​ は、Windows、MacOS (Darwin)、および Linux でサポートされています。適切な方法を選択してください。

    • Windows

      curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl-windows/latest -o rtfctl.exe
    • MacOS (Darwin)

      curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl-darwin/latest -o rtfctl
    • Linux

      curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl/latest -o rtfctl
  2. rtfctl​ コマンドラインツールのファイル権限を変更します。

    sudo chmod +x rtfctl

Runtime Fabric アプライアンスの場合:

  1. rtfctl​ コマンドラインツールをダウンロードします。

    rtfctl​ は、Windows、MacOS (Darwin)、および Linux でサポートされています。適切な方法を選択してください。

    • Windows

      curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl-appliance-windows/latest -o rtfctl.exe
    • MacOS (Darwin)

      curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl-appliance-darwin/latest -o rtfctl
    • Linux

      curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl-appliance/latest -o rtfctl
  2. rtfctl​ コマンドラインツールのファイル権限を変更します。

    sudo chmod +x rtfctl

コマンドの実行

VM/ベアメタルの Runtime Fabric の場合、コントローラーノードから ​rtfctl​ を実行する必要があります。ディレクトリ ​/opt/anypoint/runtimefabric/`​ の ​rtfctl​ バイナリ。現在の作業ディレクトリも ​/opt/anypoint/runtimefabric/​ であることを確認します。ツールでは、クラスターを管理するための必須設定が検出されます。

自己管理型 Kubernetes の Runtime Fabric の場合、 「Organizing Cluster Access Using kubeconfig Files (kubeconfig を使用したクラスターアクセスの整理)」​で説明されているように ​rtfctl​ で kubeconfig ファイルがコンシュームされます。この方法を使用して、管理するクラスターを設定します。​rtfctl​ バイナリが現在の作業ディレクトリとユーザーの ​$PATH​ に存在することを確認します。

  • 特権ユーザーとして ​rtfctl​ コマンドを実行します。

  • サポートされているすべてのコマンドのリストを表示するには、​rtfctl -h​ を実行します。

  • 特定のコマンドの詳細については、​rtfctl <command> -h​ を実行します。

プロキシ設定の確認

コマンドを実行すると、​rtfctl​ は環境にプロキシ設定があるかどうかを確認します。このツールは ​NO_PROXY​ キー (大文字) を探して、​NO_PROXY​ が使用されていない場合は ​no_proxy​ キー (小文字) を受け入れます。両方のキーがある場合、​rtfctl​ は ​NO_PROXY​ を使用します。​rtfctl​ ツールは、プロキシ設定に従うようにローカルの Kubernetes コンテキスト内でキーを設定します。

Runtime Fabric アプライアンスを管理するコマンド

Runtime Fabric アプライアンスを管理するには次のコマンドを使用します。

ここに挙げたコマンドは VM/ベアメタルの Runtime Fabric のみで使用できます。

appliance

Runtime Fabric アプライアンスで操作を実行します。

  • アラート送信者メールを適用する

    rtfctl appliance apply alert-smtp-from "<sender>@<domain>.com"
  • 証明書バンドルをダウンロードすることによって期限切れのクライアント証明書を更新する

    rtfctl appliance renew-expired-client-cert --auth 'Bearer <YOUR ANYPOINT AUTHORIZATION TOKEN>' --url 'https://anypoint.mulesoft.com/runtimefabric/api/organizations/<org-id>/fabrics/<fabric-id>/certificate-bundle'
  • 事前ダウンロード済みパッケージを使用して期限切れのクライアント証明書を更新する

    rtfctl appliance renew-expired-client-cert --file <cert-bundle-filename>
  • 最新のスクリプトを使用して Runtime Fabric コンポーネントを再インストールする

    rtfctl appliance reinstall
  • 最新のスクリプトをダウンロードせずに Runtime Fabric コンポーネントを再インストールする

    rtfctl appliance reinstall --skip-download
  • アプライアンス診断レポートを生成する

    rtfctl appliance report --file <filename>.tar.gz
  • アプライアンスのアップグレードが失敗した後に既存のバージョンへのロールバックを実行する

    rtfctl appliance rollback
  • ロールバックを実行せずにロールバックのステップを表示する

    rtfctl appliance rollback --dry-run
  • アプライアンスのアップグレードが失敗した後に確認を促さずに既存のバージョンへのロールバックを実行する

    rtfctl appliance rollback --confirm
  • 事前ダウンロード済みパッケージを使用してクラスターをアップグレードする

    rtfctl appliance upgrade --file runtimefabric-<VERSION>.tar.gz
  • パッケージをダウンロードすることによってクラスターをアップグレードする

    rtfctl appliance upgrade --url https://<host>/<path-to-installer-package>

Runtime Fabric を設定するコマンド

Runtime Fabric を設定するには次のコマンドを使用します。

コマンド 説明

Runtime Fabric 設定に変更を適用する

rtfctl を更新する

Runtime Fabric コンポーネントが準備完了になるのを待機する

apply

Runtime Fabric 設定に変更を適用します。

  • HTTP プロキシ設定を適用する

    rtfctl apply http-proxy http://<domain>:<port>
  • プロキシをバイパスするホスト名を指定して HTTP プロキシ設定を適用する

    rtfctl apply http-proxy http://<domain>:<port> --no-proxy "DOMAIN.com,DOMAIN2.com"
  • 認証を使用して HTTP プロキシ設定を適用する

    rtfctl apply http-proxy http://username:password@<domain>.com:<port>
  • HTTP プロキシ設定をクリアする

    rtfctl apply http-proxy "" --no-proxy ""
  • 特定のポッドにイングレス configMap を適用する

    自己管理型 Kubernetes の Runtime Fabric バージョン 1.8 および 1.9 のみ

    rtfctl apply ingress-configmap "/<pod>/<path-to-configMap.yaml>"`
  • セキュアプロパティを適用する

    rtfctl apply secure-property --key <key> --value <value> -n <environment>
  • ホストノードにシステム設定を適用する

    rtfctl apply system-configuration
  • 最新のスクリプトをダウンロードせずにホストノードにシステム設定を適用する

    rtfctl apply system-configuration --skip-download
  • Mule ライセンスを適用する

    rtfctl apply mule-license '<BASE64-encoded-license>'
  • 監視プロキシを適用する

    rtfctl apply monitoring-proxy "socks5://<username>:<password>@<monitoring-URL>:<PORT>"`
  • 監視プロキシ設定をクリアする

    rtfctl apply monitoring-proxy ""

update

rtfctl​ を更新します。

  • US コントロールプレーンから更新する

    rtfctl update
  • EU コントロールプレーンから ​rtfctl​ を更新する

    rtfctl update --host eu1.anypoint.mulesoft.com

wait

Runtime Fabric コンポーネントが準備完了になるのを待機する

  • 待機する秒数を指定する

rtfctl wait <value in seconds>
  • 待機をタイムアウトするまでの秒数を指定する (デフォルトは 600 秒)

rtfctl wait --timeout <value in seconds>

Runtime Fabric のインストールとアップグレードを行うコマンド

Runtime Fabric のインストールやアップグレード、またはバックアップや復元を実行するときには次のコマンドを使用します。

コマンド 説明

Runtime Fabric をインストールする

ローカルの Runtime Fabric の状態をバックアップする

ローカルの Runtime Fabric の状態をバックアップから復元する

Runtime Fabric インストールのクラスターを検証する

Runtime Fabric のバージョン情報を表示する

install

  • Runtime Fabric をインストールする

rtfctl install <activation data>
  • Docker イメージレジストリ URL およびシークレットを上書きする

    rtfctl install <activation data> --image-pull-registry <string>  --image-pull-secret <string>

backup

ローカルの Runtime Fabric の状態をバックアップする。

rtfctl backup /var/backups/<backup-filename>.tar.gz

restore

ローカルの Runtime Fabric の状態をバックアップから復元する

rtfctl restore /var/backups/<filename>.tar.gz

validate

Runtime Fabric インストールのクラスターを検証する

  • 検証チェックを実行する

    rtfctl validate <activation-data>
  • 検証チェックを実行し、プロキシ設定を含む ​fabric.tf​ 設定ファイルを渡す

    rtfctl validate -f <path-to-settings-file>

    プロキシを使用してインストールを検証するには、​settings​ ファイル内でプロキシ設定を指定する必要があります。

MULE_LICENSE=<your-mule-license>
ACTIVATION_DATA=<activation-data>
HTTP_PROXY=http://proxy-domain.com:<port>

version

Runtime Fabric のバージョン情報を表示する

rtfctl version

Runtime Fabric 上のアプリケーションを管理するコマンド

Runtime Fabric にデプロイされたアプリケーションを管理するには次のコマンドを使用します。

コマンド 説明

セキュアプロパティを削除する

アプリケーションの詳細を表示する

アプリケーションのディスク使用量を表示する

ポッド内の JVM メモリ使用量を表示する

アプリケーションのデバッグ情報パッケージを作成する

アプリケーションを再起動する

JVM ヒープダンプを取得する

JVM スレッドダンプを取得する

delete

セキュアプロパティを削除する

rtfctl delete secure-property <sample-key> -n <sample-app-namespace>

describe

特定の名前空間でのアプリケーションの詳細を表示する

rtfctl describe app <app-name> --namespace <namespace>

disk

アプリケーションのディスク使用量を表示する

  • デフォルトである最初のレプリカを使用してアプリケーションのディスク使用量を表示する

    rtfctl disk <app-name>
  • 特定のレプリカを使用してアプリケーションのディスク使用量を表示する

    rtfctl disk <app-name> --details --pod <replica-name>

memory

ポッド内の JVM メモリ使用量を表示する

  • 各レプリカの JVM メモリを取得する

    rtfctl memory <app-name>
  • 特定のレプリカの JVM メモリを取得する

    rtfctl memory <app-name> --pod <app-name>-pod-1

package

アプリケーションのデバッグ情報パッケージを作成する

  • デフォルトである最初のポッドを使用してアプリケーションのパッケージを作成する

    rtfctl package <app-name> <path-to-file>
  • アプリケーション、ポリシー、​.mule​ ディレクトリを含むアプリケーションのパッケージを作成する

    rtfctl package <app-name> <path-to-file> --apps --policies --dotmule
  • ヒープダンプを含むアプリケーションのパッケージを作成する

    rtfctl package <app-name> <path-to-file> --heap-dump

restart

アプリケーションを再起動する

rtfctl restart my-app

heapdump

JVM ヒープダンプをトリガーする

  • デフォルトである最初のレプリカを使用してアプリケーションの JVM ヒープダンプを実行し、​`/tmp/dump.hprof​ として保存する

    rtfctl heapdump <app-name> /tmp/dump.hprof
  • 特定のレプリカを使用してアプリケーションの JVM ヒープダンプを実行し、​/tmp/dump.hprof​ として保存する

    rtfctl heapdump <app-name> /tmp/dump.hprof --pod <replica-name>

threaddump

JVM スレッドダンプをトリガーする

  • デフォルトである最初のレプリカを使用してアプリケーションの JVM スレッドダンプを実行する

    rtfctl threaddump <app-name>
  • 特定のレプリカを使用してアプリケーションの JVM スレッドダンプを実行する

    rtfctl threaddump <app-name>p --pod <replica-name>

Runtime Fabric のトラブルシューティングを行うコマンド

Runtime Fabric のトラブルシューティングを行うには次のコマンドを使用します。

コマンド 説明

get

1 つ以上のリソースを表示する

ネットワーク接続をテストする

診断レポートを生成する

Runtime Fabric の状況を表示する

Runtime Fabric コントロールプレーンへのアウトバウンドネットワーク接続を検証する

get

1 つ以上のリソースを表示する

  • すべての環境のすべてのアプリケーションのリストを出力する

    rtfctl get apps
  • 特定の環境のすべてのアプリケーションのリストを出力する

    rtfctl get apps --namespace <environment>
  • HTTP プロキシ設定を表示する

    rtfctl get http-proxy
  • 監視プロキシ設定を表示する

    rtfctl get monitoring-proxy
  • セキュアプロパティを表示する

    rtfctl get secure-properties
  • Mule ライセンスを表示する

    rtfctl get mule-license
  • Runtime Fabric レジストリのログイン情報を表示する

    rtfctl get registry-credentials <activation data>

ping

ネットワーク接続をテストする

  • デフォルトである最初のレプリカを使用してアプリケーション内部から example.com に ping する

    rtfctl ping <app-name> example.com
  • デフォルトである最初のレプリカを使用してアプリケーション内部からポート ​12345​ 上で example.com への接続を試みる

    rtfctl ping <app-name> --port 12345

report

rtf-report.tar.gz​ に診断レポートを生成する

rtfctl report --file <filename>.tar.gz

status

Runtime Fabric の状況を表示する

  • JSON で状況出力を表示する

    rtfctl status --output json
  • Kubernetes DNS の健全性を確認する

    rtfctl status dns-check --<node-label> "<k>:<v>"

test

Runtime Fabric コントロールプレーンへのアウトバウンドネットワーク接続を検証する。

  • 任意のノードでのチェックをスケジュールする

    rtfctl test outbound-network
  • node-label​ パラメーターを満たすノードでのチェックをスケジュールする

    rtfctl test outbound-network --<node-label> "<k>:<v>"
  • すべてのノードでのチェックをスケジュールする

    rtfctl test outbound-network --all

使用方法

Mule ライセンスのインストール

  1. 「Mule ライセンスキーの Base64 でのエンコード」​の手順に従って、必ずライセンスを Base64 でエンコードします。

  2. 次のコマンドを実行します。

    $ sudo ./rtfctl apply mule-license '<license-key-information>'
    Updating rtf namespace... OK

ヒープダンプの取得

$ sudo /usr/local/bin/rtfctl heapdump hello-world /tmp/dump.hprof
Dumping heap for hello-world-f76484d8-l44qv...
Heap dump written to /tmp/dump.hprof

追加の情報については、​rtfctl heapdump -h​ コマンドを実行します。

複数のレプリカとの連携

--pod​ フラグを受け入れるアプリケーション管理コマンドの場合、​describe​ コマンドを使用してレプリカのリストを取得できます。

$ sudo ./rtfctl describe apps hello-world --namespace bed42b62-XXXX
Name:              hello-world
Namespace:         bed42b62-XXXX
Status:            PROGRESSING
Runtime:           2
ID:
Version:
Organization ID:   d30f74c0-XXXX
Replicas:          1 desired | 1 updated | 1 total | 0 available | 1 unavailable

  Name                             Status
  ----                             ------
  hello-world-77f5897949-z54gb   Pending

rtfctl 出力の理解

rtfctl​ コマンドラインツールでは通常、他のアプリケーションやシステムツールを呼び出し、これらの呼び出しの出力は標準出力および標準エラー出力に送信されます。この出力は実行される各操作のコンテキストで記述されます。

操作が成功したか失敗したかを明確にするために、​rtfctl​ コマンドラインツールには最も詳細なコマンドの最後の出力行が含まれます。通常の操作には、停止しているシステムユニットをもう一度停止しようとした場合など、中間の​失敗​メッセージが含まれる場合があります。

メッセージが問題を示しているかどうか疑わしい場合は、システム管理者と話し合うか、MuleSoft サポートにお問い合わせください。