GKE on Azure 的已知问题

本页面列出了 GKE on Azure 的部分已知问题,以及可减少其影响的步骤。

如果您需要其他帮助,请与 Cloud Customer Care 联系。

运维

集群自动扩缩器可能无法正确地从零节点扩容

受此问题影响的版本如下:

  • 所有版本

集群自动扩缩器无法针对具有自定义标签或污点的节点池正确地从零节点扩容。

出现此问题的原因是,GKE on Azure 集群自动扩缩器在节点池预配期间,未在相应的节点池自动扩缩群组上配置节点池标签和污点标记。对于零节点的节点池,由于缺少这些标记,集群自动扩缩器无法正确创建节点模板。这可能会导致扩缩决策不正确,例如 Pod 未调度到适用的节点,或者预配了实际不需要的节点。如需了解详情,请参阅自动发现设置

网络

conntrack 表插入失败导致应用超时

受此问题影响的版本如下:

  • 1.23 的所有版本(从 1.23.8-gke.1700 开始)。
  • 1.24 的所有版本(从 1.24.0-gke.0 开始)。
  • 1.25 版(从 1.25.0-gke.0 到 1.25.10-gke.1200,但不包括 1.25.10-gke.1200)。
  • 从 1.26.0-gke.0 到 1.26.4-gke.2200 的版本,但不包括 1.26.4-gke.2200。

在使用内核 5.15 或更高版本的 Ubuntu 操作系统上运行的集群容易发生 netfilter 连接跟踪 (conntrack) 表插入失败。即使 conntrack 表有空间可用于添加新条目,也可能会发生这种情况。失败是由内核 5.15 及更高版本中的更改引起的,这些更改根据链长度限制表插入。

如需查看您是否受到此问题的影响,请使用以下命令检查内核内连接跟踪系统统计信息:

sudo conntrack -S

响应如下所示:

cpu=0       found=0 invalid=4 insert=0 insert_failed=0 drop=0 early_drop=0
error=0 search_restart=0 clash_resolve=0 chaintoolong=0
cpu=1       found=0 invalid=0 insert=0 insert_failed=0 drop=0 early_drop=0
error=0 search_restart=0 clash_resolve=0 chaintoolong=0
cpu=2       found=0 invalid=16 insert=0 insert_failed=0 drop=0 early_drop=0
error=0 search_restart=0 clash_resolve=0 chaintoolong=0
cpu=3       found=0 invalid=13 insert=0 insert_failed=0 drop=0 early_drop=0
error=0 search_restart=0 clash_resolve=0 chaintoolong=0
cpu=4       found=0 invalid=9 insert=0 insert_failed=0 drop=0 early_drop=0
error=0 search_restart=0 clash_resolve=0 chaintoolong=0
cpu=5       found=0 invalid=1 insert=0 insert_failed=0 drop=0 early_drop=0
error=519 search_restart=0 clash_resolve=126 chaintoolong=0

如果响应中的 chaintoolong 值为非零数字,则表示您受到此问题的影响。

解决方案

如果您运行的是 1.26.2-gke.1001 版,请升级到 1.26.4-gke.2200 版或更高版本。

易用性

在界面中检测到集群无法访问的错误

受此问题影响的版本为 1.25.5-gke.1500 和 1.25.4-gke.1300。

Google Cloud 控制台中的某些界面无法向集群授权,并可能会显示集群无法访问。

解决方案

将集群升级到最新的 1.25 版可用补丁程序。此问题已在 1.25.5-gke.2000 版本中得到解决。

API 错误

Kubernetes 1.22 中弃用并替换了一些 API。如果您已将集群升级到 1.22 版或更高版本,则应用对任何已弃用 API 进行的所有调用都将失败。

解决方案

升级您的应用以将已弃用的 API 调用替换为对应的新版 API 调用