本页面列出了受支持的 Config Sync 版本的已知问题。
此处列出的许多问题已得到解决。已修复的版本列指出引入了修复的版本。如需收到此修复,请升级到列出的版本或更高版本。
如需按产品版本或问题类别过滤已知问题,请从以下下拉菜单中选择过滤条件。
选择 Config Sync 版本:
选择问题类别:
或者,过滤已知问题:
类别 | 已识别的版本 | 已修复的版本 | 问题和临时解决方法 |
---|---|---|---|
组件健康状况 | 1.15.0 | 1.17.0 |
已修复:AutoPilot 上的协调器容器因内存不足而终止在 Autopilot 集群上,Config Sync 组件容器为 CPU 和内存设置了资源限制。在负载下,kubelet 或内核可能会由于使用的内存过多而终止这些容器。 临时解决方法: 如果您无法升级到 1.17.0 或更高版本,请使用资源替换指定更高的内存限制。 在 1.17.0 版中,调整了默认的 CPU 和内存限制,可帮助避免在大多数应用场景中出现内存不足错误。 |
组件健康状况 | 1.15.0 |
协调器无法调度Config Sync 协调器需要不同数量的资源,具体取决于 RootSync 或 RepoSync 的配置。某些配置需要的资源比其他配置多。 如果协调器无法调度,则可能是因为请求的资源多于节点上的可用资源。 如果您使用的是标准模式 GKE 集群,则协调器资源请求设置得非常低。选择此设置是为了允许进行调度(即使这会导致节流和性能下降),以便 Config Sync 可在小型集群和小型节点上运行。但是,在 GKE Autopilot 集群上,协调器请求设置得较高,以更实际地表示同步时的使用情况。 临时解决方法: 启用了节点自动预配功能的 GKE Autopilot 或 GKE Standard 应该能够查看请求的资源数量,并创建适当大小的节点以允许调度。但是,如果您要手动配置节点或节点实例大小,则可能需要调整这些设置以满足协调器 Pod 资源要求。 |
|
KNV 错误 | 1.15.0 | Kubernetes 1.27 版 |
已修复:即使成功应用配置,也出现 KNV1067 错误。由于 OpenAPI v2 存在问题,即使您成功应用配置,也可能会看到 临时解决方法:
如果集群运行的 Kubernetes 版本低于 1.27,请确保在 |
KNV 错误 | 1.15.0 | 1.16.0,Kubernetes 1.28 版 |
已修复:Config Sync 无法协调,并显示 KNV2002 错误如果 Config Sync 无法与 KNV2002: API discovery failed: APIServer error: unable to retrieve the complete list of server APIs: external.metrics.k8s.io/v1beta1: received empty response for: external.metrics.k8s.io/v1beta1 |
指标 | 1.15.0 | 1.17.2 |
已修复:导出失败:指标标签无法识别在 1.15.0 版中,Config Sync 向许多指标添加了 |
指标 | 1.15.0 | 1.16.1 |
已修复:高指标基数和转换错误在 1.15.0 版中,Config Sync 向许多指标添加了 在 1.16.1 版中,移除了类型字段,修复了过滤功能,并且还从 Cloud Monitoring 中过滤了提交字段。 这修复了错误并降低了指标的基数。 |
指标 | 1.15.0 |
导出失败。权限遭拒默认情况下,当 reconciler-manager 检测到应用默认凭据时,otel-collector 会配置为将指标导出到 Prometheus、Cloud Monitoring 和 Monarch。 临时解决方法: 如果您尚未配置 Cloud Monitoring 或停用 Cloud Monitoring 和 Cloud Monarch,则 |
|
指标 | 1.15.0 |
otel-collector 因自定义配置崩溃如果您尝试修改或删除其中一个默认 ConfigMap( 临时解决方法: 如需自定义指标导出配置,请在 |
|
nomos CLI | 1.15.0 | 1.17.2 |
已修复:
|
纠正 |
Config Sync 正在与自己争夺Config Sync 可能看起来正在进行控制器争夺。如果您在 Git 代码库中为资源的可选字段设置默认值,则会出现此问题。例如,如果为 RoleBinding 主体设置 临时解决方法: 从资源声明中移除该字段。 |
||
纠正 |
Config Sync 正在与 Config Connector 资源争夺Config Sync 可能看起来正在与 Config Connector 争夺资源,例如 StorageBucket。如果您未在可靠来源中设置资源 临时解决方法:
您可以通过在资源声明中添加 |
||
可信来源 | 1.17.3 | 1.18.3 |
已修复:向 GitHub 执行 Git SSH 身份验证失败
git 返回的错误消息为: 临时解决方法: 使用其他身份验证方法。 |
可信来源 | 1.16.1 | 1.16.2 |
已修复:定期无法评估来源链接当协调器在定期无法评估来源链接的位置启动时,Config Sync 可能会遇到问题。出现此问题的原因是 在 1.16.2 版及更高版本中,这是一个暂时性错误,因此系统会记录该错误,但不会报告为错误。 |
可信来源 | 1.15.0 | 1.18.0 |
已修复:Cloud Source Repositories 的身份验证凭据定期无效当 Cloud Source Repositories 的身份验证令牌到期时,Config Sync 可能会定期出现错误。此问题是由令牌刷新等待过期再刷新令牌引起的。 在 1.18.0 版及更高版本中,令牌会在令牌过期后的五分钟内在第一个请求时刷新。这可以防止出现无效的身份验证凭据错误,除非凭据实际上无效。 |
可信来源 | 1.15.0 | 1.17.0 |
已修复:同步代码库时出错:已超出上下文截止期限在 1.17.0 之前的版本中,Config Sync 默认签出完整的 Git 代码库历史记录。这可能会导致在包含大量提交的大型代码库中的提取请求超时。 在 1.17.0 版及更高版本中,Git 提取使用 如果您在升级后仍然遇到此问题,则可能是因为您的可靠来源有许多文件,Git 服务器响应缓慢,或者存在一些其他网络问题。 |
正在同步 | 1.15.0 |
审核日志中存在大量无效的
|
|
正在同步 | 1.17.0 | 1.17.3 |
已修复:Config Sync 无法从分支中拉取最新提交在 Config Sync 1.17.0、1.17.1 和 1.17.2 版中,您可能会遇到以下问题:当多个远程代码库中引用了同一分支且不同步时,Config Sync 无法从特定分支的 HEAD 拉取最新提交。例如,远程代码库 以下示例展示了这种问题的可能情形: git ls-remote -q [GIT_REPOSITORY_URL] main main^{} 244999b795d4a7890f237ef3c8035d68ad56515d refs/heads/main # the latest commit be2c0aec052e300028d9c6d919787624290505b6 refs/remotes/upstream/main # the commit Config Sync pulls from 在 1.17.3 及更高版本中,系统会使用不同的提取机制更新 git-sync 依赖项。 如果您无法升级,则可以将 Git 修订版本 ( |
私有注册表 | 1.19.0 |
Config Sync 不为协调器 Deployment 使用私有注册表如果配置了私有注册表,则 Config Sync 应替换所有 Deployment 的映像。但是,Config Sync 不会替换协调器 Deployment 中映像的映像注册表。 临时解决方法: 此问题的解决方法是配置 containerd 中的映像注册表镜像。 |
|
正在同步 | 1.17.0 | 1.18.3 |
已修复:Config Sync 协调器会出现崩溃循环问题在 Config Sync 1.17.0 版或更高版本中,您可能会遇到以下问题:在某些 Kubernetes 提供程序中,协调器无法创建 REST 配置。 以下示例展示了这种问题在协调器日志中的可能情形: Error creating rest config: failed to build rest config: reading local kubeconfig: loading REST config from "/.kube/config": stat /.kube/config: no such file or directory |
Terraform | Terraform 5.41.0 版 |
无法使用 Terraform 安装或升级 Config SyncTerraform 5.41.0 版为 临时解决方法:
|
后续步骤
- 如果您需要其他支持,请与 Cloud Customer Care 联系。