你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
排查 Azure Arc 资源网桥问题
本文介绍如何排查和解决在尝试部署、使用或移除 Azure Arc 资源网桥时可能出现的问题。 资源网桥是一个打包的虚拟机,它托管一个管理 Kubernetes 群集。 有关一般信息,请参阅 Azure Arc 资源网桥概述。
常见问题
日志收集
对于 ARC 资源网桥遇到的问题,请使用 Azure CLI az arcappliance logs
命令收集日志以供进一步调查。 此命令需要通过用于部署 Arc 资源网桥的管理计算机运行。 如果使用的是其他计算机,计算机必须满足管理计算机要求。
如果收集日志时遇到问题,管理计算机很有可能无法访问设备 VM。 请与网络管理员联系,以允许从管理计算机向 TCP 端口 22 上的设备 VM 进行 SSH 通信。
可以通过在 logs 命令中传递设备 VM IP 或 kubeconfig 来收集 Arc 资源网桥日志。
要使用设备 VM IP 地址在 VMware 上收集 Arc 资源网桥日志,请:
az arcappliance logs vmware --ip <appliance VM IP> --username <vSphere username> --password <vSphere password> --address <vCenter address> --out-dir <path to output directory>
若要收集 Azure Stack HCI 的 Arc 资源网桥日志,请参阅收集日志。
如果不确定设备 VM IP,还可以选择使用 kubeconfig。 可以通过运行 get-credentials 命令来检索 kubeconfig,然后运行 logs 命令。
要检索 kubeconfig 和日志密钥,请从不同于用于为已启用 Arc 的 VMware 部署 Arc 资源网桥的计算机收集已启用 Arc 的 VMware 的日志:
az account set -s <subscription id>
az arcappliance get-credentials -n <Arc resource bridge name> -g <resource group name>
az arcappliance logs vmware --kubeconfig kubeconfig --out-dir <path to specified output directory>
下载/上传连接未成功
如果网络速度较慢,可能无法成功下载 Arc 资源网桥 VM 映像,从而导致出现此错误:ErrorCode: ValidateKvaError, Error: Pre-deployment validation of your download/upload connectivity was not successful. Timeout error occurred during download and preparation of appliance image to the on-premises fabric storage. Common causes of this timeout error are slow network download/upload speeds, a proxy limiting the network speed or slow storage performance.
解决方法是,尝试直接在本地私有云上创建 VM,然后从该 VM 运行 Arc 资源桥部署脚本。 执行此操作会导致将映像更快地上传到数据存储。
阶段 ApplyingKvaImageOperator
期间上下文超时
部署 Arc 资源桥时,可能会看到此错误:Deployment of the Arc resource bridge appliance VM timed out. Collect logs with _az arcappliance logs_ and create a support ticket for help. To troubleshoot the error, refer to aka.ms/arc-rb-error { _errorCode_: _ContextError_, _errorResponse_: _{\n\_message\_: \_Context timed out during phase _ApplyingKvaImageOperator_\_\n}_ }
尝试通过网络下载 KVAIO
映像(400 MB 压缩)时,通常会发生此错误,该网络速度缓慢或遇到间歇性连接。 KVAIO
控制器管理器等待映像下载完成并超时。
检查 Arc 资源网桥 VM 与 Microsoft 容器注册表 (mcr.microsoft.com
) 之间的网络速度是否稳定且至少为 2 Mbps。 如果网络连接和速度稳定,但仍收到此错误,则可能是由于 Microsoft 容器注册表收到了大量流量,请等待至少 30 分钟,然后重新尝试。
阶段 WaitingForAPIServer
期间上下文超时
部署 Arc 资源桥时,可能会看到此错误:Deployment of the Arc resource bridge appliance VM timed out. Collect logs with _az arcappliance logs_ and create a support ticket for help. To troubleshoot the error, refer to aka.ms/arc-rb-error { _errorCode_: _ContextError_, _errorResponse_: _{\n\_message\_: \_Context timed out during phase _WaitingForAPIServer
此错误表示部署计算机无法在时间限制内联系 Arc 资源网桥的控制平面 IP。 错误的常见原因是网络相关,例如部署计算机与通过代理路由的控制平面 IP 之间的通信。 从部署计算机到控制平面和设备 VM IP 的流量不应通过代理。 如果流量正在被代理,请将网络或部署计算机上的代理设置配置为不代理部署计算机到控制平面 IP 和设备 VM IP 之间的流量。 导致此错误的另一个原因是防火墙关闭了部署机和控制平面 IP 或部署机和设备虚拟机 IP 之间的 6443 端口和 22 端口访问。
403 禁止或 404 未找到站点
部署 Arc 资源桥时,可能会看到此错误:{ _errorCode_: _UploadError_, _errorResponse_: _{\n\_message\_: \_Pre-deployment validation of your download/upload connectivity was not successful. {\\n \\\_code\\\_: \\\_ImageProvisionError\\\_,\\n \\\_message\\\_: \\\_403 Forbidden
或 { _errorCode_: _UploadError_, _errorResponse_: _{\n\_message\_: \_Pre-deployment validation of your download/upload connectivity was not successful. {\\n \\\_code\\\_: \\\_ImageProvisionError\\\_,\\n \\\_message\\\_: \\\_404 Site Not Found
当需要将映像从 Microsoft 注册表下载到部署计算机,但代理或防火墙阻止该下载时,则会发生此错误。 查看 网络要求并验证所有必需的 URL 是否都可访问。 你可能需要更新无代理设置,以确保从部署计算机到 Microsoft 必需的 URL 的流量不会通过代理。
SSH 文件夹访问被拒绝
当执行的部署或操作需要访问 SSH 文件夹中的文件时,CLI 需要有权访问该文件夹。 此文件夹包含基本文件,例如 kubeconfig 和设备 VM 的日志密钥。 例如,CLI 需要访问 SSH 文件夹中存储的日志密钥,以便从设备 VM 收集日志。
你可能会看到以下错误:Access to the file in the SSH folder was denied. This may occur if the CLI doesn't have permission to the SSH folder or if another CLI instance is using the file
。 有两个常见的原因会导致出现此问题:
- 权限不足:CLI 缺少访问 SSH 文件夹所需的权限。 请确保运行 CLI 的用户帐户具有访问 SSH 文件夹的适当权限。
- 并发文件访问:CLI 的另一个实例可能正在使用 SSH 文件夹中的文件。 这通常发生在具有共享配置文件的工作站上。 在继续操作之前,请确保任何其他 CLI 实例已完成,或终止其操作。
Arc 资源网桥处于脱机状态
基础结构、环境或群集中的网络更改会阻止设备 VM 与其对应的 Azure 资源通信。 如果无法确定更改的内容,可以重新启动设备 VM、收集日志并提交支持票证以进行进一步调查。
不支持远程 PowerShell
如果通过远程 PowerShell 为 Arc 资源网桥运行 az arcappliance
CLI 命令,则可能会在尝试在 Azure Stack HCI 群集上安装资源桥时,看到身份验证握手失败错误,或其他类型的错误。
目前,不支持从远程 PowerShell 使用 az arcappliance
命令。 应通过远程桌面协议 (RDP) 登录到节点或使用控制台会话。
无法更新资源网桥配置
在此版本中,所有参数都是在创建时指定的。 若要更新 Arc 资源网桥,必须将其删除,然后再次重新部署它。
例如,如果在部署期间指定了错误的位置或订阅,则资源创建会失败。 如果只尝试重新创建资源而不重新部署资源网桥 VM,则状态会停滞在 WaitForHeartBeat
。
若要解决此问题,请删除设备并更新设备 YAML 文件。 然后,重新部署并创建资源网桥。
设备网络不可用
如果 Arc 资源网桥遇到网络问题,则可能会看到 Appliance Network Unavailable
错误。 通常,与设备 VM 的任何网络或基础结构连接问题都可能导致此错误。 此错误也可能显示为“Error while dialing dial tcp xx.xx.xxx.xx:55000: connect: no route to host
”。 问题可能是,需要在网络管理员的帮助下通过 TCP 端口 22 打开从主机到 Arc 资源网桥 VM 的通信。 临时网络问题可能不允许主机访问 Arc 资源网桥 VM。 解决网络问题后,可以重试该操作。 还可以检查 Arc 资源网桥的设备 VM 是否未停止或未处于脱机状态。 使用 Azure Stack HCI 时,当主机存储已满时,可能会导致此错误。
令牌刷新错误
运行 Azure CLI 命令时,可能会看到以下错误:The refresh token has expired or is invalid due to sign-in frequency checks by conditional access.
由于在你登录 Azure 时,令牌的生存期最长,因此发生了此错误。 超过该生存期后,需要使用 az login
命令重新登录到 Azure。
默认主机资源池不可用于部署
使用 az arcappliance createconfig
或 az arcappliance run
命令时,交互式体验会显示可以选择部署虚拟设备的 VMware 实体列表。 此列表会显示用户创建的所有资源池以及默认群集资源池,但不会列出默认主机资源池。 将设备部署到主机资源池时,如果主机硬件出现故障,则不会有任何高可用性。 我们建议不要在主机资源池中部署设备。
资源网桥状态为“脱机”,预配状态为“失败”
部署 Arc 资源网桥时,网桥可能看起来已部署成功,因为运行 az arcappliance deploy
或 az arcappliance create
时没有遇到任何错误。 但是,当在 Azure 门户中查看网桥时,你可能会看到状态显示为“Offline
”,而 az arcappliance show
可能会将 provisioningState
显示为“Failed
”。 如果在部署网桥之前未注册所需的提供程序,则会出现这种问题。
对于 Azure Stack HCI 版本 23H2 及更高版本,系统会在群集部署期间自动部署 Arc 资源网桥,不再需要手动安装。
如果 Arc 资源网桥处于脱机状态,请尝试重启 Arc 资源网桥 VM。 如果该问题仍然存在,请联系 Microsoft 支持部门。
注意
在 Azure Stack HCI 上重新安装 Arc 资源网桥可能会导致现有 Azure 资源出现问题。
若要解决此问题,请删除资源网桥、注册提供程序,然后重新部署资源网桥。
删除资源网桥:
az arcappliance delete <fabric> --config-file <path to appliance.yaml>
注册提供程序:
az provider register --namespace Microsoft.ExtendedLocation –-wait az provider register --namespace Microsoft.ResourceConnector –-wait
重新部署资源网桥。
注意
合作伙伴产品(例如已启用 Arc 的 VMware vSphere)可能需要注册自己的提供程序。 有关这些其他提供商的信息,请参阅产品的文档。
设备 VM 中的凭据已过期
Arc 资源网桥由部署到本地基础结构的设备 VM 组成。 设备 VM 使用本地存储的凭据维持与本地基础结构的管理终结点的连接。 如果未更新这些凭据,资源网桥将无法再与管理终结点通信。 当尝试升级资源网桥或通过 Azure 管理 VM 时,这可能会导致问题。
若要解决此问题,需要更新设备 VM 中的凭据。 有关详细信息,请参阅更新设备 VM 中的凭据。
不支持专用链接
Arc 资源网桥不支持专用链接。 来自设备 VM 的调用不应通过专用链接设置。 专用链接 IP 可能与设备 IP 池范围冲突,这在资源网桥上是不可配置的。 Arc 资源网桥会访问不应通过专用链接连接的所需 URL。 必须在与专用链接设置无关的单独网段上部署 Arc 资源网桥。
网络问题
映像拉取退避错误
尝试部署 Arc 资源网桥时,可能会看到显示“back-off pulling image \\\"url"\\\: FailFastPodCondition
”的错误。 当设备 VM 无法访问错误中指定的 URL 时,会导致此错误。 若要解决此问题,请确保设备 VM 满足系统要求,这包括与所需的允许列表 URL 的 Internet 访问连接。
管理计算机无法访问设备
尝试部署 Arc 资源网桥时,可能会收到类似于以下内容的错误消息:
{ _errorCode_: _PostOperationsError_, _errorResponse_: _{\n\_message\_: \_Timeout occurred due to management machine being unable to reach the appliance VM IP, 10.2.196.170. Ensure that the requirements are met: https://aka.ms/arb-machine-reqs: dial tcp 10.2.196.170:22: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.\_\n}_, _errorMetadata_: { _errorCategory_: __ }
当管理计算机无法通过 SSH(端口 22)或 API 服务器(端口 6443)访问 Arc 资源桥 VM IP 时,会出现此错误。 如果正在代理 Arc 资源网桥 API 服务器,也可能会发生此情况 - 需要将 Arc 资源网桥 API 服务器添加到 noproxy 设置中。 有关详细信息,请参阅 Azure Arc 资源网桥的网络要求。
无法连接到 URL
如果收到显示“Not able to connect to https://example.url.com
”的错误,请与网络管理员联系,确保网络允许所有必需的防火墙和代理 URL 部署 Arc 资源网桥。 有关详细信息,请参阅 Azure Arc 资源网桥的网络要求。
无法连接 - 网络和 Internet 连接验证失败
部署 Arc 资源网桥时,可能会收到错误,其中的 errorCode
为 PostOperationsError
,errorResponse
为代码 GuestInternetConnectivityError
,且 URL 指定端口 53 (DNS)。 此错误可能是由于设备 VM IP 无法访问 DNS 服务器,因此无法解析错误中指定的终结点。
错误示例:
{ _errorCode_: _PostOperationsError_, _errorResponse_: _{\n\_message\_: \_{\\n \\\_code\\\_:\\\_GuestInternetConnectivityError\\\_,\\n\\\_message\\\_:\\\_Not able to connect to http://aszhcitest01.company.org:55000. Error returned: action failed after 5 attempts: Get \\\\\\\_http://aszhcitest01.company.org:55000\\\\\\\_: dial tcp: lookup aszhcitest01.company.org on 127.0.0.53:53: read udp 127.0.0.1:32975-\\u003e127.0.0.53:53: i/o timeout. Arc Resource Bridge network and internet connectivity validation failed: cloud-agent-connectivity-test. 1. check your networking setup and ensure the URLs mentioned in : https://aka.ms/AAla73m are reachable from the Appliance VM. 2. Check firewall/proxy settings\\\_\\n }\_\n}_ }
{ _errorCode_: _PostOperationsError_, _errorResponse_: _{\n\_message\_: \_{\\n \\\_code\\\_: \\\_GuestInternetConnectivityError\\\_,\\n \\\_message\\\_: \\\_Not able to connect to https://linuxgeneva-microsoft.azurecr.io. Error returned: action failed after 5 attempts: Get \\\\\\\_https://linuxgeneva-microsoft.azurecr.io\\\\\\\_: dial tcp: lookup linuxgeneva-microsoft.azurecr.io on 127.0.0.53:53: server misbehaving. Arc Resource Bridge network and internet connectivity validation failed: http-connectivity-test-arc. 1. Please check your networking setup and ensure the URLs mentioned in : https://aka.ms/AAla73m are reachable from the Appliance VM. 2. Check firewall/proxy settings\\\_\\n }\_\n}_ }
若要解决这些错误,请联系网络管理员,以允许设备 VM IP 访问 DNS 服务器。 有关详细信息,请参阅 Azure Arc 资源网桥的网络要求。
Http2 服务器已发送 GOAWAY
尝试部署 Arc 资源网桥时,可能会收到类似于以下内容的错误消息:
"errorResponse": "{\n\"message\": \"Post \\\"https://region.dp.kubernetesconfiguration.azure.com/azure-arc-appliance-k8sagents/GetLatestHelmPackagePath?api-version=2019-11-01-preview\\u0026releaseTrain=stable\\\": http2: server sent GOAWAY and closed the connection; LastStreamID=1, ErrCode=NO_ERROR, debug=\\\"\\\"\"\n}"
或
Post \_https://canadacentral.dp.kubernetesconfiguration.azure.com/azure-arc-appliance-k8sagents/GetLatestHelmPackagePath?api-version=2019-11-01-preview\u0026releaseTrain=stable\_: read tcp 10.128.131.173:52425-\u003e52.228.84.81:443: wsarecv: An existing connection was forcibly closed by the remote host.
如果防火墙或代理启用了 SSL/TLS 检查,并且阻止来自用于部署资源网桥的计算机的 http2 调用,则会发生这些错误。 若要确认问题,请运行以下 PowerShell cmdlet 以使用 http2 调用 Web 请求(需要 PowerShell 版本 7 或更高版本),将 URL 和 api-version
(例如:2019-11-01
)中的区域替换为错误中的值:
Invoke-WebRequest -HttpVersion 2.0 -UseBasicParsing -Uri https://region.dp.kubernetesconfiguration.azure.com/azure-arc-appliance-k8sagents/GetLatestHelmPackagePath?api-version=2019-11-01-preview"&"releaseTrain=stable -Method Post -Verbose
如果结果是 The response ended prematurely while waiting for the next frame from the server
,则 http2 调用将被阻止,需要允许它。 请与网络管理员合作,禁用 SSL/TLS 检查,以允许用于部署网桥的计算机发出的 http2 调用。
无此类主机 - .local
不受支持
尝试设置 Arc 资源网桥的配置时,可能会收到如下所示的错误消息:
"message": "Post \"https://esx.lab.local/52c-acac707ce02c/disk-0.vmdk\": dial tcp: lookup esx.lab.local: no such host"
为配置设置(例如代理、dns、数据存储或管理终结点[例如 vCenter])提供 .local
路径时,会发生这种错误。 Arc 资源网桥设备 VM 使用 Azure Linux OS,它在默认情况下不支持 .local
。 解决方法是提供 IP 地址(如果适用)。
Azure Arc 资源网桥不可访问
Azure Arc 资源网桥运行 Kubernetes 群集,它的控制平面需要一个静态 IP 地址。 此 IP 地址是在 infra.yaml
文件中指定的。 如果 IP 地址是从 DHCP 服务器指定的,则地址可能会更改(如果不保留)。 重启 Azure Arc 资源网桥或 VM 可能会触发 IP 地址更改,导致服务失败。
Arc 资源网桥可能会间歇性地丢失保留 IP 配置。 这种丢失是由于当 systemd-networkd
重新启动时 VIP 的丢失中描述的行为所导致的。 如果没有将 IP 地址分配到 Azure Arc 资源网桥 VM,则对资源网桥 API 服务器的任何调用都将失败。 创建新资源、从 Azure 连接到私有云或创建自定义位置等核心操作将无法按预期运行。
若要解决此问题,请重启资源网桥 VM,这应该会恢复其 IP 地址。 如果地址是从 DHCP 服务器分配的,请保留与资源网桥关联的 IP 地址。
由于磁盘访问速度缓慢,Arc 资源网桥也可能无法访问。 Azure Arc 资源网桥使用 Kubernetes 扩展配置树 (ETCD),要求延迟不超过 10 毫秒。 如果基础磁盘性能低下,操作会受到影响,并可能发生故障。
SSL 代理配置问题
请确保管理计算机上的代理服务器既信任 SSL 代理的 SSL 证书,又信任 Microsoft 下载服务器的 SSL 证书。 有关详细信息,请参阅 SSL 代理配置。
没有这样的主机 - dp.kubernetesconfiguration.azure.com
部署 Arc 资源网桥时出现的包含 dial tcp: lookup westeurope.dp.kubernetesconfiguration.azure.com: no such host
的错误意味着配置数据平面当前在指定区域中不可用。 该服务可能暂时不可用。 请等待该服务可用,然后重试部署。
代理连接 tcp - 对于 Arc 资源网桥所需的 URL,没有此类主机
包含 Arc 资源网桥所需的 URL 且消息为 proxyconnect tcp: dial tcp: lookup http: no such host
的错误指示 DNS 无法解析该 URL。 此错误可能类似于此示例,其中所需的 URL 为 https://msk8s.api.cdp.microsoft.com
:
Error: { _errorCode_: _InvalidEntityError_, _errorResponse_: _{\n\_message\_: \_Post \\\_https://msk8s.api.cdp.microsoft.com/api/v1.1/contents/default/namespaces/default/names/arc-appliance-stable-catalogs-ext/versions/latest?action=select\\\_: POST https://msk8s.api.cdp.microsoft.com/api/v1.1/contents/default/namespaces/default/names/arc-appliance-stable-catalogs-ext/versions/latest?action=select giving up after 6 attempt(s): Post \\\_https://msk8s.api.cdp.microsoft.com/api/v1.1/contents/default/namespaces/default/names/arc-appliance-stable-catalogs-ext/versions/latest?action=select\\\_: proxyconnect tcp: dial tcp: lookup http: no such host\_\n}_ }
如果部署期间提供的 DNS 设置不正确或 DNS 服务器存在问题,则可能会出现此错误。 可以通过从管理计算机或有权访问 DNS 服务器的计算机运行以下命令来检查 DNS 服务器是否能够解析 URL:
nslookup
> set debug
> <hostname> <DNS server IP>
若要解决此错误,请将 DNS 服务器配置为解析所有 Arc 资源桥所需的 URL。 部署 Arc 资源桥时,必须正确提供 DNS 服务器。
KVA 超时错误
KVA 超时错误是一般性错误,可能是由各种网络配置错误导致的,这些错误配置涉及到管理计算机。例如,设备 VM 或控制平面 IP 可能无法相互通信、无法与 Internet 通信,或者无法与所需的 URL 通信。 这种通信故障通常是由 DNS 解析、代理设置、网络配置或 Internet 访问方面的问题造成的。
特此说明,管理计算机是指运行部署 CLI 命令的计算机。 设备 VM 是指托管 ARC 资源网桥的 VM. 控制平面 IP 是指设备 VM 中 Kubernetes 管理集群的控制平面的 IP.
kVA 超时错误的几大原因
- 管理计算机无法与控制平面 IP 和设备 VM IP 通信。
- 设备 VM 无法与管理计算机、vCenter 终结点(适用于 VMware)或 MOC 云代理终结点(适用于 Azure Stack HCI)通信。
- 设备 VM 无法访问 Internet。
- 设备虚拟机可以访问 Internet,但与一个或多个所需 URL 的连接被阻止,原因可能是代理或防火墙。
- 设备虚拟机无法访问可解析内部名称(如 vSphere 的 vCenter 终结点或 Azure Stack HCI 的云代理终结点)的 DNS 服务器。 DNS 服务器还必须能够解析外部地址,如 Azure 服务地址和容器注册表名称。
- 管理计算机或 ARC 资源网桥配置文件上的代理服务器配置不正确。 这可能会影响管理计算机和设备 VM。 运行
az arcappliance prepare
命令并且主机代理配置不正确时,管理计算机无法连接和下载 OS 映像。 设备虚拟机上的 Internet 访问可能会因代理配置不正确或缺失而中断,这会影响虚拟机拉取容器映像的能力。
排除 KVA 超时错误
若要解决该错误,可能需要解决一个或多个网络配置错误。
第一步是根据设备 VM IP 收集日志(不根据 kubeconfig,因为如果部署命令未完成,kubeconfig 可能为空)。 收集日志时出现的问题很可能是由于管理计算机无法访问设备 VM 造成的。
收集日志后,解压缩文件夹并打开
kva.log
。 查看日志,了解可能有助于查明 KVA 超时错误原因的信息。管理计算机必须能够与设备 VM IP 和控制平面 IP 进行通信。 从管理计算机向控制平面 IP 和设备 VM IP 发出 ping 命令,并验证这两个 IP 均有响应。
如果请求超时,则管理计算机无法与 IP 通信。 此问题可能是由端口关闭、网络配置错误或防火墙阻止导致的。 请与网络管理员协作,允许管理计算机与控制平面 IP 和设备 VM IP 之间进行通信。
设备 VM IP 和控制平面 IP 必须能够与管理计算机和 vCenter 终结点(适用于 VMware)或 MOC 云代理终结点(适用于 Azure Stack HCI)进行通信。 请与网络管理员协作,确保网络配置为允许此通信。 可能需要添加防火墙规则,以打开从设备 VM IP 和控制平面 IP 到 vCenter 的端口 443,或者为 Azure Stack HCI MOC 云代理打开端口 65000 和 55000。 对于 Arc 资源网桥,请查看 Azure Stack HCI 的网络要求 和 VMware。
设备虚拟机 IP 和控制平面 IP 需要通过 Internet 访问这些所需的 URL。 Azure Stack HCI 需要额外的 URL。 请与网络管理员合作,确保这些 IP 可以访问所需的 URL.
在非代理环境中,管理计算机必须具有外部和内部 DNS 解析。 管理计算机必须能够访问可解析内部名称的 DNS 服务器,例如 vSphere 的 vCenter 终结点或 Azure Stack HCI 的云代理终结点。 DNS 服务器还需要能够解析外部地址,例如 Azure URL 和操作系统映像下载 URL。 与系统管理员协作,确保管理计算机具有内部和外部 DNS 解析。 在代理环境中,代理服务器上的 DNS 解析应解析内部终结点和所需的外部地址。
若要在非代理方案中测试从管理计算机到内部地址的 DNS 解析,请打开命令提示符并运行
nslookup <vCenter endpoint or HCI MOC cloud agent IP>
。 如果管理计算机在非代理方案中具有内部 DNS 解析,则应该会收到应答。
设备虚拟机需要能够访问可解析内部名称(如 vSphere 的 vCenter 终结点或 Azure Stack HCI 的云代理终结点)的 DNS 服务器。 DNS 服务器还需要能够解析外部/内部地址,例如 Azure 服务地址和容器注册表名称,以便从云中下载 ARC 资源网桥容器映像。
验证用于创建配置文件的 DNS 服务器 IP 是否具有内部和外部地址解析。 如果没有,请删除设备,使用正确的 DNS 服务器设置重新创建 Arc 资源网桥配置文件,然后使用新配置文件部署 Arc 资源网桥。
移动 Azure Arc 资源网桥位置
目前,不支持移动 Arc 资源桥的资源。 请改为删除 Arc 资源网桥并将其重新部署到所需位置。
Azure Stack HCI 上已启用 Azure Arc 的 VM 的问题
如果在解决与 Azure Stack HCI 上已启用 Azure Arc 的 VM 相关的问题时需要常规帮助,请参阅对已启用 Azure Arc 的虚拟机进行故障排除。
如果运行的是 Azure Stack HCI 版本 23H2 或更高版本,并且 Arc 资源网桥处于脱机状态,请不要尝试重新安装或删除 Arc 资源网桥。 相反,请尝试重启 Arc 资源网桥 VM 以使其重新联机。 如果问题持续出现,请联系 Microsoft 支持部门以获取更多帮助。
操作失败 - 没有此类主机
部署 Arc 资源网桥时,如果收到错误 errorCode
为 PostOperationsError
,errorResponse
为代码 GuestInternetConnectivityError
和 no such host
,则设备 VM IP 可能无法到达错误中指定的终结点。
错误示例::
{ _errorCode_: _PostOperationsError_, _errorResponse_: _{\n\_message\_: \_{\\n \\\_code\\\_: \\\_GuestInternetConnectivityError\\\_,\\n \\\_message\\\_: \\\_Not able to connect to http://aszhcitest01.company.org:55000. Error returned: action failed after 5 attempts: Get \\\\\\\_http://aszhcitest01.company.org:55000\\\\\\\_: dial tcp: lookup aszhcitest01.company.org: on 127.0.0.53:53: no such host. Arc Resource Bridge network and internet connectivity validation failed: cloud-agent-connectivity-test. 1. check your networking setup and ensure the URLs mentioned in : https://aka.ms/AAla73m are reachable from the Appliance VM. 2. Check firewall/proxy settings
在示例中,设备 VM IP 无法访问 http://aszhcitest01.company.org:55000
,即 MOC 终结点。 请联系网络管理员,确保 DNS 服务器能够解析所需的 URL。
测试与 DNS 服务器的连接性:
ping <dns-server.com>
若要检查 DNS 服务器是否能够解析地址,请从可以访问 DNS 服务器的计算机运行以下命令:
Resolve-DnsName -Name "http://aszhcitest01.company.org:55000" -Server "<dns-server.com>"
已启用 Azure Arc 的 VMware VCenter 的问题
errorResponse: error getting the vsphere sdk client
当部署计算机尝试与 vCenter 地址建立 TCP 连接但遇到问题时,会发生 errorCode: CreateConfigKvaCustomerError
和 errorResponse: error getting the vsphere sdk client
错误。 当 vCenter 地址不正确(403 或 404 错误),或者网络/代理/防火墙配置阻止它(连接尝试失败)时,可能会发生这种情况。
如果将 vCenter 地址作为主机名输入并收到错误 no such host
,则说明部署计算机无法通过客户端 DNS 解析 vCenter 主机名。 如果部署计算机能够解析 vCenter 主机名,但部署计算机无法访问从 DNS 收到的 IP 地址,则可能会发生此情况。 如果 DNS 返回的终结点不是你的 vCenter 地址,或者流量被代理拦截,也可能会看到此错误。 如果部署计算机能够与 vCenter 地址通信,请确认用户名和密码是否正确。
vSphere SDK 客户端 - 连接尝试失败
如果在部署过程中收到以下错误信息:errorCode_: _CreateConfigKvaCustomerError_, _errorResponse_: _error getting the vsphere sdk client: Post \_https://ip.address/sdk\_: dial tcp ip.address:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond._ }
,则表示管理计算机无法与 vCenter 服务器通信。
若要解决此问题,请确保部署计算机符合管理计算机要求,并且没有防火墙或代理阻止通信。
vSphere SDK 客户端 - 403 禁止访问或 404 未找到
部署 Arc 资源桥时包含 errorCode_: _CreateConfigKvaCustomerError_, _errorResponse_: _error getting the vsphere sdk client: POST \_/sdk\_: 403 Forbidden
或 404 not found
的错误很可能是由于 vCenter 地址不正确所导致。 当系统提示输入 vCenter 地址作为主机名或 IP 地址时,配置文件创建期间会提供此地址。
有多种方式可用来查找 vCenter 地址。 一个选项是通过其 Web 界面访问 vSphere 客户端。 vCenter 主机名或 IP 地址通常是用于在浏览器中访问 vSphere 客户端的内容。 如果已登录,可以查看浏览器的地址栏,其中用于访问 vSphere 的 URL 是 vCenter 服务器的主机名或 IP 地址。 验证 vCenter 地址,然后重试部署。
vSphere SDK 客户端 - 无此类主机
当部署计算机无法将 vCenter 主机名解析为 IP 地址时,则在部署过程中可能会发生错误 { _errorCode_: _CreateConfigKvaCustomerError_, _errorResponse_: _error getting the vsphere sdk client: Post \_https://your.vcenter.hostname/sdk\_: dial tcp: lookup your.vcenter.hostname: no such host_ }
。 出现此问题的原因是,部署过程尝试建立从部署计算机到 vCenter 主机名的 TCP 连接,但由于 DNS 解析问题,连接失败。
若要修复这个错误,请确保部署计算机上的 DNS 配置正确,验证 DNS 服务器是否联机,并检查是否缺少 vCenter 主机名的 DNS 条目。 可以从部署计算机上运行 nslookup your.vcenter.hostname
或 ping your.vcenter.hostname
来测试 DNS 解析。 如果将 vCenter 地址指定为主机名,请考虑直接改用 IP 地址。
预部署验证错误
部署 Arc 资源网桥时,可能会看到各种 pre-deployment validation of your download\upload connectivity wasn't successful
错误,例如:
Pre-deployment validation of your download/upload connectivity wasn't successful. {\\n \\\_code\\\_: \\\_ImageProvisionError\\\_,\\n \\\_message\\\_: \\\_Post \\\\\\\_https://vcenter-server.com/nfc/unique-identifier/disk-0.vmdk\\\\\\\_: Service Unavailable
Pre-deployment validation of your download/upload connectivity wasn't successful. {\\n \\\_code\\\_: \\\_ImageProvisionError\\\_,\\n \\\_message\\\_: \\\_Post \\\\\\\_https://vcenter-server.com/nfc/unique-identifier/disk-0.vmdk\\\\\\\_: dial tcp 172.16.60.10:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
Pre-deployment validation of your download/upload connectivity wasn't successful. {\\n \\\_code\\\_: \\\_ImageProvisionError\\\_,\\n \\\_message\\\_: \\\_Post \\\\\\\_https://vcenter-server.com/nfc/unique-identifier/disk-0.vmdk\\\\\\\_: use of closed network connection.
Pre-deployment validation of your download/upload connectivity wasn't successful. {\\n \\\_code\\\_: \\\_ImageProvisionError\\\_,\\n \\\_message\\\_: \\\_Post \\\\\\\_https://vcenter-server.com/nfc/unique-identifier/disk-0.vmdk\\\\\\\_: dial tcp: lookup hostname.domain: no such host
这些错误的组合通常指示管理计算机已失去与数据存储的连接,或者存在网络问题,导致数据存储无法访问。 若要从用于在 vCenter 中构建设备 VM 的管理计算机上传 OVA,则需要此连接。
若要修复此问题,请重新建立管理计算机与数据存储之间的连接,然后再次尝试部署 Arc 资源网桥。
x509 证书已过期或者尚未生效。
部署 Arc 资源网桥时,可能会遇到以下错误:
Error: { _errorCode_: _PostOperationsError_, _errorResponse_: _{\n\_message\_: \_{\\n \\\_code\\\_: \\\_GuestInternetConnectivityError\\\_,\\n \\\_message\\\_: \\\_Not able to connect to https://msk8s.api.cdp.microsoft.com. Error returned: action failed after 3 attempts: Get \\\\\\\_https://msk8s.api.cdp.microsoft.com\\\\\\\_: x509: certificate has expired or isn't yet valid: current time 2022-01-18T11:35:56Z is before 2023-09-07T19:13:21Z. Arc Resource Bridge network and internet connectivity validation failed: http-connectivity-test-arc. 1. check your networking setup and ensure the URLs mentioned in : https://aka.ms/AAla73m are reachable from the Appliance VM. 2. Check firewall/proxy settings
当 ESXi 主机与运行 Arc 资源网桥的部署命令的管理计算机之间存在时钟/时间差时,则会导致此错误。 若要解决此问题,请在 ESXi 主机上开启 NTP 时间同步,确认管理计算机也已同步到 NTP,然后重试部署。
解析为多个网络
当部署或升级 Arc 资源网桥时,可能会遇到类似以下错误的错误:
{ "ErrorCode": "PreflightcheckErrorOnPrem", "ErrorDetails": "Upgrade Operation Failed with error: \"{\\n \\\"code\\\": \\\"PreflightcheckError\\\",\\n \\\"message\\\": \\\"{\\\\n \\\\\\\"code\\\\\\\": \\\\\\\"InvalidEntityError\\\\\\\",\\\\n \\\\\\\"message\\\\\\\": \\\\\\\"Cannot retrieve vSphere Network 'vmware-azure-arc-01': path 'vmware-azure-arc-01' resolves to multiple networks\\\\\\\",\\\\n \\\\\\\"category\\\\\\\": \\\\\\\"\\\\\\\"\\\\n }\\\",\\n \\\"category\\\": \\\"\\\"\\n }\"" }
将 vSphere 网络段解析为多个网络时会出现此错误,因为多个 vSphere 网络段使用错误中指定的同一名称。 若要修复此错误,请更改 vCenter 中的重复网络名称(不是包含设备 VM 的网络)或在另一网络上部署 Arc 资源网桥。
Arc 资源网桥状态是已断开连接
运行启用了 Arc 的初始 VMware 加入脚本时,系统会提示你提供 vSphere 帐户。 该帐户以加密 Kubernetes 机密的形式本地存储在 Arc 资源网桥中。 该帐户用于允许 Arc 资源网桥与 vCenter 交互。
如果资源网桥中本地存储的 vSphere 帐户过期,则 Arc 资源网桥状态可能会断开连接。 按照更新 vSphere 帐户凭据的说明,更新 Arc 资源网桥内已启用 Arc 的 VMware 的凭据。
在主机配置期间出错
如果多次使用同一模板部署和删除 Arc 资源网桥,则可能会遇到以下错误:
Appliance cluster deployment failed with error: Error: An error occurred during host configuration
若要解决此问题,请手动删除现有模板。 然后运行 az arcappliance prepare
来下载用于部署的新模板。
找不到文件夹
当在 VMware 上部署 Arc 资源网桥时,需要指定要在其中创建模板和 VM 的文件夹。 所选文件夹必须是 VM 和模板文件夹类型。 无法将其他类型的文件夹(例如存储文件夹、网络文件夹,或主机和群集文件夹)用于资源网桥部署。
无法检索资源 - 找不到或不存在
部署 Arc 资源网桥时,指定设备 VM 的部署位置。 无法从该位置路径移动设备虚拟机。 如果设备 VM 移动位置并尝试升级,则可能会看到如下所示的错误:
{\n \"code\": \"PreflightcheckError\",\n \"message\": \"{\\n \\\"code\\\": \\\"InvalidEntityError\\\",\\n \\\"message\\\": \\\"Cannot retrieve <resource> 'resource-name': <resource> 'resource-name' not found\\\"\\n }\"\n }"
{\n \"code\": \"PreflightcheckError\",\n \"message\": \"{\\n \\\"code\\\": \\\"InvalidEntityError\\\",\\n \\\"message\\\": \\\"The specified vSphere Datacenter '/VxRail-Datacenter' does not exist\\\"\\n }\"\n }"
若要修复这些错误,请使用以下选项之一:
- 将设备 VM 移回其原始位置,并确保针对位置更改更新 RBAC 凭据。
- 创建具有相同名称的资源,然后将 Arc 资源网桥移到该新资源。
- 对于已启用 Arc 的 VMware,请运行已启用 Arc 的 VMware 灾难恢复脚本。 该脚本会删除该设备,部署新设备并使用以前部署的自定义位置、群集扩展和已启用 Arc 的 VM 重新连接设备。
- 删除并重新部署 Arc 资源网桥。
权限不足
在 VMware vCenter 上部署或升级资源桥时,可能会看到类似于以下所示的错误:
{ ""code"": ""PreflightcheckError"", ""message"": ""{\n \""code\"": \""InsufficientPrivilegesError\"",\n \""message\"": \""The provided vCenter account is missing required vSphere privileges on the resource 'root folder (MoRefId: Folder:group-d1)'. Missing privileges: [Sessions.ValidateSession]. add the privileges to the vCenter account and try again. To review the full list of required privileges, go to https://aka.ms/ARB-vsphere-privilege.\""\n }
部署 Arc 资源网桥时,提供 vCenter 凭据。 Arc 资源网桥会在本地存储与 vCenter 交互所需的 vCenter 凭据。 为了解决缺少权限的问题,资源网桥使用的 vCenter 帐户需要 VMware vCenter 中的以下权限:
数据存储:
- 分配空间
- 浏览数据存储
- 低级别文件操作
文件夹:
- 创建 文件夹
vSphere 标记:
- 分配或取消分配 vSphere 标记
网络:
- Assign network
资源:
- Assign virtual machine to resource pool
- 迁移已关闭的虚拟机
- 迁移已启动的虚拟机
会话:
- 验证会话
vApp:
- 分配资源池
- 导入
虚拟机:
- 更改配置
- 获取磁盘租用
- 添加现有磁盘
- 添加新磁盘
- 添加或删除设备
- 高级配置
- 更改 CPU 计数
- 更改内存
- 更改设置
- 更改资源
- 配置 managedBy
- 显示连接设置
- 扩展虚拟磁盘
- 修改设备设置
- 查询容错兼容性
- 查询无主文件
- 从路径重载
- 删除磁盘
- 重命名
- 重置来宾信息
- 设置批注
- 切换磁盘更改跟踪
- 切换分支父级
- 升级虚拟机兼容性
- 编辑清单
- 从现有创建
- 新建
- 注册
- 删除
- 注销
- 来宾操作
- 来宾操作别名修改
- 来宾操作修改
- 来宾操作程序执行
- 来宾操作查询
- 交互
- 连接设备
- 控制台交互
- 通过 VIX API 管理来宾操作系统
- 安装 VMware 工具
- 关机
- 开机
- 重置
- Suspend
- 预配
- 允许磁盘访问
- 允许文件访问
- Allow read-only disk access
- 允许虚拟机下载
- 允许虚拟机文件上传
- 克隆虚拟机
- 部署模板
- 标记为模板
- 标记为虚拟机
- 自定义来宾
- 快照管理
- 创建快照
- 删除快照
- 还原到快照
后续步骤
了解已启用 Azure Arc 的 VMware vSphere 灾难方案中资源网桥的恢复操作
如果你的问题未在本文中列出,或者无法解决你遇到的问题,请尝试通过以下途径之一获取支持:
- 通过 Microsoft Q&A 获取 Azure 专家的解答。
- 联系 @AzureSupport,这是用于改进客户体验的官方 Microsoft Azure 帐户。 Azure 支持人员会将你连接到 Azure 社区,从中可以获得解答、支持和专家建议。
- 创建 Azure 支持请求。