Application Real-Time Monitoring Service (ARMS) は、アプリケーションの正常性を追跡するのに役立つ包括的なモニタリングを提供します。登録済みクラスターに ARMS モニタリングコンポーネントをインストールして、クラスター内で実行されているアプリケーションを監視できます。
前提条件
ACK One 登録済みクラスターが作成され、データセンター内の自己管理型 Kubernetes クラスターが ACK One 登録済みクラスターに接続されていること。 詳細については、「ACK One 登録済みクラスターの作成」をご参照ください。
ステップ1:ARMS コンポーネントのインストール
onectl の使用
-
ローカルマシンに onectl をインストールおよび設定します。詳細については、「onectl を使用した登録済みクラスターの管理」をご参照ください。
次のコマンドを実行して、ack-onepilot コンポーネントに RAM 権限を付与します。
onectl ram-user grant --addon ack-onepilot期待される出力:
Ram policy ack-one-registered-cluster-policy-ack-onepilot granted to ram user **** successfully.次のコマンドを実行して、ack-onepilot コンポーネントをインストールします。
onectl addon install ack-onepilot期待される出力:
Addon ack-onepilot, version **** installed.
コンソールの使用
RAM 権限を設定します。コンポーネントをインストールする前に、Alibaba Cloud サービスへのアクセス権限を付与する AccessKey を提供する必要があります。
カスタムポリシーを作成します。
ack-onepilotコンポーネントには、次のポリシーの権限が必要です。{ "Version": "1", "Statement": [ { "Action": "arms:*", "Resource": "*", "Effect": "Allow" }, { "Action": "cms:*", "Resource": "*", "Effect": "Allow" } ] }RAM ユーザーに権限を付与します。前の手順で作成したカスタムポリシーを RAM ユーザーにアタッチします。
- 警告
AccessKey のセキュリティを強化するために、ネットワークアクセス制御用に AccessKey ペアベースのポリシーを構成し、AccessKey の呼び出し元を信頼できるネットワーク環境に制限することをお勧めします。
AccessKey を使用して、
alibaba-addon-secretという名前の Secret を登録済みクラスターに作成します。次のコマンドを実行して、
ack-onepilotコンポーネントの Secret を作成します。説明コマンドを実行する前に、
access-key-idおよびaccess-key-secretパラメーターの値を、前の手順で作成した AccessKey ID と AccessKey Secret に置き換えてください。kubectl -n ack-onepilot create secret generic alibaba-addon-secret --from-literal='access-key-id=<お使いの AccessKey ID>' --from-literal='access-key-secret=<お使いの AccessKey Secret>'
ack-onepilotコンポーネントをインストールします。ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
アドオン管理 ページで、[インストール] タブをクリックし、[ack-onepilot] コンポーネントを見つけて選択し、[次へ] をクリックします。
画面の指示に従ってコンポーネントの設定を完了し、[次へ] をクリックします。
設定情報を確認し、[OK] をクリックします。
ステップ2:Java アプリケーションでの ARMS の有効化
Deployment YAML の spec.template.metadata.labels セクションに 3 つのラベルを追加して、ARMS モニタリングを有効にします。
labels:
armsPilotAutoEnable: "on"
armsPilotCreateAppName: "<your-deployment-name>" # をお使いのアプリケーション名に置き換えます。
aliyun.com/app-language: java ラベル | 値 | 説明 |
|
| Pod へのエージェントの自動インジェクションを有効にします |
|
| ARMS コンソールに表示されるアプリケーション名。お使いのアプリケーション名に置き換えてください。 |
|
| エージェントのアプリケーション言語を指定します |
既存の Deployment への label の適用
ACK コンソールにログインします。[クラスター] をクリックし、クラスター名をクリックします。
左側メニューで、[ワークロード] > [Deployment] を選択します。
[ステートレス] ページで、対象のアプリケーションの横にある [
] > [YAML の編集] をクリックします。spec.template.metadata.labelsに 3 つの label を追加し、[更新] をクリックします。
アプリケーションセキュリティの詳細については、「アプリケーションセキュリティとは」をご参照ください。
アプリケーションセキュリティの課金の詳細については、「課金」をご参照ください。
apiVersion: v1
kind: Namespace
metadata:
name: arms-demo
---
apiVersion: apps/v1 # 1.8.0 より前のバージョンの場合は apps/v1beta1 を使用します
kind: Deployment
metadata:
name: arms-springboot-demo
namespace: arms-demo
labels:
app: arms-springboot-demo
spec:
replicas: 2
selector:
matchLabels:
app: arms-springboot-demo
template:
metadata:
labels:
app: arms-springboot-demo
armsPilotAutoEnable: "on"
armsPilotCreateAppName: "arms-k8s-demo"
aliyun.com/app-language: java
spec:
containers:
- resources:[ステートレス] ページで、対象アプリケーションの [アクション] 列にある [] > [ARMS コンソール] をクリックして、アプリケーションのモニタリング詳細を表示します。
次のステップ
すべてのアプリケーションからのエージェントのアンインストール
onectl の使用
次のコマンドを実行して、ack-onepilot コンポーネントをアンインストールします。
onectl addon uninstall ack-onepilot期待される出力:
Addon ack-onepilot uninstalled.アプリケーション Pod を再起動して変更を適用します。
コンソールの使用
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
アドオン管理 ページで、[ack-onepilot] コンポーネントを見つけ、アンインストール をクリックします。
表示されたダイアログボックスで、[アンインストール] をクリックします。
アプリケーション Pod を再起動して変更を適用します。
特定のアプリケーションでのエージェントのアンインストール