Azure Arc 対応 Kubernetes クラスター用の Azure Monitor Container Insights
Azure Monitor Container Insights を使用すると、Azure Arc 対応 Kubernetes クラスターの監視エクスペリエンスを充実させることができます。
サポートされている構成
- Azure Monitor Container Insights では、「概要」の記事で説明されているように Azure Arc 対応 Kubernetes の監視がサポートされます。ただし、ライブ データ機能は除きます。 また、ユーザーには、メトリックを有効にするための所有者権限は必要ありません。
Docker
、Moby
、CRI 互換コンテナー ランタイム (CRI-O
、containerd
など)。- 認証なしの送信プロキシと基本認証を使用した送信プロキシがサポートされます。 現時点では、信頼できる証明書が必要な送信プロキシはサポートされていません。
Note
Azure Red Hat OpenShift v4.x 用 Container Insights から移行する場合は、インストールの問題を避けるために、必ず監視を無効にしてから、Azure Arc 対応 Kubernetes 用 Container Insights の構成に進んでください。
前提条件
汎用クラスター拡張機能のドキュメントに記載されている前提条件。
Log Analytics ワークスペース。 Azure の、リージョン別の製品ページに記載されているリージョンでは、Azure Monitor Container Insights によって Log Analytics ワークスペースがサポートされます。 Azure Resource Manager、PowerShell、または Azure portal を使用して、独自のワークスペースを作成できます。
Azure Arc 対応 Kubernetes リソースが含まれる Azure サブスクリプションでの共同作成者ロールの割り当て。 Log Analytics ワークスペースが別のサブスクリプションに含まれる場合、その Log Analytics ワークスペースを含むリソース グループで、Log Analytics 共同作成者ロール割り当てが必要です
監視データを表示するために、Log Analytics ワークスペースで、Log Analytics 閲覧者ロール割り当てが必要です。
送信アクセスのためには、Azure Arc 対応 Kubernetes ネットワークの要件に加えて、以下のエンドポイントを有効にする必要があります。
Azure パブリック クラウド
エンドポイント Port *.ods.opinsights.azure.com
443 *.oms.opinsights.azure.com
443 dc.services.visualstudio.com
443 *.monitoring.azure.com
443 login.microsoftonline.com
443 次の表に、マネージド ID 認証に必要な追加のファイアウォール構成を示します。
エージェントのリソース 目的 Port global.handler.control.monitor.azure.com
[アクセス制御サービス] 443 <cluster-region-name>.handler.control.monitor.azure.com
特定の AKS クラスターのデータ収集規則をフェッチする 443 Azure Government クラウド
Azure Arc 対応 Kubernetes リソースが Azure US Government 環境にある場合、送信アクセスのために次のエンドポイントを有効にする必要があります。
エンドポイント Port *.ods.opinsights.azure.us
443 *.oms.opinsights.azure.us
443 dc.services.visualstudio.com
443 次の表に、マネージド ID 認証に必要な追加のファイアウォール構成を示します。
エージェントのリソース 目的 Port global.handler.control.monitor.azure.cn
[アクセス制御サービス] 443 <cluster-region-name>.handler.control.monitor.azure.cn
特定の AKS クラスターのデータ収集規則をフェッチする 443 AKS で Arc 対応クラスターを使用していて、以前に AKS の監視がインストールされている場合は、拡張機能のインストール中に問題を回避するため、続ける前に、監視を無効 にしていることを確認してください
以前に、クラスター拡張機能のないスクリプトを使用してこのクラスターに Azure Monitor Container Insights をデプロイした場合、こちらの指示に従って、この Helm チャートを削除してください。 その後、Azure Monitor Container Insights のクラスター拡張機能インスタンスの作成を続行できます。
ワークスペースのリソース ID の特定
次のコマンドを実行して、Log Analytics ワークスペースの完全な Azure Resource Manager ID を見つけます。
次のコマンドを使用して、アクセス権のあるすべてのサブスクリプションを一覧表示します。
az account list --all -o table
次のコマンドを使用して、Log Analytics ワークスペースをホストしているサブスクリプションに切り替えます。
az account set -s <subscriptionId of the workspace>
次の例では、既定の JSON 形式で、サブスクリプション内のワークスペースの一覧が表示されます。
az resource list --resource-type Microsoft.OperationalInsights/workspaces -o json
出力で、目的のワークスペース名を見つけます。 その
id
フィールドが、その Log Analytics ワークスペースの Azure Resource Manager ID を表します。ヒント
この
id
は、Azure portal の Log Analytics ワークスペースの [概要] ペインでも見つけることができます。
拡張機能インスタンスの作成
オプション 1 - 既定値を使用
このオプションでは、次の既定値が使用されます。
- クラスターのリージョンに対応する既定の Log Analytics ワークスペースを作成または使用します
- Azure Monitor クラスター拡張機能に対して自動アップグレードが有効化されます
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers
マネージド ID 認証 (プレビュー) を使用するには、次のように configuration-settings
パラメーターを追加します。
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.useAADAuth=true
オプション 2 - 既存の Azure Log Analytics ワークスペースを使用
"共同作成者" またはより制限が少ないロール割り当てがある任意のサブスクリプションで、既存の Azure Log Analytics ワークスペースを使用できます。
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings logAnalyticsWorkspaceResourceID=<armResourceIdOfExistingWorkspace>
オプション 3 - 詳細な構成を使用
既定のリソース要求と制限を調整する場合、詳細な構成設定を使用できます。
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.resources.daemonset.limits.cpu=150m amalogs.resources.daemonset.limits.memory=600Mi amalogs.resources.deployment.limits.cpu=1 amalogs.resources.deployment.limits.memory=750Mi
使用可能な構成設定については、Helm チャートのリソース要求と制限に関するセクションを参照してください。
オプション 4 - Azure Stack Edge
Azure Arc 対応 Kubernetes クラスターが Azure Stack Edge にある場合は、カスタム マウント パス /home/data/docker
を使用する必要があります。
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.logsettings.custommountpath=/home/data/docker
オプション 5 - Azure Monitor Private Link スコープ (AMPLS) + プロキシを使用する
クラスターが転送プロキシで構成されている場合、プロキシ設定が拡張機能に自動的に適用されます。 AMPLS + プロキシを使用するクラスターの場合、プロキシ構成は無視する必要があります。 構成設定 amalogs.ignoreExtensionProxySettings=true
を使用して拡張機能をオンボードします。
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.ignoreExtensionProxySettings=true
Note
create コマンドでインストールする拡張機能のバージョンを明示的に指定する場合、指定するバージョンが 2.8.2 以上であることを確認してください。
拡張機能のインストール状態を確認する
Azure Arc 対応 Kubernetes クラスターの Azure Monitor 拡張機能を正常に作成したら、Azure portal または CLI を使用して、インストールの状態をさらに確認できます。 インストールが成功すると、状態が [インストール済み] と表示されます。 状態が [失敗] と表示されているか、長時間にわたって "保留中" 状態のままになっている場合は、以下のトラブルシューティングのセクションに進んでください。
- Azure portal で、拡張機能がインストールされている Azure Arc 対応 Kubernetes クラスターを選択します。
- 左側のリソース ペインで、[設定] セクションの下にある [拡張機能] 項目を選択します。
- 'azuremonitor-containers' という名前の拡張子が表示され、[インストールの状態] 列に状態が表示されます。
マネージド ID 認証 (プレビュー) に移行する
フロー ガイダンスを使用して、既存の拡張機能インスタンスをマネージド ID 認証 (プレビュー) に移行します。
最初に、Container insights の拡張機能用に構成された Log Analytics ワークスペースを取得します。
az k8s-extension show --name azuremonitor-containers --cluster-name \<cluster-name\> --resource-group \<resource-group\> --cluster-type connectedClusters -n azuremonitor-containers
最初の手順で返されたワークスペースを使用して、[マネージド ID の認証] オプションで Container insights の拡張機能を有効にします。
az k8s-extension create --name azuremonitor-containers --cluster-name \<cluster-name\> --resource-group \<resource-group\> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.useAADAuth=true logAnalyticsWorkspaceResourceID=\<workspace-resource-id\>
拡張機能インスタンスを削除する
次のコマンドでは、拡張機能インスタンスのみが削除され、Log Analytics ワークスペースは削除されません。 Log Analytics リソース内のデータはそのまま残ります。
az k8s-extension delete --name azuremonitor-containers --cluster-type connectedClusters --cluster-name <cluster-name> --resource-group <resource-group>
切断されたクラスター
クラスターが 48 時間よりも長く Azure から切断されると、Azure Resource Graph にはクラスターに関する情報がなくなります。 この結果、Insights ペインに、クラスターの状態に関する誤った情報が表示される場合があります。
トラブルシューティング
監視を有効にする際の問題については、問題の診断に役立つトラブルシューティング スクリプトを用意しました。
次のステップ
Azure Arc 対応 Kubernetes クラスターとそこで実行されるワークロードの正常性とリソース使用率を収集するための監視を有効にしたので、Container insights の使い方を確認します。
既定では、コンテナー化されたエージェントによって、kube-system を除くすべての名前空間で実行されているすべてのコンテナーの stdout および stderr コンテナー ログが収集されます。 特定の名前空間に固有のコンテナー ログ収集を構成するには、「コンテナーの Azure Monitor に対するエージェントのデータ収集を構成する」を参照して、ConfigMap 構成ファイルに必要なデータ収集設定を構成します。
クラスターから Prometheus メトリックをスクレイピングして分析するには、「Azure Monitor for containers で Prometheus メトリックのスクレーピングを構成する」を参照してください。