疑難排解 Azure Arc 資源橋接器問題
本文針對部署、使用或移除 Azure Arc 資源橋接器時可能發生的問題,提供疑難排解和解決方法的相關資訊。 資源橋接器是封裝的虛擬機器,可裝載「管理」 Kubernetes 叢集。 如需一般資訊,請參閱 Azure Arc 資源橋接器概觀。
一般問題
記錄集合
如果 Arc 資源橋接器遇到任何問題,您可以使用 Azure CLI az arcappliance logs
命令,收集記錄以供進行進一步調查。 此命令需要從用來部署 Arc 資源橋接器的管理機器執行。 如果您使用不同的機器,機器必須符合管理機器需求。
如果收集記錄時發生問題,管理機器很有可能無法觸達設備虛擬機器。 請連絡網路系統管理員,以允許透過 TCP 連接埠 22 從管理機器到設備虛擬機器進行 SSH 通訊。
您可以透過在記錄命令中傳遞設備虛擬機器 IP 或 kubeconfig 來收集 Arc 資源橋接器記錄。
若要使用設備虛擬機器 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 資源橋接器記錄,請參閱收集記錄。
如果您不確定設備虛擬機器 IP,也可以選擇使用 kubeconfig。 您可以藉由執行 get-credentials 命令,然後執行記錄命令來擷取 kubeconfig。
若要擷取 kubeconfig 和記錄金鑰,請從另一台機器收集啟用 Arc 的 VMware 的記錄,而不是用於為啟用 Arc 的 VMware 部署 Arc 資源橋接器的機器:
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 Container Registry (mcr.microsoft.com
) 之間的網路速度是否穩定,且至少有 2 Mbps。 如果您的網路連線能力和速度穩定,但仍收到此錯誤,請等待至少 30 分鐘然後重試,因為這可能是由於 Microsoft Container Registry 正在接收大量的流量。
內容已在階段 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 之間的通訊正在透過 Proxy 進行路由。 從部署機器到控制平面和設備虛擬機器 IP 的流量不得通過 Proxy。 如果正在代理流量,請在網路或部署機器上設定 Proxy 設定,不要將部署機器之間的流量代理到控制平面 IP 和設備虛擬機器 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 登錄下載到部署機器,但 Proxy 或防火牆會封鎖下載時,就會發生此錯誤。 檢閱網路需求並驗證是否可以存取所有必要的網址。 您可能需要更新您的無 Proxy 設定,以確保從部署機器到 Microsoft 所需的 URL 流量不會通過 Proxy。
SSH 資料夾存取遭拒
CLI 必須具備權限,才能在涉及存取資料夾內檔案的部署或作業期間存取 SSH 資料夾。 此資料夾包含基本檔案,例如設備 VM 的 kubeconfig 和記錄金鑰。 例如,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 資源進行通訊。 如果您無法確定發生了什麼變化,您可以將設備虛擬機器重新開機,收集記錄並提交支援票證以進行進一步調查。
不支援遠端 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 資源橋接器虛擬機器的通訊。 臨時網路問題可能不允許主機存取 Arc 資源橋接器虛擬機器。 網路問題解決後,您可以重試該作業。 您也可以檢查 Arc 資源橋接器設備虛擬機器是否未停止或離線。 使用 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 資源橋接器不支援私人連結。 來自設備虛擬機器的呼叫不應透過您的私人連結設定。 私人連結 IP 可能與設備 IP 集區範圍衝突,該範圍在資源橋接器上無法設定。 Arc 資源橋接器會存取不應透過私人連結連線的必要網址。 您必須將 Arc 資源橋接器部署在與私人連結設定無關的個別網路區段上。
網路問題
輪詢提取映像錯誤
嘗試部署 Arc 資源橋接器時,您可能會看到包含 back-off pulling image \\\"url"\\\: FailFastPodCondition
的錯誤。 當設備 VM 無法連線至錯誤中指定的 URL 時,就會發生此錯誤。 若要解決此問題,請確定設備 VM 符合系統需求,包括對必要允許清單 URL 的網際網路存取連線。
管理計算機無法連線到設備
嘗試部署 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 伺服器進行 Proxy 處理,則也可能會發生此錯誤;需要將 Arc 資源橋接器 API 伺服器新增至 NoProxy 設定。 如需詳細資訊,請參閱 Azure Arc 資源橋接器網路需求。
無法連線至 URL
如果您收到包含 Not able to connect to https://example.url.com
的錯誤,請洽詢您的網路管理員,以確保您的網路允許所有必要的防火牆和 Proxy URL 以部署 Arc 資源橋接器。 如需詳細資訊,請參閱 Azure Arc 資源橋接器網路需求。
無法連線 - 網路和網際網路存取驗證失敗
部署 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.
當防火牆或 Proxy 已啟用 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"
提供用於設定設定的 .local
路徑,例如 Proxy、DNS、資料存放區或管理端點 (例如 vCenter Server) 時,就會發生此錯誤。 Arc 資源橋接器設備 VM 會使用預設不支援 .local
的 Azure Linux OS。 因應措施可能是提供適用的 IP 位址。
無法連線到 Azure Arc 資源橋接器
Azure Arc 資源橋接器執行 Kubernetes 叢集,而且其控制平面需要靜態 IP 位址。 IP 位址是在 infra.yaml
檔案中指定。 如果 IP 位址是從 DHCP 伺服器指派,則如果未保留位址,位址可能會變更。 重新開機 Azure Arc 資源橋接器或虛擬機器可能會觸發 IP 位址變更並導致服務失敗。
Arc 資源橋接器可能會間歇地遺失已保留的 IP 組態。 此遺失是由於重新啟動 systemd-networkd
時 VIP 遺失中所述的行為所導致。 當 IP 位址未指派給 Azure Arc 資源橋接器虛擬機器時,資源橋接器 API 伺服器的任何呼叫都會失敗。 核心作業 (例如建立新資源、從 Azure 連線到私人雲端或建立自訂位置) 將無法如預期般運作。
若要解決此問題,請將資源橋接器 VM 重新開機,應該就能復原其 IP 位址。 如果位址是從 DHCP 伺服器指派,請保留與資源橋接器相關聯的 IP 位址。
由於磁碟存取緩慢,Arc 資源橋接器也可能無法連線。 Azure Arc 資源橋接器使用 Kubernetes 擴充設定樹狀結構 (ETCD),其要求延遲不超過 10 毫秒 (英文)。 如果基礎磁碟效能較低,可能會影響作業,甚至出現故障。
SSL Proxy 組態問題
請確定管理電腦上的 Proxy 伺服器會信任 SSL Proxy 的 SSL 憑證和 Microsoft 下載伺服器的 SSL 憑證。 如需詳細資訊,請參閱 SSL Proxy 設定。
無此類主機 - dp.kubernetesconfiguration.azure.com
部署 Arc 資源橋接器時出現包含 dial tcp: lookup westeurope.dp.kubernetesconfiguration.azure.com: no such host
的錯誤表示設定資料平面目前在指定區域中無法使用。 該服務可能暫時無法使用。 請等到服務變為可用時,再重試部署。
Proxy 連線 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 可能無法對彼此、與網際網路或必要的 URL 進行通訊。 這些通訊失敗通常是因為 DNS 解析、Proxy 設定、網路設定或網際網路存取的問題所造成。
為了清楚起見,管理機器是指執行部署 CLI 命令的機器。 設備虛擬機器是裝載 Arc 資源橋接器的虛擬機器。 「控制平面 IP」是設備虛擬機器中 Kubernetes 管理叢集的控制平面 IP。
KVA 逾時錯誤的主要原因
- 管理電腦無法與控制平面 IP 和設備 VM IP 通訊。
- 設備 VM 無法與管理電腦、vCenter 端點 (適用於 VMWare) 或 MOC 雲端代理程式端點 (適用於 Azure Stack HCI) 通訊。
- 設備 VM 沒有網際網路存取。
- 設備 VM 具有網際網路存取權,但可能會因為 Proxy 或防火牆而封鎖一或多個必要 URL 的連線能力。
- 設備 VM 無法連線到可解析內部名稱的 DNS 伺服器,例如 vSphere 的 vCenter 端點或 Azure Stack HCI 的雲端代理程式端點。 DNS 伺服器也必須能夠解析外部位址,例如 Azure 服務位址和容器登錄名稱。
- 管理電腦上的 Proxy 伺服器組態或 Arc 資源橋接器組態檔不正確。 這可能會影響管理電腦和設備 VM。 在執行
az arcappliance prepare
命令且主機 Proxy 未正確設定時,管理機器無法連線和下載 OS 映像。 設備 VM 上的網際網路存取可能會因不正確或遺失 Proxy 設定而中斷,這會影響 VM 提取容器映像的能力。
針對 KVA 逾時錯誤進行疑難排解
若要解決此錯誤,可能需要解決一或多個網路設定錯誤。
第一個步驟是依設備虛擬機器 IP 收集記錄 (而非採用 kubeconfig,因為若部署命令未完成,kubeconfig 可能為空白)。 如收集記錄時發生問題,最可能是因為管理電腦無法連線至設備 VM 所導致。
收集記錄之後,請擷取資料夾並開啟
kva.log
。 請檢閱記錄,以取得可協助找出 KVA 逾時錯誤原因的資訊。管理電腦必須能夠與設備 VM IP 和控制平面 IP 通訊。 從管理機器 Ping 控制平面 IP 和設備虛擬機器 IP,並確認兩個 IP 都有回應。
如果要求逾時,管理機器就無法與 IP 通訊。 此錯誤可能是因為關閉的連接埠、網路設定錯誤或防火牆區塊所造成。 請與您的網路系統管理員合作,以允許管理電腦與控制平面 IP 與設備 VM IP 之間的通訊。
設備 VM IP 和控制平面 IP 必須能與管理機器和 vCenter Server 端點 (適用於 VMware) 或 MOC 雲端代理程式端點 (適用於 Azure Stack HCI) 通訊。 請與您的網路系統管理員合作,以確保網路已設定為允許此通訊。 您可能需要新增防火牆規則,以從設備 VM IP 和控制平面 IP 開啟連接埠 443 以連接至 vCenter Server,或開啟連接埠 65000 和 55000 以連接至 Azure Stack HCI MOC 雲端代理程式。 請檢閱 Azure Stack HCI 網路需求和 Arc 的資源橋接器的 VMWare 說明。
設備 VM IP 和控制平面 IP 需要這些必要 URL 的網際網路存取權。 Azure Stack HCI 需要額外的 URL。 請與您的網路系統管理員合作,以確保 IP 可以存取必要的 URL。
在非 Proxy 環境中,管理電腦必須具有外部和內部 DNS 解析。 管理電腦無法連線至可解析內部名稱的 DNS 伺服器,例如 vSphere 的 vCenter 端點或 Azure Stack HCI 的雲端代理程式端點。 DNS 伺服器也必須能夠解析外部位址,例如 Azure URL 和 OS 映像下載 URL。 請與您的系統管理員合作,以確保管理電腦具有內部和外部 DNS 解析。 在 Proxy 環境中,Proxy 伺服器上的 DNS 解析應該解析內部端點和必要的外部位址。
若要在非 Proxy 案例中測試管理機器內部位址的 DNS 解析,請開啟命令提示字元並執行
nslookup <vCenter endpoint or HCI MOC cloud agent IP>
。 如果管理電腦在非 Proxy 案例中有內部 DNS 解析,您應該會收到答案。
設備 VM 必須到可解析內部名稱的 DNS 伺服器,例如 VMware vSphere 的 vCenter Server 端點,或 Azure Stack HCI 的雲端代理程式端點。 DNS 伺服器也必須能夠解析外部/內部位址,例如 Azure 服務位址和容器登錄名稱,以便從雲端下載 Arc 資源橋接器容器映像。
確認用來建立組態檔的 DNS 伺服器 IP 具有內部和外部位址解析。 如果沒有,請刪除設備、使用正確的 DNS 伺服器設定重新建立 Arc 資源橋接器組態檔,然後使用新的組態檔部署 Arc 資源橋接器。
移動 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 Server 位址建立 TCP 連線但遇到問題時,就會發生具有 errorCode: CreateConfigKvaCustomerError
和 errorResponse: error getting the vsphere sdk client
的錯誤。 當您的 vCenter Server 位址不正確 (403 或 404 錯誤) 或因為網路/Proxy/防火牆設定將其封鎖 (連線嘗試失敗) 時,便會發生此錯誤。
如果您輸入 vCenter 位址為主機名稱並收到錯誤 no such host
,則您的部署機器無法透過用戶端 DNS 解析 vCenter 主機名稱。 當部署機器能夠解析 vCenter Server 主機名稱,但是部署機器無法連線到從 DNS 收到的 IP 位址時,便可能發生此錯誤。 如果 DNS 傳回的端點不是您的 vCenter Server 位址,或流量遭到 Proxy 攔截,您可能也會看到此錯誤。 如果您的部署機器能夠與您的 vCenter Server 位址通訊,請確認您的使用者名稱和密碼正確無誤。
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 Server 通訊。
若要解決此問題,請確保您的管理機器符合管理機器需求,並且沒有防火牆或 Proxy 封鎖通訊。
vSphere SDK 用戶端 - 403 禁止或 404 找不到
在部署 Arc 資源橋接器時,包含 errorCode_: _CreateConfigKvaCustomerError_, _errorResponse_: _error getting the vsphere sdk client: POST \_/sdk\_: 403 Forbidden
或 404 not found
的錯誤很可能是因為 vCenter Server 位址不正確。 在設定檔建立期間,當系統提示您輸入主機名稱或 IP 位址形式的 vCenter Server 位址時,便會提供此位址。
有多種方式可以尋找您的 vCenter 位址。 一種選擇是透過 vSphere 的 Web 介面存取 vSphere 用戶端。 vCenter 主機名稱或 IP 位址通常是您在瀏覽器中用於存取 vSphere 用戶端的主機名稱或 IP 位址。 如果您已經登入,您可以查看瀏覽器的網址列,其中您用來存取 VMware vSphere 的 URL 便是 vCenter Server 的主機名稱或 IP 位址。 請驗證您的 vCenter Server 位址,然後重新嘗試部署。
vSphere SDK 用戶端 - 無此類主機
在部署期間,當部署機器無法將 vCenter Server 主機名稱解析為 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 Server 主機名稱的 TCP 連線,但是由於 DNS 解析問題而導致連線失敗。
若要修正此錯誤,請確保部署機器上的 DNS 設定正確,驗證 DNS 伺服器是否在上線,並且檢查 vCenter Server 主機名稱是否缺少 DNS 項目。 您可以從部署機器執行 nslookup your.vcenter.hostname
或 ping your.vcenter.hostname
來測試 DNS 解析。 如果您已將 vCenter Server 位址指定為主機名稱,請考慮直接使用 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 中組建設備虛擬機器的管理機器上傳 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 }\"" }
當 VMware vSphere 網路區段因多個 VMware vSphere 網路區段使用錯誤中指定的相同名稱而解析為多個網路時,便會發生此錯誤。 若要修正此錯誤,請在 vCenter Server 中變更重複的網路名稱 (而非在具有設備 VM 的網路中),或在不同的網路上部署 Arc 資源橋接器。
Arc 資源橋接器狀態已中斷連線
執行初始啟用 Arc 的 VMware 上線指令碼時,系統會提示您提供 VMware vSphere 帳戶。 此帳戶作為加密的 Kubernetes 祕密會本機儲存在 Arc 資源橋接器中。 此帳戶用於允許 Arc 資源橋接器來與 vCenter 互動。
如果儲存在資源橋接器本機內的 VMware vSphere 帳戶過期,您的 Arc 資源橋接器狀態可能會變為已中斷連線。 請依照更新 VMware vSphere 帳戶認證指示 (英文) 更新 Arc 資源橋接器內的認證和已啟用 Arc 的 VMware 的認證。
主機設定期間發生錯誤
如果您多次使用相同範本部署和刪除 Arc 資源橋接器,可能會遇到下列錯誤:
Appliance cluster deployment failed with error: Error: An error occurred during host configuration
若要解決此問題,請手動刪除現有範本。 然後執行 az arcappliance prepare
以下載部署的新範本。
無法尋找資料夾
在 VMware 上部署 Arc 資源橋接器時,您可以指定在其中建立範本和虛擬機器的資料夾。 所選資料夾必須是虛擬機器和範本資料夾類型。 其他類型的資料夾,例如儲存體資料夾、網路資料夾或主機和叢集資料夾,無法使用資源橋接器部署。
無法擷取資源 - 找不到或不存在
在部署 Arc 資源橋接器時,您會指定設備 VM 的部署位置。 無法從該位置路徑移動設備 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 Server 上部署或升級資源橋接器時,您可能會看到類似如下的錯誤:
{ ""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 Server 認證。 Arc 資源橋接器會在本機儲存這些 vCenter Server 認證,以與 vCenter Server 互動。 若要解決遺漏權限的問題,資源橋接器所使用的 vCenter 帳戶需要 VMWare vCenter 中的下列權限:
資料存放區:
- 配置空間
- 瀏覽資料存放區
- 低階檔案作業
資料夾:
- 建立資料夾
VMware vSphere 標記:
- 指派或取消指派 vSphere 標記
網路:
- 指派網路
資源:
- 將虛擬電腦指派給資源集區
- 移轉已關閉電源的虛擬機器
- 移轉已開啟電源的虛擬機器
工作階段:
- 驗證工作階段
vApp:
- 指派資源集區
- Import
虛擬機器:
- 變更組態
- 取得磁碟租用
- 新增現有磁碟
- 新增磁碟
- 新增或移除裝置
- 進階設定
- 變更 CPU 計數
- 變更記憶體
- 變更設定
- 變更資源
- 設定 managedBy
- 顯示連線設定
- 擴充虛擬磁碟
- 修改裝置設定
- 查詢容錯相容性
- 查詢未擁有的檔案
- 從路徑重新載入
- 移除磁碟
- 重新命名
- 重設來賓資訊
- 設定註釋
- 切換磁碟變更追蹤
- 切換分叉父代
- 升級虛擬機器相容性
- 編輯詳細目錄
- 從現有項目中建立
- 新建
- 註冊
- 移除
- Unregister
- 客體作業
- 客體作業別名修改
- 客體作業修改
- 客體作業程式執行
- 客體作業查詢
- 互動
- 連接裝置
- 主控台互動
- VIX API 的客體作業系統管理
- 安裝 VMWare 工具
- 關閉電源
- 開啟電源
- Reset
- 暫止
- 佈建
- 允許磁碟存取
- 允許檔案存取
- 允許唯讀磁碟存取
- 允許虛擬機器下載
- 允許虛擬機器檔案上傳
- 複製虛擬機器
- 部署範本
- 標示為範本
- 標示為虛擬機器
- 自訂客體
- 快照集管理
- 建立快照集
- 移除快照集
- 還原為快照集
下一步
了解在已啟用 Azure Arc 的 VMware vSphere 災害案例中,如何進行資源橋接器的復原作業
如果在這裡沒有看到問題或無法解決問題,請嘗試下列其中一個管道以取得支援:
- 透過 Microsoft Q&A 取得 Azure 專家提供的解答。
- 連線至 @AzureSupport,這是用來改善客戶體驗的官方 Microsoft Azure 帳戶。 Azure 支援會將 Azure 社群連線到解答、支援及專家。
- 開啟 Azure 支援要求。