Flex Gateway新着情報
Governance新着情報
Monitoring API Manager
可能な場合は、Equality の会社の値に一致するように、含めない用語を変更しました。顧客の実装に対する影響を回避するために、一部の用語は変更されていません。 |
VM/ベアメタルの Anypoint Runtime Fabric をアップグレードするには、Runtime Fabric アプライアンス、コンポーネント、rtfctl
コマンドラインユーティリティ、ノード設定をアップグレードします。
アプライアンスのアップグレードは、Docker、Kubernetes、オペレーションセンターを含むプラットフォームレイヤーコンポーネントに影響します。このプラットフォームレイヤーコンポーネントは、クラスターのノードとして機能する仮想マシン (VM) またはベアメタルサーバーにインストールされます。
アプライアンスのアップグレードは、rtfctl
コマンドラインユーティリティを使用して適用されます。
アプライアンスのアップグレードは 1 ノードずつ各ノードに適用されます。このローリングアップグレードプロセスにより、3 個以上のコントローラーノードをアクティブなままにしてクラスターの可用性を確実に維持することで、実行中のアプリケーションへの影響を最小限に抑えます。また、このプロセスにより、各ワーカーノードをオフラインにしてアップグレードするときにアプリケーションを再デプロイできるように、少なくとも 1 つのワーカーノードに相当する未使用のリソースを使用できるようにもします。
Runtime Fabric コンポーネントをアップグレードする場合、次の機能を提供するサービスをアップグレードします。
コントロールプレーンとの通信を容易にする
負荷分散を行う
メトリクスを記録して転送する
コンポーネントのアップグレードが可能な場合、アップグレードが利用可能になったときに表示されるボタンを使用して Runtime Manager 内でアップグレードを適用します。最新のコンポーネントバージョンに関する情報については、「Anypoint Runtime Fabric リリースノート」の情報を確認します。
Runtime Fabric コンポーネントのアップグレードでは、ノードの追加は不要です。
アップグレード後に、アプリケーション監視メトリクスは復元されません。 |
Runtime Fabric コントローラーノードで、次のコマンドを実行します。
/opt/anypoint/runtimefabric/rtfctl version
出力は次のようになります。
次に例を示します。
[root@ip-10-0-245-74 /]# /opt/anypoint/runtimefabric/rtfctl version
COMPONENT VERSION
rtfctl 0.3.122
agent 1.9.3
appliance 1.1.1719717580-73a133d
kubernetes 1.17
rtfctl
項目に rtfctl
コマンドラインユーティリティのバージョン
appliance
項目にアプライアンスコンポーネントのバージョン
agent
項目に Runtime Fabric コンポーネントのバージョン
使用中の Runtime Fabric コンポーネントとアプライアンスのバージョンは Runtime Manager の [Runtime Fabric] タブにも表示されます。アップグレードが利用可能な場合は、[Upgrade to vx.x (vx.x にアップグレード)] メッセージが表示されます。 |
rtfctl
コマンドラインユーティリティのアップグレードについてrtfctl
コマンドラインユーティリティを使用して、Runtime Fabric を管理し、アプライアンスとノード設定のアップグレードを実行します。
コマンドラインから rtfctl
ユーティリティをアップグレードします。
rtfctl
コマンドラインユーティリティの最新バージョンを使用することが重要です。
ノード設定のアップグレードには、AWS および Azure インフラストラクチャのプロビジョニング、各ノードの準備、新しい Runtime Fabric のブートストラップ、オペレーティングシステムの制限の調整、およびシステムリソースをクリーンアップするためのジョブの実行を行うスクリプトが含まれます。
ノード設定のアップグレードは、Runtime Manager の [Runtime Fabric downloads (Runtime Fabric ダウンロード)] ページを使用して、更新されたインストールスクリプトバージョンとして配信されます。
更新されたインストールスクリプトを使用してノードの設定をアップグレードする場合、アプライアンスの最新バージョンが自動的にダウンロードされ、使用されます。 |
VM/ベアメタルの Anypoint Runtime Fabric をアップグレードするには、次のタスクを実行します。
rtfctl
コマンドラインユーティリティをアップグレードします。
Runtime Fabric が健全であることを確認します。
Runtime Fabric コンポーネントをアップグレードします。
Runtime Fabric アプライアンスをアップグレードします。
クラスターでアップグレードを実行します。
ノード設定をアップグレードします。
Runtime Fabric で実行されている Mule デプロイメントを最新のパッチバージョンに更新します。
本番環境をアップグレードする前に、本番以外の Runtime Fabric インスタンスで次の手順を実行し、環境との互換性を確認します。チームが新しいアプリケーションをデプロイしていないときや Runtime Fabric で既存のアプリケーションを管理していないときにアップグレードを計画します。本番以外のアップグレードが成功したら、本番環境で次の手順を実行します。 「Anypoint Runtime Fabric リリースノート」の情報を確認します。
必要に応じて追加のワーカーノードをプロビジョニングし、アプライアンスのアップグレードを適用するときのアプリケーションの可用性を維持します。
アプリケーションデプロイメントで使用できるリソースの量が 1 つのワーカーノードのリソースに満たない場合、同じ量の CPU、メモリ、およびディスクリソースを備えた別のワーカーノードを Runtime Fabric に追加します。
Runtime Fabric へのノードの追加方法を参照してください。
MuleSoft ナレッジベースで 「What Items to Check Before an RTF Appliance Upgrade (RTF アプライアンスのアップグレード前に確認する項目)」を参照してください。
rtfctl
コマンドラインユーティリティをアップグレードするアップグレードプロセスのいくつかのステップでは、rtfctl
コマンドラインユーティリティを使用します。
rtfctl
コマンドユーティリティの最新バージョンを使用していない場合は、次のコマンドを使用して最新バージョンをダウンロードします。
cd /opt/anypoint/runtimefabric sudo curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl/latest -o rtfctl
rtfctl
バイナリのファイル権限を変更します。
sudo chmod +x rtfctl
rtfctl
バイナリを所有するユーザーの場合は、新しいバージョンをダウンロードすることなく rtfctl
を更新できます。これを行うには、次のコマンドを実行します。
`rtfctl update`
アップグレードを実行する前に、クラスターがアクティブで健全であることを確認します。
Web ブラウザーを使用して、Runtime Manager の [Runtime Fabric] タブに移動し、Runtime Fabric の状況が [Active (アクティブ)] として報告されていることを確認します。
Runtime Fabric コントローラーノードのターミナルを開きます。
/opt/anypoint/runtimefabric/rtfctl status
を実行し、クラスターの状況が健全であることを確認します。
ブラウザーセッションを開いたままにして、アップグレードのサブタスクの残りを実行します。
Runtime Fabric プロセスの最初のステップは Runtime Fabric コンポーネントをアップグレードすることです。
次のエンドポイントをポート 443 で許可リストに登録していることを確認します。このエンドポイントは runtime-registry がアプリケーションデプロイメントの Docker コンテナを取得するために使用されます。
US コントロールプレーン: rtf-runtime-registry.kprod.msap.io
EU コントロールプレーン: rtf-runtime-registry.kprod-eu.msap.io
Anypoint Platform コントロールプレーンと Runtime Fabric との間の相互トランスポートレイヤーセキュリティ (mTLS) に使用されるエンドポイントを許可リストに登録していることを確認します。
Runtime Fabric にアップグレードした後に、アプリケーションを再起動して、runtime-registry エンドポイントのデプロイメントマニフェストが更新されるようにします。 |
Runtime Manager の [Runtime Fabric] タブで Runtime Fabric を選択し、Runtime Fabric に移動します。
[Upgrade to vx.x (vx.x にアップグレード)] をクリックします。
[Run Network Test (ネットワークテストを実行)] をクリックしてネットワークチェックを実行することで、Anypoint コントロールプレーンを使用してランタイムレジストリと mTLS の適切なエンドポイントを許可リストに登録したことを確認します。
エンドポイントを許可リストに登録していない場合は、続行する前に登録する必要があります。
ネットワークテストは、完了するまで数分かかる場合があります。エラーが発生した場合は、「ネットワークテストのエラー」を参照してください。
ネットワークテストが完了したら、[Apply Upgrade (アップグレードを適用)] をクリックします。
Runtime Fabric の状況が更新され、アップグレード手順が進行中であることが示されます。
状況が [Active (アクティブ)] に移行するまで待ちます。
ほとんどの場合、アップグレードにかかる時間は 10 分未満です。状況が [Active (アクティブ)] に移行し、Runtime Fabric のバージョンが新しいバージョンを反映したら、コンポーネントのアップグレードは完了です。
Runtime Fabric と Runtime Manager の接続がアップグレード中に切断された場合、アップグレード完了後に接続が復元されます。
ブラウザーセッションを開いたままにして、アップグレードのサブタスクの残りを実行します。
Runtime Fabric コンポーネントをアップグレードした後に、Runtime Fabric アプライアンスをアップグレードできます。
/opt/anypoint/runtimefabric/installer
ディレクトリに、使用可能なディスク領域が 4 GiB 以上あることを確認します。
ルート権限があることを確認します。
環境に以下が含まれていることを確認します。
可用性を維持するため、3 個以上のレプリカで内部ロードバランサーが実行されている。より新しいバージョンの Runtime Fabric では、内部ロードバランサーはデフォルトですべてのコントローラーノードで実行されます。
コントローラーノードに受信要求の負荷を分散するように外部ロードバランサーが設定されていて、TCP ポート 443 の状態チェックが設定されている。
1 個以上の追加のワーカーノード用の CPU およびメモリリソースをクラスターで使用できる。
これにより、ワーカーノードをクラスターから安全に削除して、アプリケーションの可用性に影響を及ぼすことなくアップグレードを適用できます。
インバウンド要求を処理するアプリケーションが 2 個以上のレプリカに拡大されている。
Runtime Fabric アラートをカスタマイズした場合、アプライアンスのアップグレードによってカスタマイズが上書きされます。変更の再作成の手順については、「メールアラートのコンテンツを変更する」を参照してください。
Runtime Fabric アプライアンスをアップグレードする手順は、次のとおりです。
Web ブラウザーを使用して、Runtime Manager に移動して [Runtime Fabric] タブを選択し、Runtime Fabric インスタンスのリストを表示します。
アップグレードする Runtime Fabric インスタンスを選択します。
アプライアンスバージョンの横にある [Upgrade Available (使用可能なインスタンスをアップグレード)] をクリックします。
[Installer package (インストーラーパッケージ)] の横にある [Copy Link (リンクをコピー)] アイコンを選択して、次の例のようにコードスニペットをコピーします。
rtfctl appliance upgrade --url https://<upgrade-package-information>
コードスニペットをテキストエディターに貼り付けて参照します。
アップグレードが完了するまで 1 時間以上かかる可能性があります。
アップグレード手順中に Runtime Fabric と Runtime Manager 間の接続が複数回切断される可能性があります。アップグレードが完了すると、接続は復元されます。
このアップグレード手順は、一度に 1 つのノードに変更を適用してデプロイ済みアプリケーションの実行を維持し、デプロイ済みアプリケーションが要求を継続的に処理できるように設計されています。
アップグレードを適用するノードが手順により選択されます。
選択されたノードで実行されているアプリケーションが別のノードに再デプロイされます。
選択されたノードがクラスターから削除されます。
選択されたノードでアップグレードが適用されます。
アップグレード後、選択されたノードがクラスターに追加されます。
アップグレードを実行する手順は、次のとおりです。
コントローラーノード上で開いているターミナルを使用して、ルートユーザーに切り替えます。
ステップ 5 の「Runtime Fabric アプライアンスをアップグレードする」でコピーしたコマンドを貼り付けます。
sudo /opt/anypoint/runtimefabric/rtfctl appliance upgrade --url <cluster-installer-url>
アップグレードがバックグラウンドで実行されていることを示す確認が表示されます。
ノードで sudo gravity status
を実行し、クラスターの状況が [updating (更新中)] であることを確認します。
アップグレード手順の進捗状況を監視するには、コントローラーノードでターミナルを使用して、次のコマンドを実行します。
sudo /opt/anypoint/runtimefabric/installer/gravity plan
アップグレードが正常に完了したことを確認するには、次のコマンドを実行します。
sudo gravity status
クラスターの状況が [Updating (更新中)] から [Active (アクティブ)] に移行したことを確認します。
アップグレード前の Runtime Fabric クラスターバージョンが 1.0.x であり、HTTP プロキシを使用している場合、次のコマンドを使用して HTTP プロキシ設定を適用します。
sudo ./rtfctl apply http-proxy --confirm existing
すべてのノードで次の手順を実行し、システム設定が最新であることを確認します。
Runtime Fabric コントローラーまたはワーカーノードのターミナルを開きます。
rtfctl
で apply system-configurations
コマンドを実行します。
sudo ./rtfctl apply system-configuration --force
または、EU コントロールプレーンを使用している場合は、次のコマンドを実行します。
sudo ./rtfctl apply system-configuration --force --control-plane eu
ワーカーノードで
この警告は無視しても問題ありません。 |
Runtime Fabric アプライアンスおよびコンポーネントをアップグレードしたら、Runtime Fabric でデプロイされた Mule アプリケーションを最新の日付のパッチバージョンに更新します。
Web ブラウザーを使用して、Runtime Manager の [Applications (アプリケーション)] タブに移動します。
アプリケーションを選択し、[Manage Application (アプリケーションを管理)] を選択します。
[Runtime version (Runtime バージョン)] 項目の値で更新が使用可能であることを示されていることを確認し、選択します。
[Deploy (デプロイ)] を選択し、更新された Mule Runtime Engine バージョンでアプリケーションを再デプロイします。
この Runtime Fabric インスタンスで実行されている各アプリケーションでこれを繰り返します。
アプライアンス (インストーラーパッケージ) のアップグレードが失敗した場合、アップグレードを再開します。
再開したアップグレードはターミナルセッションに接続されるため、アップグレードを再開する前に、安定した接続があることを確認します。
アップグレードを開始するために使用したコントローラーノード上で開いているターミナルで、次の例のように、インストーラーバンドルファイルを含むディレクトリに移動します。
cd /opt/anypoint/runtimefabric/installer
アップグレードを再開するには、次のコマンドを実行します。
sudo /opt/anypoint/runtimefabric/installer/gravity upgrade --resume
アップグレード手順の出力がターミナルセッションにストリーミングされます。以前のエラーが再度発生した場合、次のセクションで説明されているトラブルシューティング手順を実行します。
Runtime Fabric をアップグレードしようとしたときにアップグレードエラーが発生した場合、次のようにトラブルシューティングしてください。
Runtime Fabric コンポーネントを v1.11 以降にアップグレードする場合は、ネットワークテスト中に次のエラーが発生することがあります。
mTLS handshake error: check certs
このエラーは、証明書が最新でない場合に発生する可能性があります。証明書を更新して、アップグレードをもう一度実行してください。
ConnectionRefused:check port’s open
このエラーは、必要なアウトバウンドポートがクラスターで使用できない場合に発生します。Runtime Fabric コンポーネントのアップグレード手順を確認し、必要なポートを使用可能にしたことを確認してください。
Connection timed out
このエラーは、必要なエンドポイントがクラスターで許可リストに登録されていない場合に発生します。Runtime Fabric コンポーネントのアップグレード手順を確認し、必要なエンドポイントを許可リストに登録したことを確認してください。
ネットワークテストに 5 分以上かかる
ネットワークの問題やローカルホストネットワークの問題のために必要な Docker イメージの取得に時間がかかりすぎると、タイムアウトが発生する場合があります。
アプライアンス (インストーラーパッケージ) のアップグレード中は特定の順序の一連の手順が実行されます。エラーが発生した場合、アップグレードは一時停止し、エラーが表示されます。ほとんどの場合、本番の Runtime Fabric 設定で各アプリケーションの複数のレプリカを実行しているときは、実行中のアプリケーションの可用性に影響はありません。
ほとんどのエラーは、コントローラーノードで実行されている etcd
ブロックデバイスのディスクパフォーマンスが不十分であることが原因で発生します。
コマンドエラーを解決するには、次の手順を実行します。
gravity plan
コマンドを使用して、アップグレードが一時停止したフェーズを特定します。
sudo /opt/anypoint/runtimefabric/installer/gravity plan
次の部分的なリストは、アップグレードフェーズの例を示しています。
* init * checks * bootstrap * node-1 * masters * node-1 * drain * system-upgrade * taint ... * runtime * rbac-app * site * kubernetes * app * telekube
エラーが発生したフェーズと --debug
フラグを使用してアップグレードを再開します。
次の例では、masters/node-1/drain
フェーズを再起動することでアップグレードを再開します。
sudo /opt/anypoint/runtimefabric/installer/gravity upgrade --phase=/masters/node-1/drain --force --debug
コマンドが実行されるまで待機します。コマンドがエラーで終了しない場合、次のコマンドを使用してアップグレードを再開します。
sudo /opt/anypoint/runtimefabric/installer/gravity plan resume
アップグレードがエラーで再度終了した場合、次の手順を実行します。
ログを参照して、修正が必要なノードを特定します。
詳細なサポートが必要な場合は、MuleSoft サポートにチケットを申請してください。
エラーログで特定した Runtime Fabric ノードの別のターミナルを開きます。
アップグレードを実行しているコントローラーノードで、失敗したフェーズを手動で実行します。
sudo /opt/anypoint/runtimefabric/installer/gravity plan execute --phase=< insert phase > --force --debug
このコマンドでエラーが返される場合は、数分待って上のステップを繰り返します。
トラブルシューティングの詳細は、 「How to Troubleshoot RTF Appliance Upgrade (RTF アプライアンスのアップグレードのトラブルシューティング方法)」を参照してください。
アップグレードの問題を解決できない場合、次のいずれかのオプションを使用してアップグレードをロールバックできます。
単一コマンドによる自動ロールバック
手動ロールバック
次のコマンドを実行します。
rtfctl appliance rollback
このオプションは、新しいアプライアンスバージョンでのみサポートされます。コマンド出力で rtfctl appliance rollback コマンドがサポートされないと表示された場合は、手動ロールバックを実行してください。
|
実行したアップグレードステップを手動でロールバックするには、次の手順を実行します。
gravity plan
コマンドを使用して、アップグレードがどのフェーズで一時停止したかを特定します。
sudo /opt/anypoint/runtimefabric/installer/gravity plan
次の部分的なリストは、アップグレードフェーズの例を示しています。
* init * checks * bootstrap * node-1 * masters * node-1 * drain * system-upgrade * taint ... * runtime * rbac-app * site * kubernetes * app * telekube
次の例のように、完了したステップを逆の順序でロールバックします。
$ sudo gravity plan rollback --phase=/masters/node-1/taint $ sudo gravity plan rollback --phase=/masters/node-1/system-upgrade $ sudo gravity plan rollback --phase=/masters/node-1/drain ...
一連のステップをロールバックする方法:
$ sudo /opt/anypoint/runtimefabric/installer/gravity plan rollback --phase=/masters
すべてのステップがロールバックされたら、計画の状況を更新し、完全にロールバック済みとしてアップグレードをマークします。
$ sudo gravity plan complete