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コンポーネントをアップグレードします。
アプリケーションYAMLファイルのラベルフィールドを変更することにより、エージェントバージョンを指定します。この操作により、ARMSエージェントの自動アップグレードがオーバーライドされ、指定されたバージョンのエージェントが使用されるようになります。
ARMSコンソールにログオンします。左側のナビゲーションペインで、 を選択して、利用可能なオンラインエージェントバージョンを表示します。最新バージョンを選択することをお勧めします。
エージェントオンラインステータスタブで、アプリケーションの現在のエージェントバージョンを確認し、必要に応じてロールバックします。
アプリケーションのエージェントバージョンを指定します。
説明方法1と方法2、または方法1と方法3の両方を使用する場合、方法2または方法3で指定されたバージョンは、方法1で指定されたバージョンよりも優先されます。
方法1:アプリケーションYAMLファイルを修正します。
labels
フィールドの下に「aliyun.com/agent-version
: エージェントバージョン」を追加し、更新をクリックします。アプリケーションは自動的に再起動して変更を適用します。この変更は、現在のアプリケーションにのみ有効です。他のアプリケーションの場合は、それに応じてYAMLファイルを修正する必要があります。
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を参照してください。
他のアプリケーションのエージェントをアップグレードする前に、テスト環境で指定されたエージェントバージョンを確認します。
新しいエージェントバージョンで問題が発生した場合は、手順3の操作を実行して、エージェントバージョンをロールバックできます。
ソリューション2:テクニカルサポートに連絡してエージェントバージョンを指定する
ack-onepilotのバージョンが3.0.17より前である場合、またはYAMLファイルを手動で変更するために大きなワークロードが必要な場合は、オンラインバージョンロック機能を使用して、古いバージョンまたはまもなくサポートされなくなるバージョンから最新バージョンにエージェントをアップグレードできます。
テスト環境でアップグレードを確認するアプリケーションを選択します。ARMSテクニカルサポートに連絡して、アプリケーションのロックされたエージェントバージョンを最新バージョンにアップグレードします。アップグレードが完了したら、アプリケーションを再起動してアップグレードを確認します。
新しいバージョンがテスト環境で検証されたら、ARMSテクニカルサポートに連絡して、アップグレードが必要なクラスターのロックされたエージェントを一括アップグレードします。新しいオンラインバージョンが有効になったら、アプリケーションを一括して再起動します。