サイドカー シナリオでは、単一の Pod で複数のコンテナを実行でき、それぞれのコンテナには異なるプログラミング言語で書かれたアプリケーションが含まれます。このトピックでは、ack-onepilot コンポーネントを使用して、これらのポリグロット アプリケーションをインストルメントする方法について説明します。
前提条件
ack-onepilot のバージョンが 4.2.0 以降であること。
操作手順
-
次のいずれかのトピックを参照して、ack-onepilot をインストールし、必要なリソース アクセス権限を付与します。
-
ワークロードに必要なラベルを追加します。
上記の YAML では、
test-java、test-go、test-pythonという 3 つの個別のコンテナで Java、Go、Python を使用するアプリケーションを定義しています。監視データを分離するには、各コンテナをインストルメントして、個別の ARMS アプリケーションにデータを送信するように設定します。次の手順に従ってください。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
-
ステータスなし ページで、対象のアプリケーションを見つけ、操作列で を選択します。
新しいアプリケーションを作成するには、[YAML から作成] をクリックします。
-
YAML ファイルの
spec.template.metadataセクションに次のlabelsを追加してから、更新 をクリックします。labels: # ${containerName} を実際のコンテナ名に置き換えてください。 apsara.apm/container.${containerName}.app-language: java # コンテナの実際のプログラミング言語に置き換えてください。 apsara.apm/container.${containerName}.armsPilotAutoEnable: 'on' apsara.apm/container.${containerName}.armsPilotCreateAppName: "<your-deployment-name>" # <your-deployment-name> をアプリケーション名に置き換えてください。
-
お使いのアプリケーションがARMS コンソールのページに表示され、データが報告されていれば、インストルメンテーションは成功です。
検索ボックスに
multilanguage-と入力して、multilanguage-go、multilanguage-java、multilanguage-python の 3 つのアプリケーションをフィルタリングします。
> [YAML の編集]