解决安装 AKS Arc 期间的问题和错误

适用于:Azure Stack HCI 上的 AKS、Windows Server 上的 AKS本文介绍安装 AKS Arc 时可能会遇到的已知问题和错误。还可以查看升级 AKS Arc 和使用 Windows Admin Center 时的已知问题。

错误“无法等待加载项 arc-onboarding”

运行 Install-AksHci 后出现此错误消息。

注意

此错误可能是由于在安装程序上启用了专用链接。 目前,此方案没有解决方法。 HCI 上的 AKS 不适用于专用链接。

如果不使用 专用链接,请使用以下步骤来解决此问题:

  1. 打开 PowerShell 并运行 Uninstall-AksHci
  2. 打开 Azure 门户,并导航到运行 Install-AksHci 时使用的资源组。
  3. 检查任何处于“断开连接”状态和包括显示为随机生成的 GUID 的名称的已连接群集资源。
  4. 删除这些群集资源。
  5. 关闭 PowerShell 会话并打开新会话,然后再次运行 Install-AksHci

错误:“Install-AksHci 失败,服务返回错误。 安装 AKS-HCI 时的状态=403 Code=“RequestDisallowedByPolicy”错误

此错误可能是由于安装过程尝试违反在 Azure Arc 载入过程中提供的 Azure 订阅或资源组上设置的 Azure 策略造成的。 如果用户已在订阅或资源组级别定义 Azure 策略,然后尝试安装 Azure Stack HCI 上的 AKS 时违反了 Azure Policy,则可能会发生此错误。

若要解决此问题,请阅读错误消息以了解违反 Azure 管理员设置的哪些Azure Policy,然后通过对 Azure 策略进行异常来修改 Azure 策略。 若要了解有关 Policy 例外的详细信息,请参阅 Azure Policy 例外结构

错误:Install-AksHci 失败并出现错误 - [对象已存在] 为群集角色“xx-xxxxx-xxxx-xxxx-xxxx-xxxxxxx”创建资源“IPv4 Address xxx.xx.xx.xx”时出错

以前安装的功能仍处于失败状态,并且尚未清除。 你可能会看到以下错误:

Exception [An error occurred while creating resource 'MOC Cloud Agent Service' for the clustered role 'ca-3f72bdeb-xxxx-4ae9-a721-3aa902a998f0'.]
Stacktrace [at Add-FailoverClusterGenericRole, C:\Program Files\WindowsPowerShell\Modules\Moc\1.0.20\Common.psm1: line 2987
at Install-CloudAgent, C:\Program Files\WindowsPowerShell\Modules\Moc\1.0.20\Moc.psm1: line 1310
at Install-MocAgents, C:\Program Files\WindowsPowerShell\Modules\Moc\1.0.20\Moc.psm1: line 1229
at Initialize-Cloud, C:\Program Files\WindowsPowerShell\Modules\Moc\1.0.20\Moc.psm1: line 1135
at Install-MocInternal, C:\Program Files\WindowsPowerShell\Modules\Moc\1.0.20\Moc.psm1: line 1078
at Install-Moc, C:\Program Files\WindowsPowerShell\Modules\Moc\1.0.20\Moc.psm1: line 207
at Install-AksHciInternal, C:\Program Files\WindowsPowerShell\Modules\AksHci\1.1.25\AksHci.psm1: line 3867
at Install-AksHci, C:\Program Files\WindowsPowerShell\Modules\AksHci\1.1.25\AksHci.psm1: line 778
at <ScriptBlock>, <No file>: line 1]
InnerException[The object already exists]

或者,你可能看到:

Install-Moc failed.
Exception [Unable to save property changes for 'IPv4 Address xxx.168.18.0'.]
Stacktrace [at Add-FailoverClusterGenericRole, C:\Program Files\WindowsPowerShell\Modules\Moc\1.0.20\Common.psm1: line 2971
at Install-CloudAgent, C:\Program Files\WindowsPowerShell\Modules\Moc\1.0.20\Moc.psm1: line 1310
at Install-MocAgents, C:\Program Files\WindowsPowerShell\Modules\Moc\1.0.20\Moc.psm1: line 1229
at Initialize-Cloud, C:\Program Files\WindowsPowerShell\Modules\Moc\1.0.20\Moc.psm1: line 1135
at Install-MocInternal, C:\Program Files\WindowsPowerShell\Modules\Moc\1.0.20\Moc.psm1: line 1078
at Install-Moc, C:\Program Files\WindowsPowerShell\Modules\Moc\1.0.20\Moc.psm1: line 207
at Install-AksHciInternal, C:\Program Files\WindowsPowerShell\Modules\AksHci\1.1.25\AksHci.psm1: line 3867
at Install-AksHci, C:\Program Files\WindowsPowerShell\Modules\AksHci\1.1.25\AksHci.psm1: line 778
at <ScriptBlock>, <No file>: line 1]
InnerException[A matching cluster network for the specified IP address could not be found]

若要解决此问题,请手动清理群集角色。 可以通过运行以下 PowerShell cmdlet 从故障转移群集管理器中删除资源: Remove-ClusterResource -name <resource name>

错误:“API 调用返回的 GetRelease 错误:文件下载错误:哈希不匹配”

Install-AksHci cmdlet 失败,并显示“API 调用返回的 GetRelease 错误:文件下载错误:哈希不匹配”。

  1. 打开 PowerShell 并运行 Uninstall-AksHci
  2. 重试安装。
  3. 如果问题仍然存在,请在重试安装之前,将 -concurrentDownloads 参数与 Set-AksHciConfig 一起使用,并将其设置为低于默认 10 的数字。 减少并发下载数可能有助于敏感网络成功完成大型文件下载。 此参数是预览功能。

部署 Azure Stack HCI 上的 AKS 21H2 后,重新启动节点时显示了失败的计费状态

部署后,在重新启动 Azure Stack HCI 节点时,AKS 报告显示了失败的计费状态。

要解决此问题,请按照说明手动轮换令牌并重启 KMS 插件

Install-AksHci 出现错误“”的超时

运行 Install-AksHci 后,安装停止并显示以下错误消息:

\kubectl.exe --kubeconfig=C:\AksHci\0.9.7.3\kubeconfig-clustergroup-management 
get akshciclusters -o json returned a non zero exit code 1 
[Unable to connect to the server: dial tcp 192.168.0.150:6443: 
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.]

有多种原因导致安装可能失败并出现 waiting for API server 错误。

以下部分概述了此错误的可能原因和解决方案。

原因 1:IP 网关配置不正确 如果使用静态 IP 地址并收到以下错误消息,请确认 IP 地址和网关的配置正确。

Install-AksHci 
C:\AksHci\kvactl.exe create --configfile C:\AksHci\yaml\appliance.yaml  --outfile C:\AksHci\kubeconfig-clustergroup-management returned a non-zero exit code 1 [ ]

若要检查 IP 地址和网关的配置是否正确,请运行以下命令:

ipconfig /all

在显示的配置设置中,确认配置。 还可以尝试 ping IP 网关和 DNS 服务器。

ping <DNS server>

如果这些方法不起作用,请使用 New-AksHciNetworkSetting 更改配置。

原因 2:DNS 服务器不正确 如果使用静态 IP 地址,请确认 DNS 服务器配置正确。 若要检查主机的 DNS 服务器地址,请使用以下命令:

Get-NetIPConfiguration.DNSServer | ?{ $_.AddressFamily -ne 23} ).ServerAddresses

运行以下命令,确认 DNS 服务器地址与运行 New-AksHciNetworkSetting 时使用的地址相同:

Get-MocConfig

如果 DNS 服务器配置有误,请使用正确的 DNS 服务器重新安装 Azure Stack HCI 上的 AKS。 有关详细信息,请查看重启、删除或重新安装 Azure Stack HCI 上的 Azure Kubernetes 服务

删除配置并使用新配置重启 VM 后,此问题得到了解决。

错误:“该进程无法访问 "mocstack.cab" 文件,因为它正在被另一个进程使用”

Install-AksHci 失败并出现此错误是因为另一个进程正在访问 mocstack.cab

若要解决此问题,请关闭所有打开的 PowerShell 窗口,然后重新打开新的 PowerShell 窗口。

错误:Install-AksHci 失败,并显示“Install-MOC 失败并出现错误 - 进程无法访问文件 \<path> ,因为它正由另一个进程使用。

由于另一个进程正在使用该文件,因此无法进行访问。

可通过重启 PowerShell 会话来解决此问题。 关闭 PowerShell 窗口,然后重试 Install-AksHci。

错误:“远程主机强行关闭了现有连接”

Install-AksHci 失败并出现此错误,因为 AZURE Stack HCI 上的 AKS 配置中提供的 IP 池范围在 CIDR 中关闭了 1,并可能导致 CloudAgent 崩溃。 例如,如果子网 10.0.0.0/21 的地址范围为 10.0.0.0-10.0.7.255,但你使用 10.0.0.1 作为起始地址,使用 10.0.7.254 作为结束地址,这将导致 CloudAgent 崩溃。

若要解决此问题,请运行 New-AksHciNetworkSetting,并为 VIP 池和 Kubernetes 节点池使用任何其他有效的 IP 地址范围。 请确保使用的值在地址范围的开头或末尾不关闭 1。

Install-AksHci 多节点安装失败,出现错误“节点尚未达到活动状态”

在单节点安装上运行 Install-AksHci 时,安装运行正常,但在设置故障转移群集时,安装失败并出现错误消息。 但对云代理执行 ping 操作时又显示 CloudAgent 是可访问的。

若要确保所有节点都可以解析 CloudAgent 的 DNS,请在每个节点上运行以下命令:

Resolve-DnsName <FQDN of cloudagent>

在节点上成功执行上述步骤后,请确保节点可以访问 CloudAgent 端口,以验证代理是否未尝试阻止此连接,并且是否已打开端口。 若要进行此验证,请在每个节点上运行以下命令:

Test-NetConnection  <FQDN of cloudagent> -Port <Cloudagent port - default 65000>

Azure Stack HCI 上的 AKS 下载包失败,出现错误:“msft.sme.aks 无法加载”

错误源于下载时出现错误。

如果收到此错误,应使用最新版本的 Microsoft Edge 或 Google Chrome,然后重试。

运行 Set-AksHciRegistration 时,将显示错误“无法检查已注册的资源提供程序”

在 Azure Stack HCI 上的 AKS 安装中运行 Set-AksHciRegistration 后出现此错误。 此错误表示没有为当前已登录的租户注册 Kubernetes 资源提供程序。

若要解决此问题,请执行以下 Azure CLI 或 PowerShell 步骤:

az provider register --namespace Microsoft.Kubernetes
az provider register --namespace Microsoft.KubernetesConfiguration
Register-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Register-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration

完成注册大约需要 10 分钟时间。 可以使用以下命令来监视注册过程。

az provider show -n Microsoft.Kubernetes -o table
az provider show -n Microsoft.KubernetesConfiguration -o table
Get-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Get-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration

在超时之前,Install-AksHci 挂起在“等待 azure-arc-onboarding 完成”阶段

注意

此问题在 2022 年 5 月版本及更高版本中已修复。

Install-AksHci 在超时之前会在 Waiting for azure-arc-onboarding to complete 处挂起,但有以下前提条件:

  • Azure Stack HCI 上的 AKS 注册 (Set-AksHciRegistration) 中使用了服务主体。
  • 安装了 Az.Accounts PowerShell 模块版本 (2.7.x)。

Az.Accounts 2.7.x 版本删除了 PSAzureRmAccount 中的 ServicePrincipalSecretCertificatePassword,但 Azure Stack HCI 上的 AKS 需要使用它才能加入 Azure Arc。

重现步骤:

  1. 安装 Az.Accounts PowerShell 模块版本 (>= 2.7.0)。
  2. 使用服务主体的 Set-AksHciRegistration
  3. Install-AksHci.

预期行为:

  1. Azure Stack HCI 上的 AKS 安装在 Waiting for azure-arc-onboarding to complete 处挂起。
  2. Azure-arc-onboarding pod 进入崩溃循环。
  3. Azure-arc-onboarding Pod 错误,出现以下错误:
    Starting onboarding process ERROR: variable CLIENT_SECRET is required

若要解决此问题,请执行下列操作:

卸载 Az.Accounts 模块版本 2.7.x。运行以下 cmdlet:

Uninstall-Module -Name Az.Accounts -RequiredVersion 2.7.0 -Force

在安装过程中,出现此错误:“无法创建设备 VM: 无法创建虚拟机:rpc 错误 = 未知 desc = 发生异常。 (泛型故障) ]'

Azure Stack HCI 违反策略时,会出现此错误。 群集上的连接状态可能显示其已连接,但事件日志则显示警告消息:Azure Stack HCI's subscription is expired, run Sync-AzureStackHCI to renew the subscription

若要解决此错误,请使用计算机上提供的 Get-AzureStackHCI PowerShell cmdlet 验证群集是否已注册到 Azure。 Windows Admin Center 面板也会显示群集的 Azure 注册状态信息。

如果群集已注册,则应在 Get-AzureStackHCI 的输出中查看 LastConnected 字段。 如果该字段显示 30 天以上,应尝试使用 Sync-AzureStackHCI cmdlet 来解决此问题。

还可使用以下 cmdlet 来验证群集的每个节点是否都具有所需的许可证:

Get-ClusterNode | % { Get-AzureStackHCISubscriptionStatus -ComputerName $_ }
Computer Name Subscription Name           Status   Valid To
------------- -----------------           ------   --------
MS-HCIv2-01   Azure Stack HCI             Active   12/23/2021 12:00:14 AM
MS-HCIv2-01   Windows Server Subscription Inactive

MS-HCIv2-02   Azure Stack HCI             Active   12/23/2021 12:00:14 AM
MS-HCIv2-02   Windows Server Subscription Inactive

MS-HCIv2-03   Azure Stack HCI             Active   12/23/2021 12:00:14 AM
MS-HCIv2-03   Windows Server Subscription Inactive

如果运行 Sync-AzureStackHCI cmdlet 后未解决此问题,应联系 Microsoft 支持部门。

安装失败后,运行 Install-AksHci 不起作用

发生此问题的原因是安装失败可能会导致资源泄漏,必须先清理这些泄漏的资源才能再次安装。

如果使用 安装失败,应在再次运行 之前运行 Uninstall-AksHci

错误:“无法协调虚拟网络”或“错误:Install-Moc 失败并出现错误 - 异常 [[Moc] 此计算机似乎未配置部署]”

在没有先运行 Set-AksHciConfig 的情况下运行时Install-AksHci,可以触发这些错误。

若要解决此错误,请运行 uninstall-akshci 并关闭所有 PowerShell 窗口。 打开一个新的 PowerShell 会话,并按照使用 PowerShell 安装 AKS-HCI 中的说明,重新启动 AKS-HCI 安装过程。

Set-AksHciConfig 失败并出现错误“API 调用返回的 GetCatalog 错误: ...proxyconnect tcp: tls:第一条记录看起来不像 TLS 握手”

Set-AksHciConfig PowerShell cmdlet 失败并出现以下错误:

GetCatalog error returned by API call: ... proxyconnect tcp: tls: first record does not look like a TLS Handshake

如果将 AKS 与代理服务器一起使用,则可能在设置所需的 HTTPS 代理 URL 值时使用了错误的 URL。 使用代理服务器配置 AKS 时,HTTP 代理 URL 和 HTTPS 代理 URL 值都是必需的,但通常需要这两个值来共享相同的 HTTP 前缀 URL。

如果环境中可能存在这种情况,请尝试以下缓解步骤:

  1. 关闭 PowerShell 窗口并打开一个新窗口。
  2. New-AksHciNetworkSetting再次运行 和 New-AksHciProxySetting cmdlet。 运行 New-AksHciProxySetting时, -https 使用为 -http设置的相同 HTTP 前缀 URL 值设置 参数。
  3. 运行 Set-AksHciConfig 并继续。

使用配置错误的网络在 Azure Stack HCI 上部署 AKS 时,部署会在不同时间点超时

在 Azure Stack HCI 上部署 AKS 时,部署可能会在过程的不同点超时,具体取决于发生错误配置的位置。 应查看错误消息,确定原因及其发生位置。

例如,在下面的错误中,发生配置错误的点在 Get-DownloadSdkRelease -Name "mocstack-stable" 中:

$vnet = New-AksHciNetworkSettingSet-AksHciConfig -vnet $vnetInstall-AksHciVERBOSE: 
Initializing environmentVERBOSE: [AksHci] Importing ConfigurationVERBOSE: 
[AksHci] Importing Configuration Completedpowershell : 
GetRelease - error returned by API call: 
Post "https://msk8s.api.cdp.microsoft.com/api/v1.1/contents/default/namespaces/default/names/mocstack-stable/versions/0.9.7.0/files?action=generateDownloadInfo&ForegroundPriority=True": 
dial tcp 52.184.220.11: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.At line:1 char:1+ powershell -command
{ Get-DownloadSdkRelease -Name "mocstack-stable"}

这表示物理 Azure Stack HCI 节点可以解析下载 URL msk8s.api.cdp.microsoft.com 的名称,但该节点无法连接到目标服务器。

若要解决此问题,需要确定连接流中发生中断的位置。 下面是尝试从物理群集节点解决问题的一些步骤:

  1. Ping 目标 DNS 名称:ping msk8s.api.cdp.microsoft.com
  2. 如果收到响应且没有超时,则表示基本网络路径正常运行。
  3. 如果连接超时,则可能是数据路径中发生了中断。 有关详细信息,请参阅检查代理设置。 或者,可能是返回路径中发生了中断,因此应检查防火墙规则。

Set-AksHciConfig 运行失败,出现 WinRM 错误,但显示 WinRM 配置正确

运行 Set-AksHciConfig 时,可能会遇到以下错误:

WinRM service is already running on this machine.
WinRM is already set up for remote management on this computer.
Powershell remoting to TK5-3WP08R0733 was not successful.
At C:\Program Files\WindowsPowerShell\Modules\Moc\0.2.23\Moc.psm1:2957 char:17
+ ...             throw "Powershell remoting to "+$env:computername+" was n ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (Powershell remo...not successful.:String) [], RuntimeException
    + FullyQualifiedErrorId : Powershell remoting to TK5-3WP08R0733 was not successful.

发生此错误是因为用户的安全令牌更改(由于组成员身份更改)、密码更改或密码过期。 在多数情况下,可以通过从计算机注销并重新登录来修正该问题。 如果仍然失败,可以在 GitHub AKS HCI 问题中提出问题

Moc 代理日志轮换失败

Moc 代理应仅保留最后的 100 条代理日志。 它们应删除较旧的日志。 但日志轮换不会发生,并且日志会不断累积并消耗磁盘空间。

重现步骤:Install AksHci 并让群集启动并运行,直到代理日志数量超过 100 条。 创建第 n 条日志时,应删除第 n-100 条日志(如果存在)。

若要解决问题,请执行以下操作:

  1. 修改云代理和节点代理的 logconf 文件。 云代理 logconfig 位于:
    (Get-MocConfig).cloudConfigLocation+"\log\logconf".
    节点代理 logconfig 位于:
    (Get-MocConfig).cloudConfigLocation+"\log\logconf".

  2. 将“限制”的值更改为“100”,将“槽位数”更改为 100 并保存配置文件。

  3. 重启云代理和节点代理以注册这些更改。

这些步骤仅在从代理重启生成了 100 条新日志后才开始进行日志轮换。 如果在重启时已有 n 条代理日志,则日志轮换将仅在生成了 n+ 100 条日志后才会开始。

当使用的路径名称包含空格时,云代理可能无法成功启动

使用 Set-AksHciConfig 指定路径名包含空格字符(例如 D:\Cloud Share\AKS HCI)的 -workingDir-cloudConfigLocation-nodeConfigLocation 参数时,云代理群集服务将无法启动,并显示以下(或类似)错误消息:

Failed to start the cloud agent generic cluster service in failover cluster. The cluster resource group os in the 'failed' state. Resources in 'failed' or 'pending' states: 'MOC Cloud Agent Service'

若要解决此问题,请使用不包含空格的路径,例如 C:\CloudShare\AKS-HCI

错误:“Install-Moc 失败并出现错误 - 异常 [无法访问 CloudAgent。 MOC CloudAgent 可能由于以下原因而无法访问]'

如果基础结构配置不正确,可能就会出现此错误。

请使用以下步骤解决此错误:

  1. 检查主机 DNS 服务器配置和网关设置:

    1. 确认正确配置了 DNS 服务器。 若要检查主机的 DNS 服务器地址,请运行以下命令:
      ((Get-NetIPConfiguration).DNSServer | ?{ $_.AddressFamily -ne 23}).ServerAddresses
      
    2. 若要检查 IP 地址和网关配置是否正确,请运行命令 ipconfig/all
    3. 尝试对 IP 网关和 DNS 服务器执行 ping 操作。
  2. 检查 CloudAgent 服务,确保该服务正在运行:

    1. 对 CloudAgent 服务执行 ping 操作,确保它可访问。
    2. 在每个节点上运行以下命令,确保所有节点都可以解析 CloudAgent 的 DNS:
      Resolve-DnsName <FQDN of cloudagent>
      
    3. 在节点上成功执行前述步骤后,请确保节点可以访问 CloudAgent 端口,以验证代理是否未尝试阻止此连接,并且是否已打开端口。 若要进行此验证,请在每个节点上运行以下命令:
      Test-NetConnection <FQDN of cloudagent> -Port <Cloudagent port - default 65000>
      
    4. 若要检查群集服务是否正在针对故障转移群集运行,还可运行以下命令:
      Get-ClusterGroup -Name (Get-AksHciConfig).Moc['clusterRoleName']
      

错误:“Install-Moc 失败。 异常 [这通常表示在将资源名称注册为计算机对象到域控制器和/或 DNS 服务器时出现问题。 请检查群集计算机对象是否有权在域控制器中创建计算机对象。 请检查域控制器和 DNS 日志以获取相关错误消息。

这通常表示表示Active Directory 域服务 (AD DS) 中表示基础故障转移群集的群集名称对象 (CNO) 无权在组织单位 ( (OU) 或群集所在的容器中创建 VCO) 虚拟计算机对象。

如果你不是域管理员,则可以要求用户向 OU 授予 CNO 权限 ,或者 为云代理通用群集服务预留 VCO

如果你是域管理员,则仍可能你的 OU 或容器没有所需的权限。 例如, KB5008383中引入的强制模式可能在 Active Directory 中启用。 在尝试重新安装之前,请尝试以下操作。

  1. 导航到Active Directory 用户和计算机
  2. 右键单击群集所在的 OU 或容器。
  3. 选择“ 委托控件...” 以打开 “控件委派向导”。
  4. 单击“ 下一步> ”单击 “添加...” 打开 “选择用户、计算机或组” 窗口。
  5. 选择要向其委派控件 > 的组或用户,单击 “确定”。
  6. 选择“ 创建委托的> 自定义任务”,单击 “下一步 ”转到 “Active Directory 对象类型 ”页。
  7. 在文件夹中>选择“仅以下对象”选择“计算机对象>”选择“在此文件夹中创建所选对象”,并删除此文件夹中>的选定对象 单击“下一步”转到“权限”页。
  8. 从权限>列表中选择“创建所有子对象”和“删除所有子对象”,单击“下一步>完成

如果重新安装失败,请重试上述操作,对步骤 7 和 8 进行以下更改:

  • 步骤 7:选择 “此文件夹”、“此文件夹中的现有对象”,并在此文件夹中> 创建新对象,单击“ 下一步”。
  • 步骤 8:从权限>列表中选择“读取”、“写入”、“创建所有子对象”和“删除所有子对象”,单击“下一步>”单击“完成”。

错误:Install-AksHci 失败,并显示“Install-Moc 失败”。 日志可用 C:\Users\xxx\AppData\Local\Temp\v0eoltcc.a10'

运行 Install-AksHci 时,可能会收到此错误。

可以通过运行 $error = Install-AksHci 和 ,然后 $error[0].Exception.InnerException获取详细信息。

在创建新的工作负载群集之前,PowerShell 部署不会检查可用内存

创建 Kubernetes 节点之前,Aks-Hci PowerShell 命令不会验证主机服务器上的可用内存。 此问题可能会导致内存耗尽和虚拟机无法启动。 当前未正常处理此失败,部署将停止响应,且不会显示清楚的错误消息。

如果部署已停止响应,请打开事件查看器,并检查是否有 Hyper-V 相关错误消息指出没有足够的内存来启动 VM。

运行 Set-AksHciRegistration 时出现“无法获取令牌”错误

当你的 Azure 帐户中包含多个租户时,可能会出现此错误。

使用 $tenantId = (Get-AzContext).Tenant.Id 设置正确的租户。 然后,在运行 Set-AksHciRegistration 时包含此租户作为参数。

错误:“正在等待 Pod'Cloud Operator'就绪”

尝试在 Azure VM 上部署 AKS 群集时,安装停滞在 中 Waiting for pod 'Cloud Operator' to be ready...,然后失败并在两小时后超时。 尝试通过检查网关和 DNS 服务器来排除故障,使其能够正常工作。 检查 IP 或 MAC 地址冲突时未发现任何冲突。 日志未显示 VIP 池。 使用会返回传输层安全性 (TLS) 超时,而不是“未授权”的 sudo docker pull ecpacr.azurecr.io/kube-vip:0.3.4 来拉取容器映像时,有一个限制。

若要解决此问题,请执行以下步骤:

  1. 开始部署你的群集。
  2. 部署群集后,通过 SSH 连接到管理群集 VM,如下所示:
ssh -i (Get-MocConfig)['sshPrivateKey'] clouduser@<IP Address>
  1. 更改最大传输单位 (MTU) 设置。 请毫不犹豫地进行更改;如果更改太晚,则部署会失败。 修改 MTU 设置有助于取消阻止容器映像拉取。
sudo ifconfig eth0 mtu 1300
  1. 若要查看容器的状态,请运行以下命令:
sudo docker ps -a

执行这些步骤后,应取消阻止容器映像拉取。

错误:“Install-Moc 失败,出现错误 - 异常 [无法创建故障转移群集通用角色。]”

此错误表示云服务的 IP 地址不是群集网络的一部分,并且与启用了 client and cluster communication 角色的任何群集网络都不匹配。

若要解决此问题,请运行 Get-ClusterNetwork,其中 等于 ClusterAndClient。 然后,在其中一个群集节点上,选择名称、地址和地址掩码,验证为 -cloudServiceIP-cloudServiceIP 参数提供的 IP 地址是否与显示的其中一个网络匹配。

后续步骤

如果在使用 AKS Arc 时仍遇到问题,可以通过 GitHub 提交 bug。