Google Distributed Cloud 软件的错误

这是 Google Distributed Cloud 纯软件产品、裸机和 VMware 的错误目录。

每个错误条目都包含以下信息:

  • 错误 ID:格式为 E###### 的简短唯一标识符,其中 ###### 是唯一编号。

  • 错误标题:人类可读的简短错误说明。

  • 错误说明:详细信息,可帮助您排查和解决错误原因。

E000000:未指定 Kubeconfig 文件

执行 bmctl 命令时未指定 kubeconfig 文件。

如需继续,请确保使用 --kubeconfig 标志提供 kubeconfig 文件。

示例:

bmctl [command] --kubeconfig [kubeconfig-file]

E000001:kubeconfig 文件无效

提供的 kubeconfig 文件不处于常规文件模式。

请确保您指定了有效的 kubeconfig 文件,然后重试。

E000002:Bootstrap.Run 函数已被调用

Bootstrap.Run 函数会执行工作流,以初始化日志记录目录和文件,并可能在必要时创建引导集群。

此函数在执行 bmctl 命令期间仅会被调用一次,以防止创建多个引导集群。

如果 Bootstrap.Run 函数被调用多次,就会发生此错误,这不是预期行为。

请等待所有现有 bmctl 进程完成,然后重试该操作。

E000003:未找到匹配的区域或可用区

检查集群配置文件中 spec.clusterOperations.location 提供的地理位置是否存在于您的 Google Cloud 项目中。

您可以运行以下命令,找到项目中所有区域和可用区的列表:

gcloud compute regions list

如果您提供的区域或可用区存在于您的项目中,请确保您使用了正确的大小写。区域和可用区区分大小写。

E000004:Secret 存储在不正确的命名空间中

例如,返回的出错提示可能如下所示:

The secret 'x' should be stored in the namespace 'y'.
Please remove 'x' from the path "p" in the configuration file of cluster 'c'.

如需解决此问题,请从集群配置文件中移除在错误命名空间中引用的 Secret。

E000005:HTTP 状态代码不匹配

尝试访问 Google Cloud API 或 Google Container Registry API 时,返回了意外的 HTTP 状态代码。

确保您的代理配置已正确设置,并包含代理网址(如果适用)。

通过执行以下任一操作,确保提供服务账号密钥:

  • 将 GOOGLE_APPLICATION_CREDENTIALS 环境变量设置为包含服务账号凭证的文件的路径。
  • 运行以下命令,使用默认凭据向 Google Cloud 进行身份验证:

    gcloud auth application-default login
    

如需了解详情,请参阅 https://cloud.google.com/docs/authentication#adc。

在 Google Cloud 控制台 -> IAM 和管理 -> 服务账号中检查服务账号。 如果您的服务账号密钥已过期,请按照 https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/how-to/update-secrets 中所述的说明进行更新。

请检查服务账号的角色和权限,然后重试。 如需了解您需要创建和配置的 Google Cloud 资源,请参阅 https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/installing/configure-sa。

E000006:如果没有管理员集群的 Kubeconfig,则无法管理用户集群

如果没有管理员集群的 kubeconfig 路径,我们将无法管理用户集群。管理用户集群需要管理员集群的 kubeconfig 路径。

如需解决此错误,请确保在管理用户集群时使用 --kubeconfig 标志提供管理员集群的 kubeconfig 路径。

这可确保为管理用户集群正确配置必要的身份验证和权限。

E000007:版本不匹配

集群配置文件中 spec.anthosBareMetalVersion 下指定的版本与用于管理集群的 bmctl 二进制文件版本不匹配。

如需纠正此错误,请执行以下操作:

  • 将 bmctl 二进制文件更新为与集群版本匹配的适当版本。
  • 对于升级,请更新集群配置中指定的版本,以反映 bmctl 二进制文件版本。

E000008:未指定 ClusterOperations 配置

集群需要 ClusterOperations 配置。

确保在集群配置文件的 spec.clusterOperations 下为集群正确定义了 ClusterOperations 配置。

E000009:未指定 ClusterOperations 中的 ProjectID

ClusterOperations 配置中的 ProjectID 字段为空。管理集群操作需要 ProjectID。

确保在集群配置文件的 spec.clusterOperations.projectID 下正确定义了 ProjectID。

E000010:未指定 ClusterOperations 中的位置

ClusterOperations 配置中的 Location 字段为空。管理集群操作需要提供位置信息。

确保在集群配置文件的 spec.clusterOperations.location 下正确定义了位置。

E000011:使用访问令牌时无法使用服务账号

如果您的集群是使用访问令牌创建的,则需要移除集群配置文件中指定的服务账号密钥路径。

确保:

  1. 环境变量 GCP_ACCESS_TOKEN_X 已设置。
  2. 集群配置文件中引用的服务账号密钥路径会被移除。

E000012:使用访问令牌时无法使用服务账号

如果您的集群是使用服务账号密钥创建的,请确保:

  1. 未设置环境变量 GCP_ACCESS_TOKEN_X。
  2. 所有必需的服务账号密钥路径均已在集群配置文件中设置。

E000013:在没有 --force 的情况下绕过 Google Cloud 预检失败

标志 --bypass-gcp-preflight-errors 必须与 --force 一起设置。

请确保同时使用这两个标志,以便继续操作。

E000014:不支持 Docker 容器运行时

Docker 容器运行时不再受支持。

在集群配置文件的 spec.nodeConfig.containerRuntime 下,将容器运行时设置为 containerd。

E000015:未启用的 API

您的项目中未启用某些必需的 API。

确保已在项目中启用所有必需的 API,以便继续操作。如需了解详情,请参阅 https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/installing/configure-sa。

E000016:Kubeconfig 文件统计信息错误

提供的 kubeconfig 文件不存在或无法访问。

确保 kubeconfig 文件存在,并且 bmctl 命令具有访问该文件所需的权限。

E000017:未启用 IPV4 转发

管理员工作站上未启用 IPv4 转发。必须启用 IPv4 转发。

如需解决此错误,请按以下步骤操作:

  1. 确保文件 /proc/sys/net/ipv4/ip_forward 存在。
  2. 运行以下命令以启用 IPv4 转发:
echo '1' > /proc/sys/net/ipv4/ip_forward

E000018:无法解析配置文件

我们无法解析集群的配置文件。此问题可能是由多种原因造成的。

确保配置文件 bmctl-workspace/[cluster-name]/[cluster-name].yaml 存在,并且 bmctl 命令具有访问该文件所需的权限。

检查配置文件是否存在语法错误或缺少字段。

如果您需要更新配置文件,请务必遵循正确的格式和结构。如需了解详情,请参阅 https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/reference/cluster-config。

E000019:控制平面负载均衡器作业未完成

这表示在等待控制平面或负载均衡器作业完成时出错。

检查集群的控制平面或负载均衡器作业的状态:

kubectl describe jobs -A

如需详细了解特定错误,请查看命令返回的封装错误。

E000020:无法创建 HTTP 客户端

我们无法创建 HTTP 客户端来确保您的工作站可以访问 Google Cloud API 和 Container Registry。

确保您的代理配置已正确设置代理网址(如果适用)。

E000021:无法访问 Google API

我们无法验证与 Google Cloud API 或 Google Container Registry API 的连接。

您的工作站必须能够访问 Google Cloud API 和 Container Registry,才能正常运行。

通过执行以下任一操作,确保提供服务账号密钥:

  • 将 GOOGLE_APPLICATION_CREDENTIALS 环境变量设置为包含服务账号凭证的文件的路径。
  • 运行以下命令,使用默认凭据向 Google Cloud 进行身份验证:

    gcloud auth application-default login
    

如需了解详情,请参阅 https://cloud.google.com/docs/authentication#adc。

在 Google Cloud 控制台 -> IAM 和管理 -> 服务账号中检查服务账号。 如果您的服务账号密钥已过期,请按照 https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/how-to/update-secrets 中所述的说明进行更新。

请检查服务账号的角色和权限,然后重试。 如需了解您需要创建和配置的 Google Cloud 资源,请参阅 https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/installing/configure-sa。

E000022:无法解析集群版本

我们无法从集群配置文件中解析版本。

如需解决此错误,请确保集群配置文件中 spec.anthosBareMetalVersion 下指定的版本有效且符合预期格式。

E000023:GKE 成员资格客户端错误

我们无法获取用于建立 GKE Hub 成员资格注册的客户端。

如果在集群配置文件的 spec.gkeConnect 下配置了 GKE Connect,则需要 GKE 成员资格。

确保在集群配置文件中指定了 gcpAccessToken 或 gkeConnectAgentServiceAccountKeyPath。

E000024:无法创建 GKE 注册检查

我们无法创建新的 GKE 注册检查。

这项检查对于验证以下内容至关重要:

  • GKE Connect 注册尚不存在。
  • 您的服务账号有足够的权限来对 GKE Connect 注册执行变更。

确保您的集群在 Google Cloud 控制台 -> Kubernetes Engine -> 集群中没有现有的 GKE Connect 成员资格。 如果您的集群已存在成员资格,请执行以下操作之一:

  • 请选择其他集群名称。
  • 通过 Google Cloud 控制台取消注册现有集群,或运行以下命令:

    gcloud container hub memberships unregister <CLUSTER_NAME> --gke-cluster=<LOCATION>/<CLUSTER_NAME>
    

    参考:https://cloud.google.com/sdk/gcloud/reference/container/hub/memberships/unregister

如需详细了解特定错误,请查看命令返回的封装错误。

E000025:GKE 注册检查失败

这表示在执行 GKE 注册检查时发生了故障。

此项检查对于验证以下内容至关重要:

  • GKE Connect 注册尚不存在。
  • 您的服务账号有足够的权限来对 GKE Connect 注册执行更改。

确保您的集群在 Google Cloud 控制台 -> Kubernetes Engine -> 集群中没有现有的 GKE Connect 成员资格。 如果您的集群已存在成员资格,请执行以下操作之一:

  • 请选择其他集群名称。
  • 通过 Google Cloud 控制台取消注册现有集群,或运行以下命令:

    gcloud container hub memberships unregister <CLUSTER_NAME> --gke-cluster=<LOCATION>/<CLUSTER_NAME>
    

参考:https://cloud.google.com/sdk/gcloud/reference/container/hub/memberships/unregister

如需详细了解特定错误,请查看命令返回的封装错误。

E000026:无法检索 Google 默认凭证

我们无法检索 Google 默认凭据。如需了解相关信息,请参阅 https://cloud.google.com/docs/authentication/production#automatically。

如需详细了解特定错误,请查看命令返回的封装错误。

E000027:Google Cloud 权限遭拒

这表示对 Google Cloud API 的请求已被拒绝。

通过执行以下任一操作,确保提供服务账号密钥:

  • 将 GOOGLE_APPLICATION_CREDENTIALS 环境变量设置为包含服务账号凭证的文件的路径。
  • 运行以下命令,使用默认凭据向 Google Cloud 进行身份验证:

    gcloud auth application-default login
    

如需了解详情,请参阅 https://cloud.google.com/docs/authentication#adc。

在 Google Cloud 控制台 -> IAM 和管理 -> 服务账号中检查服务账号。 如果您的服务账号密钥已过期,请按照 https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/how-to/update-secrets 中所述的说明进行更新。

请检查服务账号的角色和权限,然后重试。 如需了解您需要创建和配置的 Google Cloud 资源,请参阅 https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/installing/configure-sa。

E000028:服务账号密钥无效

用于 Google 默认凭据的服务账号密钥无效。

在 Google Cloud 控制台 -> IAM 和管理 -> 服务账号中检查服务账号。 如果您的服务账号密钥已过期,请按照 https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/how-to/update-secrets 中所述的说明进行更新。

如需详细了解特定错误,请查看该命令返回的封装错误。

E000029:对 Google Cloud 的权限不足

由于权限不足,我们无法与 Google Cloud API 通信。需要有效的服务账号密钥才能成功通信。

通过执行以下任一操作,确保提供服务账号密钥:

  • 将 GOOGLE_APPLICATION_CREDENTIALS 环境变量设置为包含服务账号凭证的文件的路径。
  • 运行以下命令,使用默认凭据向 Google Cloud 进行身份验证:

    gcloud auth application-default login
    

如需了解详情,请参阅 https://cloud.google.com/docs/authentication#adc。

在 Google Cloud 控制台 -> IAM 和管理 -> 服务账号中检查服务账号。 如果您的服务账号密钥已过期,请按照 https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/how-to/update-secrets 中所述的说明进行更新。

请检查服务账号的角色和权限,然后重试。 如需了解您需要创建和配置的 Google Cloud 资源,请参阅 https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/installing/configure-sa。

E000030:无法创建计算服务

我们无法创建计算服务来从您的 Google Cloud 项目中检索有关可用区或位置的信息,而这是对集群配置中 spec.clusterOperations.location 下指定的位置执行检查所必需的。

如需详细了解特定错误,请查看命令返回的封装错误。

E000031:无法创建服务账号检查

我们无法创建服务账号检查。

集群配置文件中 cloudOperationsServiceAccountKeyPath 下指定的服务账号密钥文件用于创建服务账号检查。

确保服务账号文件存在且有效。

在 Google Cloud 控制台 -> IAM 和管理 -> 服务账号中检查服务账号。 如果您的服务账号密钥已过期,请按照 https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/how-to/update-secrets 中所述的说明进行更新。

如需详细了解特定错误,请查看命令返回的封装错误。

E000032:服务账号检查失败

这表示在执行服务账号检查时发生了故障。

此检查会针对集群配置文件中 cloudOperationsServiceAccountKeyPath 下引用的服务账号密钥文件运行验证。

确保:

在 Google Cloud 控制台 -> IAM 和管理 -> 服务账号中检查服务账号密钥。 如果服务账号密钥已过期,请按照 https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/how-to/update-secrets 中所述的说明进行更新。

如需详细了解特定错误,请查看命令返回的封装错误。

E000033:无法设置标记

我们无法为日志目录或文件设置标志。

bmctl 命令在运行期间会使用日志目录或文件来保存日志。

如需详细了解特定错误,请查看命令返回的封装错误。

E000034:目录创建失败

我们无法创建目录。

此问题通常是由于权限不足,无法创建目录,或者创建目录的路径不存在。

请确保您拥有创建目录的必要权限,并且指定的位置存在。

如需详细了解特定错误,请查看命令返回的封装错误。

E000035:Container Registry 权限验证失败

执行 Container Registry 权限验证时遇到故障。

gcrServiceAccountKey 下集群的配置文件中引用的服务账号密钥文件用于运行验证。

确保服务账号密钥文件存在且有效。在 Google Cloud 控制台 -> IAM 和管理 -> 服务账号中检查服务账号密钥。 如果服务账号密钥已过期,请按照 https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/how-to/update-secrets 中所述的说明进行更新。

如需详细了解特定错误,请查看命令返回的封装错误。

如需忽略验证失败,请在运行命令时使用 --ignore-validation-errors 标志。

E000036:要求的最低内核版本

工作站的最低内核版本验证失败。您的工作站必须满足最低内核版本要求。

确保内核版本的数字部分不低于 4.15.0。 如需检查内核版本,请运行以下命令:

uname -r

您还可以在 /proc/version 文件中找到内核详细信息。

如需详细了解特定错误,请查看命令返回的封装错误。

E000037:无法检索服务账号名称

我们无法检索 Workload Identity 所需的服务账号。

在集群配置文件中提供以下任一信息,以修复该错误:

  • 将 spec.gkeConnect.projectID 字段设置为您的 Google Cloud 项目 ID。
  • 将 metadata.annotations 下的 baremetal.cluster.gke.io/gcr-service-account 设置为服务账号的名称。

如需详细了解特定错误,请查看命令返回的封装错误。

E000038:无法创建引导集群

我们无法成功创建引导集群。 引导集群是一个临时集群,用于托管创建或升级自行管理(管理员、混合或独立)集群所需的 Kubernetes 控制器。

如需解决与引导集群相关的问题,请参阅 https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/troubleshooting/create-upgrade。

如需详细了解特定错误,请查看命令返回的封装错误。

E000039:引导集群互联网故障

我们无法使用以下命令验证引导集群的互联网连接:

docker exec bmctl-control-plane curl https://oauth2.googleapis.com/$discovery/rest

如需详细了解特定错误,请查看命令返回的封装错误。

E000040:无法通过 Kubeconfig 文件创建 REST 配置

我们无法通过 kubeconfig 文件创建 REST 配置。 需要使用 REST 配置来建立与 Kubernetes API 服务器通信的方式。

确保提供的 kubeconfig 文件存在且有效。

如需详细了解特定错误,请查看命令返回的封装错误。

E000041:引导集群依赖项安装失败

我们无法将所有所需资源应用到引导集群。

如需详细了解特定错误,请查看命令返回的封装错误。

E000042:引导集群外部清单安装失败

我们无法从通过标志 --addon-manager-manifests-path 指定的目录中安装清单。

确保提供的清单目录存在且有效。

如需详细了解特定错误,请查看命令返回的封装错误。

E000043:无法提取清单文件

我们无法成功提取清单文件。 清单文件应提取到 .manifests 目录中,该目录是在调用 bmctl 命令的位置创建的。

确保 bmctl 命令具有在系统上创建目录和文件的必要权限,并且 .manifests 目录已成功创建。

如需详细了解特定错误,请查看命令返回的封装错误。

E000044:无法创建 Kubernetes 客户端

我们无法使用提供的 kubeconfig 文件为您的集群创建 Kubernetes 客户端。

确保 kubeconfig 文件存在且有效。

如需详细了解特定错误,请查看命令返回的封装错误。

E000045:无法加载集群清单配置文件

加载过程会将配置文件配置中的条目转换为 KusBuild,并使用集群自定义资源中的值设置参数。配置文件位置由清单的根目录、配置文件名称和环境决定。

如需详细了解特定错误,请查看命令返回的封装错误。

E000046:无法设置 Workload Identity

我们无法成功为您的项目设置 Workload Identity。

如需详细了解特定错误,请查看命令返回的封装错误。

E000047:无法创建或更新调试选项

我们无法根据提供给 bmctl 命令的标志和集群配置文件的顶部部分,在引导集群中创建或更新调试选项 ConfigMap。

此 ConfigMap 是调试所必需的,其中包含相关的配置数据。

如需详细了解特定错误,请查看命令返回的封装错误。

E000048:无法创建用量服务

我们无法创建服务用量。此服务对于访问 Google Cloud Service Usage API 至关重要,而这些 API 是执行验证所需 API 是否已启用等任务所必需的。

如需详细了解特定错误,请查看命令返回的封装错误。

E000049:API 启用检查失败

这表示在执行 API 启用检查时出错。这可确保在您的项目中启用所有必需的 API,请参阅 https://cloud.google.com/anthos/clusters/docs/bare-metal/latest/installing/configure-sa。

如需绕过 API 启用检查失败,请使用标志 --skip-api-check。

如需详细了解特定错误,请查看命令返回的封装错误。

E000050:无法执行对象操作

这表示在对 Kubernetes 或自定义对象执行 Get、Patch、List、Update、Delete 或 Apply 操作时出错。

确保 Kubernetes 集群可访问,并且 API 服务器能够响应。

如需详细了解特定错误,请查看命令返回的封装错误。

E000051:无法封送对象

我们无法将对象编组为 YAML 格式。

如需详细了解特定错误,请查看命令返回的封装错误。

E000052:无法通过服务账号生成 Secret

我们无法根据集群配置文件中 gkeRegisterServiceAccountKey 下指定的服务账号密钥路径生成要存储在命名空间 gke-register 中的 Secret gkeRegisterServiceAccountKey。

确保指定的 Secret 文件存在。

如需详细了解特定错误,请查看命令返回的封装错误。

E000053:无法读取集群配置文件

我们无法读取您的集群配置文件。

确保集群配置文件存在,并且 bmctl 命令具有访问该文件的必要权限。

如需详细了解特定错误,请查看命令返回的封装错误。

E000054:无法应用预检依赖项资源

我们无法成功应用预检检查命令依赖项。

如需详细了解特定错误,请查看命令返回的封装错误。

E000055:Google Cloud 预检检查失败

Google Cloud 预检检查失败。如需了解详情,请验证预检检查资源。

检查预检检查资源:

kubectl describe preflightcheck -A

如需绕过 Google Cloud 预检检查失败,请使用标志 --bypass-gcp-preflight-errors 和 --force。

如需详细了解特定错误,请查看命令返回的封装错误。

E000056:预检检查失败

预检检查失败。如需了解详情,请验证预检检查资源。

检查预检检查资源:

kubectl describe preflightcheck -A

如需绕过预检检查失败,请使用标志 --force。

如需详细了解特定错误,请查看命令返回的封装错误。

E000057:无法验证预检检查状态

我们无法成功验证预检资源的状态。

如需了解详情,请查看预检检查资源:

kubectl describe preflightcheck -A

如需详细了解特定错误,请查看命令返回的封装错误。

E000058:Kubeconfig Secret 未就绪

这表示在读取 kubeconfig 密钥或等待其就绪时出错。

确保密钥 <CLUSTER_NAME>-kubeconfig 存在于引导集群内的集群命名空间中,并且路径 .data 不为空。

如需详细了解特定错误,请查看命令返回的封装错误。

E000059:无法写入 Kubeconfig 文件

我们无法成功将 kubeconifg 文件写入路径 bmctl-workspace/<CLUSTER_NAME>/<CLUSTER_NAME>-kubeconfig。

确保 bmctl 命令具有写入 kubeconfig 文件目录的必要权限。

您可以尝试运行 bmctl reset 命令,然后再次尝试创建集群,以解决此问题。

如需详细了解特定错误,请查看命令返回的封装错误。

E000060:集群未准备就绪

这表示在等待集群就绪时出错。

如需了解详情,请查看集群的状态:

kubectl describe cluster <CLUSTER_NAME> -A

如需详细了解特定错误,请查看命令返回的封装错误。

E000061:NodePool 未就绪

这表示在等待节点池准备就绪时出错。

检查节点池的状态:

kubectl describe nodepool -A

如需详细了解特定错误,请查看命令返回的封装错误。

E000062: SecretForwarder Not Ready

这表示在等待 SecretForwarder 准备就绪时出错。

检查 SecretForwarder 的状态:

kubectl describe secretforwarder -A

如需详细了解特定错误,请查看命令返回的封装错误。

E000063:无法将非结构化对象转换为具体类型

我们无法将非结构化对象转换为具体类型。

如需详细了解特定错误,请查看命令返回的封装错误。

E000064:集群 API 提供方安装失败

我们无法验证管理员集群中是否安装了集群 API 提供方。

如需排查问题,请登录引导集群并查看 lifecycle-controllers-deployer 作业和 lifecycle-controller-manager Pod 日志。

如需详细了解特定错误,请查看命令返回的封装错误。

E000065:无法透视

我们无法成功将资源从引导集群转换到实际集群。

如需详细了解特定错误,请查看命令返回的封装错误。

E000066:无法应用资源

这表示在应用资源时发生了错误。 此资源可能是集群配置文件中指定的客户资源。

确保每个客户指定的资源都格式正确且有效。

如需详细了解特定错误,请查看命令返回的封装错误。

E000067:无法创建命令

我们无法使用指定的标志创建供 bmctl 内部命令使用的占位符命令。

如需详细了解特定错误,请查看命令返回的封装错误。

E000068:无法检索 GKE 版本

我们无法根据集群配置文件中通过 spec.anthosBareMetalVersion 指定的集群版本检索 GKE 版本。

如需详细了解特定错误,请查看命令返回的封装错误。

E000069:集群已是目标版本

这表示集群已处于目标版本。 确保集群配置文件中 spec.anthosBareMetalVersion 下指定的版本高于当前集群版本,然后重试。

E000070:集群和 NodePool 已是目标版本

这表示集群及其节点池均已升级到目标版本。 请确保集群配置文件中 spec.anthosBareMetalVersion 下指定的版本高于当前版本,然后重试。

E000071:CIDR 中的 IP 地址不足

这表示引导集群 Pod CIDR 范围没有足够的 IP 地址来容纳节点。

请务必使用标志 --bootstrap-cluster-pod-cidr 提供具有足够 IP 地址的 CIDR 范围。

如需详细了解特定错误,请查看命令返回的封装错误。

E000072:预览版功能升级政策验证失败

我们无法验证集群中指定的受支持且已启用的预览版功能是否符合升级要求。

如需详细了解特定错误,请查看命令返回的封装错误。

E000073:无法将引导集群注册到 GKE Connect 成员资格

我们无法将引导集群注册到 GKE Hub 成员资格。

确保在 Google Cloud 控制台 -> Kubernetes Engine -> 项目中的集群中,您的引导集群名称(默认选择或通过标志 --bootstrap-cluster 提供)没有现有的 GKE Connect 成员资格。

如果已存在具有集群名称的成员资格,请执行以下操作之一:

  • 请使用标志 --bootstrap-cluster 提供其他名称
  • 通过 Google Cloud 控制台取消注册现有集群,或运行以下命令:

    gcloud container hub memberships unregister <CLUSTER_NAME>
    

如需详细了解特定错误,请查看命令返回的封装错误。

E000074:无法通过服务账号创建 Secret

我们无法使用集群配置文件中指定的服务账号文件创建 Secret。

请确保该文件存在且可访问。

如需详细了解特定错误,请查看命令返回的封装错误。

E000075:无法检索 GKE Hub 网址

我们无法提取 GKE Hub 端点网址。GKE Hub 端点是用于 GKE Hub API 请求的网址端点。

如需详细了解特定错误,请查看命令返回的封装错误。

E000076:升级未完成

等待升级成功完成时出错。只有当集群和节点池都达到目标版本时,升级才算完成。

检查节点池和集群的状态:

kubectl describe nodepool -n <NAMESPACE> --kubeconfig <KUBECONFIG_FILE>
kubectl describe cluster -n <NAMESPACE> --kubeconfig <KUBECONFIG_FILE>

如需详细了解特定错误,请查看命令返回的封装错误。

E000077:无法创建 Workload Identity Stackdriver Secret

我们无法创建 Workload Identity Stackdriver 密钥。

如需详细了解特定错误,请查看命令返回的封装错误。

E000078:无法提升 NodePool 版本

我们无法将 NodePool 资源的当前版本升级到目标版本。

如需详细了解特定错误,请查看命令返回的封装错误。

E000079:无法提升集群版本

我们无法将集群资源的当前版本升级到目标版本。

确保目标版本高于当前版本且有效。

如需详细了解特定错误,请查看命令返回的封装错误。

E000080:无法更新 Kubeconfig Secret

我们无法为您的集群更新 kubeconfig Secret。

如需详细了解特定错误,请查看命令返回的封装错误。

E000081:缺少密钥

这表示 Secret 资源不包含特定密钥。

如需详细了解具体错误,请查看命令返回的错误。

E000082:无法打印升级结果

我们无法输出集群升级结果。

检查 BaremetalMachine 资源,看看是否有任何节点未能升级:

kubectl describe baremetalmachines -n <NAMESPACE> --kubeconfig <KUBECONFIG_FILE>

如需详细了解特定错误,请查看命令返回的封装错误。

E000083:缺少 GKEConnect 规范

集群配置中未指定 GKEConnect 规范。

确保在集群配置文件中提供了 spec.gkeConnect 字段。

E000084:无法创建 Connect 代理连接检查

我们无法创建新的 Connect Agent 连接性检查。

如需详细了解具体错误,请查看命令返回的错误。

E000085:Connect Agent 连接检查失败

执行 Connect 代理连接性检查时出错。

如需详细了解具体错误,请查看命令返回的错误。

E000086:无法检索具有组版本种类的自定义资源

这表示在使用 GroupVersionKind 检索自定义资源时出错。

如需详细了解特定错误,请查看命令返回的封装错误。

E000087:无法从私有注册表构建私有注册表配置

我们无法根据集群配置文件中 privateRegistries 下指定的集群凭据设置来构建注册表配置。

请确保集群配置文件中 privateRegistries 下提供的配置有效,然后重试。

如需详细了解特定错误,请查看命令返回的封装错误。

E000088:无法根据注册表镜像构建私有注册表配置

我们无法根据集群配置文件中 registryMirrors 下指定的集群凭据设置来构建注册表配置。

请确保集群配置文件中 registryMirrors 下提供的配置有效,然后重试。

如需详细了解特定错误,请查看命令返回的封装错误。

E000089:无法更新节点访问权限

这表示在更新节点访问权限时出错。

如需详细了解特定错误,请查看命令返回的封装错误。

E000090:无法在 bmctl update 中计算差异

这表示在执行 bmctl update 命令期间,计算 YAML 集群配置文件与集群中的实时配置之间的差异时出错。

作为解决方法,您可以运行 bmctl get config 以获取集群中的实时配置,并在 bmctl 之外手动执行与 YAML 集群配置文件的差异。

如需详细了解特定错误,请查看命令返回的封装错误。

E000091:控制台提示输入无效

向控制台提示提供了无效输入。

输入 yes 或 no。

如需详细了解特定错误,请查看命令返回的封装错误。

E000092:未能创建集群专用命名空间

作为创建集群的第一步,我们会为新集群创建一个专属命名空间。新集群的几乎所有资源都存储在此命名空间中。

此错误表示尝试确保此类集群特定命名空间存在(通过创建新命名空间或仅检查其是否存在)失败。

如需详细了解特定错误,请查看命令返回的封装错误。

E000097:集群已暂停

此错误表示由于目标集群具有 cluster.x-k8s.io/paused 注解,因此无法继续执行操作。

如需解决此问题,请移除注解以解除集群的暂停状态,或使用 --skip-paused-annotation-check 标志绕过此检查。

如需详细了解特定错误,请查看命令返回的封装错误。

E300000:检测到孤立容器

这表示我们通过 Node Problem Detector 在节点上检测到了孤立容器。

孤立容器是指不再活跃运行或正常运行,但仍以部分清理或不一致状态存在的容器进程。

如需查看完整日志,请在相关节点上执行以下命令:

journalctl -u node-problem-detector

根据出错提示中的孤立容器详细信息,检索容器 ID。

使用以下命令从节点中移除孤立容器:

crictl stop <container-id>

crictl rm <container-id>

如果上述命令未移除孤立容器,则需要停止每个容器的进程。您可以使用以下命令检索每个容器的进程 ID 或 PID,并将其停止。

crictl inspect <container-id> | grep pid

kill -9 <pid>

接下来怎么做?

如果您已按照纠正措施指南操作,但错误仍然存在,请与技术支持团队联系。

如需详细了解如何排查集群问题,请参阅以下资源:

Google Distributed Cloud for Bare Metal

Google Distributed Cloud for VMware