Link Agentは自動的に最新の状態に保たれますが、Link Agentを実行しているホストには、パッチ適用、再起動、そして時折の構成変更が必要です。この記事では、テストを中断せずにLink Agentをサービスから外す方法、アップデートのインストールとロールバックの方法、そしてエージェントの実行中にトンネルを変更する方法について説明します。
メンテナンスモードでエージェントをサービスから外す
メンテナンスモードは、Link Agentの処理を完了させます(ドレイン)。エージェントは新しい接続の受け付けを停止し、現在の接続を完了させるため、すでにそのエージェントを通じて実行中のテストは正常に完了します。エージェントのホストにパッチを適用する、再起動する、または廃止する前に使用してください。
メンテナンス中もエージェントは実行を続け、自動的にシャットダウンすることはありません。準備ができたら、メンテナンスを終了してエージェントをサービスに戻すか、シャットダウンしてください。
同じトンネルを他のエージェントが提供している場合、このエージェントの処理が完了するまでの間、新しい接続はそれらのエージェントに送られます。トンネル上の唯一のエージェントである場合、メンテナンス中に開始されたテストはアプリケーションにアクセスできないため、テストが実行されない時間帯にメンテナンスを予定してください。
mablアプリから
- Settings > Networkingに移動します。会社トンネルの場合は、会社ダッシュボードのNetworkingページを開きます。
- リンクエージェントテーブルで、エージェントの管理するメニューを開き、メンテナンスを開始を選択します。
- メンテナンスを開始で確定します。
接続が完了するまでの間、エージェントのステータスは完了処理中に変わり、アクティブなセッションがなくなると処理完了になります。処理が完了すれば、安全にシャットダウンできます。エージェントをサービスに戻すには、管理する > メンテナンスを終了しますを選択します。
ワークスペーストンネルのエージェントを管理できるのはワークスペースの所有者のみ、会社トンネルのエージェントを管理できるのはアカウント管理者のみです。
mabl CLIから
mabl link-agents maintenance start {agent-id}
mabl link-agents maintenance end {agent-id}
デフォルトでは、エージェントは接続が完了するまで待機し続けます。待機時間を制限するには、maintenance startに--drain-timeout {seconds}を追加します。エージェントIDは、mabl link-agents listまたはSettings > Networkingで確認できます。
メンテナンスモードには、Link Agentバージョン3.0以降が必要です。メンテナンスの開始と終了は、アクティビティフィードに記録されます。
複数のエージェントを持つトンネルのローリングメンテナンス
テストを中断せずにトンネルのすべてのホストにパッチを適用するには、エージェントを1つずつ順番に処理します。
- 1つのエージェントをメンテナンスモードにし、処理完了と表示されるまで待ちます。
- そのホストにパッチを適用するか、再起動します。
- メンテナンスを終了するか、シャットダウンした場合はエージェントを再度起動し、接続済みと表示されることを確認します。
- 次のエージェントで繰り返します。
アップデートのインストールの仕組み
Link Agentは新しいバージョンを確認し、自動的にインストールします。新しいバージョンは、実行中のバージョンに上書きするのではなく、その隣にインストールされます。アップデートが中断された場合、エージェントはそれまでのバージョンで実行を続け、以前のバージョンはディスク上に残るため、いつでも戻すことができます。
アップデートのインストール中、エージェントは古い側の接続が完了するまでの短い間、古いバージョンと新しいバージョンで並行してトンネルを実行します。この重複を見込んでホストのメモリを計画してください。Link Agentのサイジングとスケーリングを参照してください。
Settings > Networkingでは、利用可能なアップデートがありますの件数に、新しいリリースが利用可能なエージェントの数が表示され、バージョン列には各エージェントがアップデートできるバージョンが示されます。
今すぐアップデートをインストールする
待たずに最新バージョンをインストールするには、Link Agentのディレクトリから次のコマンドを実行します。
bin/link-agent --update
このコマンドは最新バージョンをインストールし、実行した内容を報告して終了します。新しいバージョンを実行するには、エージェントを再起動してください。
Dockerイメージの場合は、代わりに新しいイメージをプルしてコンテナを再起動します。Dockerを用いたLinkの使用方法を参照してください。
アップデートをロールバックする
新しいバージョンで問題が発生した場合は、Link Agentのbinディレクトリにあるversionsスクリプトで以前のバージョンに戻します。このスクリプトはエージェントの起動を必要としないため、新しいバージョンが起動しない場合でも動作します。
# List installed versions, marking the one that runs
bin/versions.sh --list
# Go back to the previous version
bin/versions.sh --rollback
# Run a specific installed version
bin/versions.sh --set {version}
bin\versions.bat --list
bin\versions.bat --rollback
bin\versions.bat --set {version}
選択したバージョンを実行するには、その後Link Agentを再起動してください。また、今後のリリースで修正できるよう、問題についてmablにお知らせください。
自動アップデートをオフにする
アップデートをインストールするタイミングを制御するには、Link Agent構成ファイルでdisableAutoUpdatesをtrueに設定します。自動アップデートがオフの場合は、bin/link-agent --updateでご自身でアップデートをインストールしてください。古いバージョンには修正や新しい機能が含まれないため、エージェントは最新の状態に保ってください。
再起動せずにトンネルを変更する
構成ファイルを指定して起動したLink Agentは、そのファイルを監視し、実行中に変更を適用します。
- 追加したトンネルは、すぐに接続されます。
- 削除したトンネルは、新しい接続の受け付けを停止し、現在の接続を完了させるため、実行中のテストは中断されません。その後、エージェントをシャットダウンするか、mablアプリでトンネルを削除するまで待機します。
- プロキシ設定と接続フィルターの変更は、実行中のトンネルに適用されます。
編集したファイルを読み取れない場合や無効な設定が含まれている場合、Link Agentは問題をログに記録し、以前の構成で実行を続けます。監視をオフにするには、--no-config-reloadを付けてエージェントを起動します。
ワークスペーストンネルを会社に移行する場合も、同じ仕組みで動作します。会社スコープのLinkトンネルを参照してください。
エージェントの保守担当者を記録する
構成ファイルのpointOfContactに、組織内でそのエージェントを保守する担当者またはチームを、メールアドレスやチーム名などで設定します。
pointOfContact: qa-platform-team@example.com
tunnels:
- apiKey: {your-api-key}
name: qa-env-01
連絡先はSettings > Networkingのエージェントの詳細に表示されるため、エージェントの問題に気づいた人が誰に連絡すればよいかを把握できます。
エージェントを正常に停止する
Ctrl-CでLink Agentを停止した場合や、サービスマネージャーがエージェントを停止した場合、エージェントは処理中の接続を完了させてから終了します。待機をやめてすぐに終了するには、Ctrl-Cをもう一度押します。
エージェントを完全に停止してmablから削除するには、mabl Linkトンネルの削除を参照してください。