Linkerd 抹去我的负载均衡器的时间

主要观点:作者曾将生产负载均衡器栈从 Ingress 迁移到 Kubernetes 中的 Gateway API,在测试和迁移到生产环境过程中遇到了一系列问题,包括与 Linkerd 的冲突导致高流量请求下 Linkerd-proxy 容器内存使用无限增长、移除 Linkerd 时导致负载均衡器路由消失等。通过经历这些错误,作者强调在使用 Linkerd 和 Helm 并打算使用 Gateway API 时,要注意 Helm 图表中的相关配置值,避免出现类似问题。

关键信息:

  • Ingress 是经典的配置负载均衡器的方式,Gateway API 是新的方式,能更细粒度控制服务路由。
  • 在 GKE 中,Gateway API 和 Linkerd 结合在高流量请求下出现问题,如 Linkerd-proxy 内存增长和 GKE 报错。
  • 移除 Linkerd 时,负载均衡器的 HTTPRoutes 也消失,原因是 Linkerd 的 Helm 图表中默认启用了相关 CRD。
  • Kubernetes Custom Resource Definitions (CRDs)可扩展 Kubernetes API 管理自定义资源,作者启用 Gateway API 时未考虑与 Linkerd 的 CRD 冲突。

重要细节:

  • Ingress 的配置示例及相关注释。
  • Gateway API 的创建过程及相关 YAML 示例,包括 Gateway、HTTPRoute 和 GCPGatewayPolicy 的定义。
  • Linkerd 的 Helm 库组件及相关问题链接。
  • 作者对自己错误的反思和对其他人的提醒,强调要注意 Helm 图表中的配置。
阅读 15
0 条评论