前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kubernetes Ingress控制器技术选型注意事项

Kubernetes Ingress控制器技术选型注意事项

作者头像
用户5166556
发布2023-03-18 11:45:26
2280
发布2023-03-18 11:45:26
举报
文章被收录于专栏:让技术和时代并行

Kubernetes的发展导致其生态系统的快速增长,在创建新集群或维护现有集群时,选择正确的Ingress控制器将是一个重要的决定。

由于存在大量组件可供选择,做出正确的选择可能是非常重要的。在本文中,我们将介绍您在决策过程中应考虑的首要因素,以避免犯任何代价高昂的错误。

流量协议支持

默认Ingress资源设计为支持基于HTTP协议的流量。如果您的应用程序需要对其它协议(如TCP和UDP)的支持,请确保Ingress控制器支持特定场景所需的协议。

客户端管理

如果你的应用程序需要客户端管理功能,比如速率限制、节流和阻塞,那么有一些Ingress控制器可以支持这些功能。

流量路由路径选择

Ingress控制器可以根据主机名和路径路由流量。但是,对于那些需要使用诸如头或查询参数之类的其他内容进行路由的场景,将需要选择支持此功能的Ingress控制器。

弹性

可用性是一个关键因素吗?确保Ingress控制器具有适当的机制来处理您可能遇到的不可避免的棘手情况。例如,一些入口控制器支持断路器,这会使不健康的服务离线。

负载均衡算法

传统上,round-robin是用于负载平衡的默认算法,大多数Ingress控制器都支持这种算法。然而,如果需要一个不同的选择,负载均衡算法将是您的决定因素。

认证

一些Ingress控制器支持身份验证管理,该管理使得在业务流中公开的所有服务能够获得身份验证管理,而不引起在单个服务层实现该功能的复杂性。

可观察性

考虑Ingress控制器支持用于监控和记录的第三方软件访问记录。如果没有这一点,将缺乏对度量和日志的可见性。

Kubernetes整合

如果将来需要服务和Kubernetes,要考虑确保Ingress控制器支持服务整合是至关重要的。此外,如果您计划使用服务API(IngressV2),请确保您选择的控制器也支持此功能。

流量分配

一些Ingress控制器支持不同的流量分配机制。如果您的特定场景需要使用A/B测试或canary部署分发流量,请确保您考虑的控制器支持所需的分发方法。

界面

如果您需要调试Ingress资源的问题,或者向开发人员提供有关应用程序活动状态的有用信息和度量,那么使用图形界面是非常有用的。

提示

使用多个Ingress控制器来解决问题,单个Ingress控制器可能不足以覆盖同一集群中的所有不同场景。在这种情况下,可以使用Ingress控制器的组合。例如,您可能有一个Ingress控制器用于处理路由到集群的外部流量,而另一个Ingress控制器用于处理集群内的流量。

每个Ingress Controller必须仅处理其特定类的Ingress资源。对于Kubernetes < 1.18,应使用要kubernetes.io/ingress.class设置为要使用的控制器类的注释对Ingress资源进行注释。使用Kubernetes版本时>= 1.18,Ingress资源应将ingressClassName字段设置为要使用的控制器的类。

最后的想法

在为集群选择适当的Ingress控制器之前,需要考虑许多因素。根据我们列出的标准评估Ingress控制器时,请避免选择炒作驱动或流行的选项,并谨慎考虑您的要求。

最后,汇总了一张比较表,比较了各种Ingress控制器及其各自的功能。

https://airtable.com/shrAl8N004BJ69grw/tbla9ENs9dwd3gIWI?backgroundColor=cyan&viewControls=on

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云原生技术爱好者社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 流量协议支持
  • 客户端管理
  • 流量路由路径选择
  • 弹性
  • 负载均衡算法
  • 认证
  • 可观察性
  • Kubernetes整合
  • 流量分配
  • 界面
  • 提示
  • 最后的想法
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档