警告
Azure 数据资源管理器将于 2025 年 2 月 1 日停用虚拟网络注入。 有关弃用的详细信息,请参阅弃用 Azure 数据资源管理器的虚拟网络注入。
本部分介绍如何排查已部署到虚拟网络的群集的连接、操作和群集创建问题。
如果你在使用公共 (cluster.region.kusto.chinacloudapi.cn) 或专用 (private-cluster.region.kusto.chinacloudapi.cn) 终结点访问群集时遇到问题,并且你怀疑该问题与虚拟网络设置有关,请执行以下步骤来排查问题。
第一步涉及到使用 Windows 或 Linux OS 检查 TCP 连接。
在连接到群集的计算机中安装 netcat
apt-get install netcat
使用以下命令从源计算机 Ping 目标:
$ netcat -z -v yourcluster.kusto.chinacloudapi.cn 443 Connection to yourcluster.kusto.chinacloudapi.cn 443 port [tcp/https] succeeded!
如果测试不成功,请继续执行以下步骤。 如果测试成功,则问题不是由 TCP 连接问题引起的。 转到操作问题以进一步进行排除故障。
检查附加到群集子网的 NSG 是否具有一个允许从该客户端计算机 IP 的端口 443 进行访问的入站规则。
如果群集的子网配置为强制将所有与 Internet 绑定的流量通过隧道返回到防火墙(具有路由表的子网,该路由表包含默认路由“0.0.0.0/0”),请确保计算机 IP 地址具有下一个跃点类型设置为 VirtualNetwork/Internet 的路由。 需使用此路由来防止非对称路由问题。
如果你遇到引入问题并怀疑它与虚拟网络设置有关,请执行以下步骤。
检查群集引入指标是否指示状态正常。
如果指标指示未处理来自数据源的任何事件(事件中心/IoT 中心的“已处理事件”指标),请确保数据源资源(事件中心或存储)在防火墙规则或服务终结点中允许从群集的子网进行访问。
确保群集的子网正确配置了 NSG、UDR 和防火墙规则。 此外,测试所有依赖终结点的网络连接。
如果你遇到群集创建或操作问题,并且你怀疑该问题与虚拟网络设置有关,请按照以下步骤来排查问题。
设置专用终结点需要配置 DNS,我们仅支持 Azure 专用 DNS 区域设置。 不支持自定义 DNS 服务器设置,请检查作为专用终结点一部分创建的记录是否注册到了 Azure 专用 DNS 区域。
ARMClient 用于通过 PowerShell 调用 REST API。
使用 ARMClient 登录
armclient login
调用诊断操作
$subscriptionId = '<subscription id>' $clusterName = '<name of cluster>' $resourceGroupName = '<resource group name>' $apiversion = '2019-11-09' armclient post "https://management.chinacloudapi.cn/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.Kusto/clusters/$clusterName/diagnoseVirtualNetwork?api-version=$apiversion" - verbose
检查响应
HTTP/1.1 202 Accepted ... Azure-AsyncOperation: https://management.chinacloudapi.cn/subscriptions/{subscription-id}/providers/Microsoft.Kusto/locations/{location}/operationResults/{operation-id}?api-version=2019-11-09 ...
等待操作完成
armclient get https://management.chinacloudapi.cn/subscriptions/$subscriptionId/providers/Microsoft.Kusto/locations/{location}/operationResults/{operation-id}?api-version=2019-11-09 { "id": "/subscriptions/{subscription-id}/providers/Microsoft.Kusto/locations/{location}/operationresults/{operation-id}", "name": "{operation-name}", "status": "[Running/Failed/Completed]", "startTime": "{start-time}", "endTime": "{end-time}", "properties": {...} }
等到 status 属性显示为 Completed,然后 properties 字段应会显示 :
{ "id": "/subscriptions/{subscription-id}/providers/Microsoft.Kusto/locations/{location}/operationresults/{operation-id}", "name": "{operation-name}", "status": "Completed", "startTime": "{start-time}", "endTime": "{end-time}", "properties": { "Findings": [...] } }
如果 Findings 属性显示空结果,则表示所有网络测试均已通过且未发生连接中断。 如果显示错误“可能不满足出站依赖关系 '{dependencyName}:{port}' (出站)”,则表示群集可能无法访问依赖服务终结点。 继续执行以下步骤。
如果群集的子网配置为将所有发往 Internet 的流量强制传输回防火墙(具有路由表的子网,该路由表包含默认路由“0.0.0.0/0”),请确保管理 IP 地址和运行状况监视 IP 地址具有下一个跃点类型设置为 Internet、源地址前缀设置为 'management-ip/32' 和 'health-monitoring-ip/32' 的路由。 需使用此路由来防止非对称路由问题。
如果通过强制隧道将子网出站流量发送到防火墙,请确保按照使用防火墙保护出站流量中所述,在防火墙配置中允许所有依赖项 FQDN(例如 .blob.core.chinacloudapi.cn)。
如果群集无法暂停,请确认订阅中的网络资源上没有任何锁。