Azure Arc 対応 Kubernetes クラスター用の Azure Monitor Container Insights

Azure Monitor Container Insights を使用すると、Azure Arc 対応 Kubernetes クラスターの監視エクスペリエンスを充実させることができます。

サポートされている構成

  • Azure Monitor Container Insights では、「概要」の記事で説明されているように Azure Arc 対応 Kubernetes の監視がサポートされます。ただし、ライブ データ機能は除きます。 また、ユーザーには、メトリックを有効にするための所有者権限は必要ありません。
  • DockerMoby、CRI 互換コンテナー ランタイム (CRI-Ocontainerdなど)。
  • 認証なしの送信プロキシと基本認証を使用した送信プロキシがサポートされます。 現時点では、信頼できる証明書が必要な送信プロキシはサポートされていません。

Note

Azure Red Hat OpenShift v4.x 用 Container Insights から移行する場合は、インストールの問題を避けるために、必ず監視を無効にしてから、Azure Arc 対応 Kubernetes 用 Container Insights の構成に進んでください。

前提条件

  • 汎用クラスターの拡張機能のドキュメントに記載されている前提条件を満たしていること。

  • Log Analytics ワークスペース: Azure Monitor Container Insights では、リージョン別の Azure 製品のページに記載されているリージョンで Log Analytics ワークスペースがサポートされます。 Azure Resource ManagerPowerShell、または Azure portal を使用して独自のワークスペースを作成できます。

  • Azure Arc 対応 Kubernetes リソースを含む Azure サブスクリプションで、共同作成者ロール割り当てが必要です。 Log Analytics ワークスペースが別のサブスクリプションに含まれる場合、その Log Analytics ワークスペースで、Log Analytics 共同作成者ロール割り当てが必要です。

  • 監視データを表示するために、Log Analytics ワークスペースで、Log Analytics 閲覧者ロール割り当てが必要です。

  • 送信アクセスのために、「Kubernetes クラスターを Azure Arc に接続する」で示されているエンドポイントに加えて、下記に示すものも有効にする必要があります。

    エンドポイント Port
    *.ods.opinsights.azure.com 443
    *.oms.opinsights.azure.com 443
    dc.services.visualstudio.com 443
    *.monitoring.azure.com 443
    login.microsoftonline.com 443

    Azure Arc 対応 Kubernetes リソースが Azure US Government 環境にある場合、送信アクセスのために次のエンドポイントを有効にする必要があります。

    エンドポイント Port
    *.ods.opinsights.azure.us 443
    *.oms.opinsights.azure.us 443
    dc.services.visualstudio.com 443
  • 以前に、クラスター拡張機能のないスクリプトを使用してこのクラスターに Azure Monitor Container Insights をデプロイした場合、こちらの指示に従って、この Helm チャートを削除してください。 その後、Azure Monitor Container Insights のクラスター拡張機能インスタンスの作成を続行できます。

ワークスペースのリソース ID の特定

次のコマンドを実行して、Log Analytics ワークスペースの完全な Azure Resource Manager ID を見つけます。

  1. 次のコマンドを使用して、アクセス権のあるすべてのサブスクリプションを一覧表示します。

    az account list --all -o table
    
  2. 次のコマンドを使用して、Log Analytics ワークスペースをホストしているサブスクリプションに切り替えます。

    az account set -s <subscriptionId of the workspace>
    
  3. 次の例では、既定の JSON 形式で、サブスクリプション内のワークスペースの一覧が表示されます。

    az resource list --resource-type Microsoft.OperationalInsights/workspaces -o json
    

    出力で、目的のワークスペース名を見つけます。 その id フィールドが、その Log Analytics ワークスペースの Azure Resource Manager ID を表します。

    ヒント

    この id は、Azure portal の Log Analytics ワークスペースの [概要] ブレードでも見つけることができます。

Azure CLI を使用して拡張機能インスタンスを作成する

オプション 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

オプション 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  omsagent.resources.daemonset.limits.cpu=150m omsagent.resources.daemonset.limits.memory=600Mi omsagent.resources.deployment.limits.cpu=1 omsagent.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 omsagent.logsettings.custommountpath=/home/data/docker

Note

create コマンドでインストールする拡張機能のバージョンを明示的に指定する場合、指定するバージョンが 2.8.2 以上であることを確認してください。

Azure portal を使用して拡張機能インスタンスを作成する

重要

Azure Stack Edge 上で実行されている Kubernetes クラスターに Azure Monitor をデプロイする場合、これらのクラスターに対してカスタム マウント パスを設定する必要があるため、Azure portal オプションの代わりに Azure CLI オプションに従う必要があります。

Azure Arc 対応 Kubernetes リソース ブレードからのオンボード

  1. Azure portal で、監視する Azure Arc 対応 Kubernetes クラスターを選択します。

  2. リソース ブレードの [監視] セクションの下にある [Insights] 項目を選択します。

  3. オンボード ページで、[Azure Monitor の構成] ボタンを選択します。

  4. これで、メトリックとログ データの送信先の Log Analytics ワークスペースを選択できます。

  5. [構成] ボタンを選択して、Azure Monitor Container Insights クラスター拡張機能をデプロイします。

Azure Monitor ブレードからのオンボード

  1. Azure portal で、[Monitor] ブレードに移動し、[Insights] メニューの [コンテナー] オプションを選択します。

  2. [監視対象外のクラスター] タブを選択して、監視を有効にできる Azure Arc 対応 Kubernetes クラスターを表示します。

  3. 監視を有効にするクラスターの横にある [有効化] リンクをクリックします。

  4. Log Analytics ワークスペースを選択し、[構成] ボタンを選択して続行します。

Azure Resource Manager を使用して拡張機能インスタンスを作成する

  1. Azure Resource Manager テンプレートとパラメーターをダウンロードします。

    curl -L https://aka.ms/arc-k8s-azmon-extension-arm-template -o arc-k8s-azmon-extension-arm-template.json
    curl -L https://aka.ms/arc-k8s-azmon-extension-arm-template-params -o  arc-k8s-azmon-extension-arm-template-params.json
    
  2. arc-k8s-azmon-extension-arm-template-params.json ファイル内のパラメーター値を更新します。 Azure パブリック クラウドの場合は、workspaceDomain の値として opinsights.azure.com を使用する必要があり、AzureUSGovernment では、workspaceDomain の値として opinsights.azure.us を使用する必要があります。

  3. テンプレートをデプロイして Azure Monitor Container Insights 拡張機能を作成します。

    az login
    az account set --subscription "Subscription Name"
    az deployment group create --resource-group <resource-group> --template-file ./arc-k8s-azmon-extension-arm-template.json --parameters @./arc-k8s-azmon-extension-arm-template-params.json
    

拡張機能のインストール状態を確認する

Azure Arc 対応 Kubernetes クラスターの Azure Monitor 拡張機能を正常に作成したら、Azure portal または CLI を使用して、インストールの状態をさらに確認できます。 インストールが成功すると、状態が [インストール済み] と表示されます。 状態が [失敗] と表示されているか、長時間にわたって "保留中" 状態のままになっている場合は、以下のトラブルシューティングのセクションに進んでください。

Azure portal

  1. Azure portal で、拡張機能がインストールされている Azure Arc 対応 Kubernetes クラスターを選択します。
  2. リソース ブレードの [設定] セクションの [拡張機能] 項目を選択します。
  3. 'azuremonitor-containers' という名前の拡張子が表示され、[インストールの状態] 列に状態が表示されます。

Azure CLI

次のコマンドを実行して、Microsoft.AzureMonitor.Containers 拡張機能の最新の状態を表示します。

az k8s-extension show --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters -n azuremonitor-containers

拡張機能インスタンスを削除する

次のコマンドでは、拡張機能インスタンスのみが削除され、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 ブレードに、クラスターの状態に関する誤った情報が表示される場合があります。

トラブルシューティング

監視を有効にする際の問題については、問題の診断に役立つトラブルシューティング スクリプトを用意しました。

次のステップ