編輯

共用方式為


解決在 Arc 啟用的 AKS 工作負載叢集上啟用或停用 Azure Arc 時發生的錯誤

適用於:Azure Stack HCI 上的 AKS、Windows Server 上的 AKS

本文說明在 AKS Arc 中使用 PowerShell Cmdlet Enable-AksHciArcConnectionDisable-AksHciArcConnection 將 AKS 工作負載叢集連線或中斷聯機至 Azure Arc 時,可能會遇到 (及其) 因應措施的錯誤。如需本文未涵蓋的問題,請參閱 針對已啟用Arc的 Kubernetes 進行疑難解答

如果以下列出的因應措施皆不適用,您也可以開啟支援問題

錯誤:「找不到名稱為 『my-aks-cluster』 的工作負載叢集」

此錯誤表示您尚未建立工作負載叢集,或工作負載叢集的名稱拼寫不正確。

執行 Get-AksHciCluster ,以確保您有正確的名稱,或您想要連線到 Arc 的叢集存在。

錯誤:「System.Management.Automation.RemoteException 開始上線程式叢集 “azure-arc-onboarding” set...

當您使用 Windows Admin Center 建立工作負載叢集,並將其連線到已啟用 Arc 的 Kubernetes 時,可能會發生下列錯誤:

System.Management.Automation.RemoteException Starting onboarding process Cluster "azure-arc-onboarding" set. User "azure-arc-onboarding" set. Context "azure-arc-onboarding" created. Switched to context "azure-arc-onboarding". Azure login az login: error: argument --password/-p: expected one argument usage: az login [-h] [--verbose] [--debug] [--only-show-errors] [--output {json,jsonc,yaml,yamlc,table,tsv,none}] [--query JMESPATH] [--username USERNAME] [--password PASSWORD] [--service-principal] [--tenant TENANT] [--allow-no-subscriptions] [-i] [--use-device-code] [--use-cert-sn-issuer] : Job Failed Condition]

若要解決此問題,請參閱下列選項:

  • 選項 1:刪除工作負載叢集,然後使用 Windows Admin Center 再試一次。
  • 選項 2:在 PowerShell 中,執行 Get-AksHciCluster 命令檢查是否已成功建立叢集,然後使用 Enable-AksHciArcConnection 將您的叢集連線至 Arc。

如果使用 Connect-AzAccount 登入 Azure,Enable-AksHciArcConnection 就會失敗

當您使用 Connect-AzAccount 登入 Azure 時,可能會將不同的訂用帳戶設定為預設內容,而不是您提供給 Set-AksHciRegistration 的輸入。 接著,您執行 Enable-AksHciArcConnection 時,命令會要求 Set-AksHciRegistration 中使用的訂用帳戶。 然而,使用 Connect-AzAccountEnable-AksHciArcConnection 會取得預設訂用帳戶集合,這可能會造成錯誤。

若要避免此錯誤,請遵循下列其中一個選項:

  • 選項 1:使用相同的參數 (訂用帳戶和資源群組) 來執行 Set-AksHciRegistration 登入 Azure,此參數是您在第一次執行命令將 AKS 主機連線至 Azure 以供計費所使用。 接著您可以使用 Enable-AksHciArcConnection -Name <ClusterName> 及預設值,以 AKS 主機計費訂用帳戶和資源群組,將您的叢集連線至 Arc。

  • 選項 2:使用所有參數 subscriptionresource grouplocationtenantsecret 來執行 Enable-AksHciArcRegistration,以與 AKS 主機不同的訂用帳戶和資源群組,將您的叢集連線至 Azure Arc。 如果您沒有足夠的權限以使用您的 Azure 帳戶將叢集連線至 Azure Arc,則應也執行 Enable-AksHciArcRegistration (例如,如果您不是訂用帳戶擁有者)。

錯誤:「等候條件逾時」

此錯誤通常指向下列其中一個問題:

  • 叢集是在虛擬化環境中的 Azure VM 中建立的,或者您在多個虛擬化層級上部署 Azure Stack HCI 上的 AKS。
  • 因特網緩慢導致逾時。

如果上述其中一個案例適用於您,請執行 Disable-AksHciArcConnection,然後再試一次連線。 如果上述案例不適用於您,請針對 Azure Stack HCI 上的 AKS 提出支持問題

錯誤:「找不到秘密 “sh.helm.release.v1.azure-arc.v1”

此錯誤表示無法連線至您的 Kubernetes API 伺服器。

請嘗試再次執行 Disable-AksHciArcConnection 命令,然後移至 Azure 入口網站來確認您確實已刪除 connectedCluster 資源。 您也可以執行 kubectl get ns -A,確認命名空間、azure-arc 不存在於您的叢集上。

錯誤:「更新代理程式以啟用功能時發生錯誤」

如果您在連線至 Azure Arc 的 AKS 叢集上啟用自定義位置和叢集連線功能,您可能會看到下列錯誤:

Error while updating agents for enabling features. Please run "kubectl get pods -n azure-arc" to check the pods in case of timeout error. Error: Error: UPGRADE FAILED: timed out waiting for the condition

這是九月版本的已知問題,並已在十月版本中修正。 使用 10 月版本建立的新 AKS 叢集,並使用 Enable-AksHciArcConnection 連線到 Arc 時,不會遇到此問題。 將您的 AKS Arc 部署更新為 10 月版本,然後將現有的叢集重新連線至 Arc,以解決此問題。

錯誤:「與 Azure 的連線失敗。 請執行 'Set-AksHciRegistration',然後再試一次'

此錯誤表示您的 Azure 登入認證已過期。

再次執行 Enable-AksHciArcConnection 命令之前,請使用 Set-AksHciRegistration 登入 Azure。 執行 Set-AksHciRegistration 時,請確保您使用的訂用帳戶和資源群組詳細資料,與您第一次將 AKS 主機註冊至 Azure 以供計費時所使用的內容相同。 如果您使用不同的訂用帳戶或資源群組重新執行命令,則將不會註冊。 在 中 Set-AksHciRegistration設定訂用帳戶和資源群組之後,就無法在卸載 AKS Arc 的情況下加以變更。

錯誤:''My-Cluster' 不是有效的叢集名稱。 名稱必須是小寫,且符合正則表達式模式:'^[a-z0-9][a-z0-9-]*[a-z0-9]$''

此錯誤表示工作負載叢集未遵循 Kubernetes 命名慣例。

如錯誤所示,請確定叢集名稱為小寫,並符合正則表達式模式:'^[a-z0-9][a-z0-9-]*[a-z0-9]$'。

錯誤:'addons.msft.microsoft “demo-arc-onboarding” 已經存在'

此錯誤通常表示您已將 AKS 叢集連線到已啟用 Arc 的 Kubernetes。 若要確認是否已連線,請在執行 Set-AksHciRegistration (如果已使用預設值) 或 Enable-AksHciArcConnection (如果尚未使用預設值) 時,移至 Azure 入口網站,然後在所提供的訂用帳戶和資源群組下進行檢查。 您也可以執行 az connectedk8s show Azure CLI 命令,確認是否已將 Azure Stack HCI 叢集上的 AKS 連線至 Azure。 如果您未看到您的工作負載叢集,請執行 Disable-AksHciArcConnection,然後再試一次。

錯誤:『autorest/azure:服務傳回錯誤。 Status=404 Code=“ResourceNotFound”...'

下列錯誤表示 Azure 無法找到與您叢集相關聯的 connectedCluster ARM 資源:

autorest/azure: Service returned an error. Status=404 Code="ResourceNotFound" Message="The Resource 'Microsoft.Kubernetes/connectedClusters/my-workload-cluster' under resource group 'AKS-HCI2' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"]

如果發生下列情況,您可能會遇到此錯誤:

  • 您在執行 Disable-AksHciArcConnection Cmdlet 時,提供不正確的資源群組或訂用帳戶。
  • 您已手動刪除 Azure 入口網站上的資源。
  • ARM 找不到您的 Azure 資源。

若要解決此問題 (如錯誤訊息所示),請參閱解決找不到資源的錯誤

錯誤:'叢集附加元件 arc 卸載錯誤:找不到命名空間 “azure-arc”

此錯誤通常表示您已從工作負載叢集中解除安裝 Arc 代理程式,或已使用 kubectl 命令手動刪除 azure-arc 命名空間。

請移至 Azure 入口網站,確認您沒有任何流失的資源。 例如,確認您在訂用帳戶和資源群組中看不到 connectedCluster 資源。

錯誤:「Azure 訂用帳戶未正確設定」

如果您尚未使用已啟用 Arc 的 Kubernetes 資源提供者來設定 Azure 訂用帳戶,可能會遇到此問題。 我們目前檢查 Microsoft.KubernetesMicrosoft.KubernetesConfiguration 皆已設定。

如需啟用這些資源提供者的詳細資訊,請參閱 註冊已啟用Arc的 Kubernetes 提供者