共用方式為


在 Azure 監視器中啟用 Kubernetes 監視的私人連結

Azure Private Link 可讓您使用私人端點,將 Azure 平台即服務 (PaaS) 資源存取至虛擬網路。 Azure 監視器私人連結範圍 (AMPLS) 會將私人端點連線至一組 Azure 監視器資源,以定義監視網路的界限。 針對受控 Prometheus/容器深入解析和 Azure 監視器工作區/Log Analytics 工作區使用私人端點,您即可讓虛擬網路 (VNet) 中的用戶端透過 Private Link 安全地擷取資料。

本文說明如何將叢集連線到現有的 Azure 監視器私人連結範圍 (AMPLS)。 如果您還沒有 AMPLS,請使用 設定 Azure 監視器的私人連結中的指引來建立 AMPLS。

受控 Prometheus (Azure 監視器工作區)

請遵循下列步驟,將 Prometheus 計量從私人 AKS 叢集擷取到 Azure 監視器工作區。

概念概觀

  • 私人端點是虛擬網路 (VNet) 中 Azure 服務的特殊網路介面。 當您為 Azure 監視器工作區建立私人端點時,它會在 VNet 和工作區上的客戶端之間提供安全的連線。 如需詳細資訊,請參閱 私人端點

  • Azure Private Link 可讓您使用私人端點,安全地將 Azure 平臺即服務 (PaaS) 資源連結至您的虛擬網路。 Azure 監視器會使用稱為 Azure 監視器私人連結範圍或 AMPLS 的單一私人連結連線,讓虛擬網路中的每個用戶端都能與 Log Analytics 工作區、Azure 監視器工作區等所有 Azure 監視器資源連線(而不是建立多個私人連結)。 如需詳細資訊,請參閱 Azure Monitor 私用連接範疇 (AMPLS)

圖表顯示透過私人連結擷取的概觀。

若要利用私有端點從虛擬網路中導入受管理的 Prometheus 指標至 Azure 監視器工作區,請遵循下列主要步驟:

  • 建立 Azure 監視器 Private Link 範圍 (AMPLS),並將其與 Azure 監視器工作區的數據收集端點連線。
  • 將 AMPLS 連線到私人 AKS 叢集虛擬網路所設定的私人端點。

先決條件

已啟用受控 Prometheus 的私人 AKS 叢集。 作為受控 Prometheus 啟用的一部分,您也有已設定的 Azure 監視器工作區。 如需詳細資訊,請參閱 在 AKS 中啟用 Managed Prometheus

設定從私人 AKS 叢集到 Azure 監視器工作區的資料擷取

1.建立 Azure 監視器工作區的 AMPLS

使用 Azure 受控 Prometheus 收集的指標會被引入並儲存到 Azure Monitor 工作區中,因此您必須透過私人連結來存取工作區。 為此,請建立 Azure 監視器私人連結範圍或 AMPLS。

  1. 在 Azure 入口網站中,搜尋 Azure Monitor Private Link Scopes,然後按一下建立

  2. 輸入資源群組和名稱,選擇 僅限私人資料擷取存取模式

    顯示 AMPLS 設定的螢幕快照。

  3. 按兩下 [檢閱 + 建立] 以建立 AMPLS。

如需設定 AMPLS 的詳細資訊,請參閱 設定 Azure 監視器的私人連結

2.將 AMPLS 連線至 Azure 監視器工作區的數據收集端點

用於受控 Prometheus 資料擷取的私人連結是在儲存資料 Azure 監視器工作區的資料收集端點 (DCE) 上設定。 若要識別與您的 Azure 監視器工作區相關聯的 DCE,請從 Azure 入口網站中的 Azure 監視器工作區選取 [數據收集端點]。

  1. 在 Azure 入口網站中,搜尋您在為私人 AKS 叢集啟用受控 Prometheus 時所建立的 Azure 監視器工作區。 記下資料收集端點名稱。

    顯示 Azure 監視器工作區之數據收集端點頁面的螢幕快照。

  2. 現在,在 Azure 入口網站中,搜尋您在上一個步驟中建立的 AMPLS。 移至 [AMPLS 概觀] 頁面,按兩下 [Azure 監視器資源],按兩下 [ 新增],然後連線您在上一個步驟中指出的 Azure 監視器工作區 DCE。

    顯示 DCE 與 AMPLS 連線的螢幕快照。

2a. 設定 DCE

附註

如果您的 AKS 叢集不在與 Azure 監視器工作區相同的區域中,則必須為 Azure 監視器工作區設定新的數據收集端點。

只有在您的 AKS 叢集不在與 Azure 監視器工作區相同的區域中時,才遵循下列步驟。 如果您的叢集位於相同的區域,請略過此步驟並移至步驟 3。

  1. 在與 AKS 叢集相同的區域中建立資料收集端點

  2. 移至您的 Azure 監視器工作區,然後按下 [概觀] 頁面上的 [數據收集規則] (DCR)。 此 DCR 的名稱與您的 Azure 監視器工作區相同。

    螢幕快照顯示 Azure 監視器工作區的數據收集規則。

  3. 在 [DCR 概觀] 頁面上,按兩下 [ 資源 ] ->+ [新增],然後選取 AKS 叢集。

    顯示如何將AMW DCR連線至 AKS 的螢幕快照

  4. 新增 AKS 叢集之後(您可能需要重新整理頁面),按兩下 AKS 叢集,然後 編輯端點的數據收集。 在開啟的面板中,選取您在本節步驟 1 中建立的數據收集端點。 此 DCE 應該位於與 AKS 叢集相同的區域中。

    顯示 DCE 關聯的螢幕擷取畫面。

  5. 移至 AMPLS 概觀頁面,按兩下 [Azure 監視器資源],按兩下 [ 新增],然後連線建立的 DCE。

3.將 AMPLS 連線至 AKS 叢集的私人端點

私人端點是虛擬網路 (VNet) 中 Azure 服務的特殊網路介面。 我們現在會在私人 AKS 叢集的 VNet 中建立私人端點,並將其連線到 AMPLS,以安全地擷取計量。

  1. 在 Azure 入口網站中,搜尋您在先前步驟中建立的 AMPLS。 移至 AMPLS 概觀頁面,按兩下 [ 設定 ->私人端點連線],然後選取 [+ 私人端點]。

  2. 選取資源群組並輸入私人端點的名稱,然後按 [ 下一步]。

  3. 在 [ 資源 ] 區段中,選取 [Microsoft.Monitor/accounts ] 作為 [資源類型]、[Azure 監視器工作區] 作為 [資源],然後選取 [prometheusMetrics]。 按 [下一步]。

    顯示私人端點設定的螢幕快照

  4. 在 [ 虛擬網络 ] 區段中,選取 AKS 叢集的虛擬網路。 您可以在入口網站中的 AKS 概觀 - 設定 ->> 網路 -> 虛擬網路整合中找到此專案。

4.確認計量是否內嵌至 Azure 監視器工作區

確認私人 AKS 叢集中的 Prometheus 計量是否已內嵌至 Azure 監視器工作區:

  1. 在 Azure 入口網站中,搜尋 Azure 監視器工作區,然後移至 [監視 ->計量]。
  2. 在 [計量總管] 中,查詢計量,並確認您可以查詢。

附註

從私人 AKS 叢集擷取

如果您選擇使用 Azure 防火牆來限制叢集的輸出,您可以實作下列其中一項:

  • 開啟公用擷取端點的路徑。 使用下列兩個端點更新路由表:
    • *.handler.control.monitor.azure.com
    • *.ingest.monitor.azure.com
  • 啟用 Azure 防火牆以存取用於資料擷取的 Azure 監視器 Private Link 範圍和 DCE。

使用下列步驟設定透過私人連結虛擬網路和 Azure 監視器 Private Link 範圍來設定 Kubernetes 叢集的遠端寫入。

  1. 建立您的 Azure 虛擬網路。
  2. 設定內部部署叢集,以使用 VPN 閘道或具有私人對等互連的 ExpressRoutes 連線到 Azure VNET。
  3. 建立 Azure 監視器 Private Link 範圍。
  4. 將 Azure 監視器 Private Link 範圍連線到內部部署叢集所使用虛擬網路中的私人端點。 此私人端點可用來存取您的 DCE。
  5. 從入口網站中的 Azure 監視器工作區,從 [Azure 監視器] 工作區功能表中選取 [資料收集端點]
  6. 您至少會有一個 DCE,其名稱會和您的工作區相同。 按一下 DCE 以開啟其詳細資料。
  7. 選取 DCE 的 [網路隔離] 頁面。
  8. 按一下 [新增],然後選取 [Azure 監視器私人連結範圍]。 設定需要幾分鐘的時間才能傳播。 完成後,來自私人 AKS 叢集的資料會透過私人連結擷取至您的 Azure 監視器工作區。

容器深入解析 (Log Analytics 工作區)

容器深入解析的資料會儲存在 Log Analytics 工作區中,因此您必須將此工作區設為可透過私人連結存取。

附註

本節說明如何使用 CLI 為容器深入解析啟用私人連結。 如需使用 ARM 範本的詳細資訊,請參閱 啟用 Prometheus 度量和容器記錄, 並記下參數 useAzureMonitorPrivateLinkScopeazureMonitorPrivateLinkScopeResourceId

先決條件

  • 本文說明如何將叢集連線到現有的 Azure 監視器私人連結範圍 (AMPLS)。 遵循設定私人連結中的指引建立 AMPLS。
  • Azure CLI 2.61.0 版或更新版本。

使用受控識別驗證的叢集

具有預設 Log Analytics 工作區的現有 AKS 叢集

az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --ampls-resource-id "<azure-monitor-private-link-scope-resource-id>"

範例:

az aks enable-addons --addon monitoring --name "my-cluster" --resource-group "my-resource-group" --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace" --ampls-resource-id "/subscriptions/my-subscription /resourceGroups/my-resource-group/providers/microsoft.insights/privatelinkscopes/my-ampls-resource"

具有現有 Log Analytics 工作區的現有 AKS 叢集

az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --workspace-resource-id <workspace-resource-id> --ampls-resource-id "<azure-monitor-private-link-scope-resource-id>"

範例:

az aks enable-addons --addon monitoring --name "my-cluster" --resource-group "my-resource-group" --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace" --ampls-resource-id "/subscriptions/my-subscription /resourceGroups/ my-resource-group/providers/microsoft.insights/privatelinkscopes/my-ampls-resource"

新的 AKS 叢集

az aks create --resource-group rgName --name clusterName --enable-addons monitoring --workspace-resource-id "workspaceResourceId" --ampls-resource-id "azure-monitor-private-link-scope-resource-id"

範例:

az aks create --resource-group "my-resource-group" --name "my-cluster" --enable-addons monitoring --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace" --ampls-resource-id "/subscriptions/my-subscription /resourceGroups/ my-resource-group/providers/microsoft.insights/privatelinkscopes/my-ampls-resource"

使用舊版驗證的叢集

如果您的叢集未使用受控身分認證,請使用下列程式將叢集連接到 Log Analytics 工作區,以啟用網路隔離。 這需要私人 AKS 叢集

  1. 遵循建立私人 Azure Kubernetes Service 叢集中的指引,建立私人 AKS 叢集。

  2. 在您的 Log Analytics 工作區上停用公用擷取。

    使用下列命令來停用現有工作區上的公用擷取。

    az monitor log-analytics workspace update --resource-group <azureLogAnalyticsWorkspaceResourceGroup> --workspace-name <azureLogAnalyticsWorkspaceName> --ingestion-access Disabled
    

    使用下列命令來建立已停用公用擷取的新工作區。

    az monitor log-analytics workspace create --resource-group <azureLogAnalyticsWorkspaceResourceGroup> --workspace-name <azureLogAnalyticsWorkspaceName> --ingestion-access Disabled
    
  3. 依照設定您的私人連結中的指示來設定私人連結。 將擷取存取權設定為公用,然後在建立私人端點之後、在啟用監視之前設定為私人。 私人連結資源區域必須與 AKS 叢集區域相同。

  4. 針對 AKS 叢集啟用監視。

    az aks enable-addons -a monitoring --resource-group <AKSClusterResourceGorup> --name <AKSClusterName> --workspace-resource-id <workspace-resource-id> --enable-msi-auth-for-monitoring false
    

後續步驟