すべてのプロダクト
Search
ドキュメントセンター

:エージェントバージョンの制御

最終更新日:Dec 30, 2024

Kubernetesクラスターでは、ack-onepilotコンポーネントはApplication Real-Time Monitoring Service (ARMS) エージェントの自動アップグレードを有効にします。エージェントを最新バージョンに自動的にアップグレードしたくない場合は、エージェントのバージョンをロックできます。これにより、すべてのアプリケーションのエージェントを段階的にアップグレードする前に、テスト環境で新しいエージェントバージョンを確認できます。

ソリューション1(推奨):エージェントバージョンを手動で指定する

必要なack-onepilotバージョン

ack-onepilotのバージョンは3.0.17以降である必要があります。

Container Service for Kubernetes (ACK) クラスターのack-onepilotバージョンを表示するには、ACKコンソールの[クラスター]ページに移動し、クラスターの[アクション]列の[詳細]をクリックし、操作 > コンポーネントの管理を選択します。バージョンが要件を満たしていない場合は、アップグレードをクリックしてack-onepilotコンポーネントをアップグレードします。

image

アプリケーションYAMLファイルのラベルフィールドを変更することにより、エージェントバージョンを指定します。この操作により、ARMSエージェントの自動アップグレードがオーバーライドされ、指定されたバージョンのエージェントが使用されるようになります。

  1. ARMSコンソールにログオンします。左側のナビゲーションペインで、アプリケーション監視 > エージェント管理 > エージェントリリースノートを選択して、利用可能なオンラインエージェントバージョンを表示します。最新バージョンを選択することをお勧めします。

    image

  2. エージェントオンラインステータスタブで、アプリケーションの現在のエージェントバージョンを確認し、必要に応じてロールバックします。

  3. アプリケーションのエージェントバージョンを指定します。

    説明

    方法1と方法2、または方法1と方法3の両方を使用する場合、方法2または方法3で指定されたバージョンは、方法1で指定されたバージョンよりも優先されます。

    • 方法1:アプリケーションYAMLファイルを修正します。labelsフィールドの下に「aliyun.com/agent-version: エージェントバージョン」を追加し、更新をクリックします。アプリケーションは自動的に再起動して変更を適用します。

      この変更は、現在のアプリケーションにのみ有効です。他のアプリケーションの場合は、それに応じてYAMLファイルを修正する必要があります。

      image

      ack-onepilotコンポーネントがV3.3.0以降の場合は、aliyun.com/agent-versionの下に次のラベルを追加することで、段階的な更新モードでエージェントバージョンを制御できます。

      aliyun.com/enable-progressive-update: 'true'
      説明
      • 段階的な更新モードでACKクラスターにワークロード(DeploymentまたはStateSet)を再デプロイすると、1~2個のインスタンスのエージェントのみがaliyun.com/agent-versionで指定されたバージョンに更新されます。他のインスタンスにインストールされているエージェントのバージョンは変更されません。

      • アプリケーションワークロードに3つ未満のレプリカが含まれている場合、段階的な更新は有効になりません。エージェントバージョンを指定しても、すべてのレプリカは指定されたバージョンに更新されません。この場合は、ワークロードの段階的な更新を有効にしないことをお勧めします。

    • 方法2:Enterprise Distributed Application Service (EDAS) コンソールでKubernetesクラスターにアプリケーションをデプロイする場合、詳細設定タブの監視およびガバナンス設定セクションでエージェントバージョンを指定できます。

      説明

      利用可能なエージェントバージョンを調整するには、EDASテクニカルサポートにお問い合わせください。

    • 方法3:EDAS APIのInsertK8sApplicationまたはDeployK8sApplication操作を呼び出すことによってKubernetesクラスターでアプリケーションが作成またはデプロイされる場合、CustomAgentVersionパラメーターを使用してアプリケーションのエージェントバージョンを指定できます。詳細については、DeployK8sApplicationを参照してください。

  4. 他のアプリケーションのエージェントをアップグレードする前に、テスト環境で指定されたエージェントバージョンを確認します。

    新しいエージェントバージョンで問題が発生した場合は、手順3の操作を実行して、エージェントバージョンをロールバックできます。

ソリューション2:テクニカルサポートに連絡してエージェントバージョンを指定する

ack-onepilotのバージョンが3.0.17より前である場合、またはYAMLファイルを手動で変更するために大きなワークロードが必要な場合は、オンラインバージョンロック機能を使用して、古いバージョンまたはまもなくサポートされなくなるバージョンから最新バージョンにエージェントをアップグレードできます。

  • テスト環境でアップグレードを確認するアプリケーションを選択します。ARMSテクニカルサポートに連絡して、アプリケーションのロックされたエージェントバージョンを最新バージョンにアップグレードします。アップグレードが完了したら、アプリケーションを再起動してアップグレードを確認します。

  • 新しいバージョンがテスト環境で検証されたら、ARMSテクニカルサポートに連絡して、アップグレードが必要なクラスターのロックされたエージェントを一括アップグレードします。新しいオンラインバージョンが有効になったら、アプリケーションを一括して再起動します。