Citrix ADC

Kubernetes入口解决方案

本主题概述了Citrix提供的Kubernetes Ingress解决方案,并解释了其优点。

Kubernetes Ingress是什么?

当您在Kubernetes集群中运行应用程序时,您需要为外部用户提供一种从Kubernetes集群外部访问应用程序的方法。Kubernetes提供了一个名为Ingress的对象,它提供了使用稳定IP地址公开多个服务的最有效方法。Kubernetes入口对象总是与一个或多个服务相关联,并充当外部用户访问集群内运行的服务的单入口点。

下图解释了Kubernetes Ingress的工作原理。Kubernetes入口

Kubernetes入口实现由以下组件组成:

  • 进入资源。Ingress资源允许您定义从集群外部访问应用程序的规则。

  • 入口控制器。Ingress控制器是部署在集群内的应用程序,用于解释Ingress中定义的规则。Ingress控制器将Ingress规则转换为与集群集成的负载平衡应用程序的配置说明。负载均衡器可以是运行在Kubernetes集群内部的软件应用程序,也可以是运行在集群外部的硬件设备。

  • 进入设备。Ingress设备是一个负载均衡应用程序,如Citrix ADC CPX、VPX或MPX,它根据Ingress控制器提供的配置指令执行负载均衡。

Citrix的Kubernetes Ingress解决方案是什么?

在这个解决方案中,Citrix提供了Kubernetes入口控制器的实现,使用Citrix ADC (Citrix ADC CPX、VPX或MPX)管理和路由流量到Kubernetes集群。Citrix入口控制器将Citrix ADC与您的Kubernetes环境集成,并根据入口规则配置Citrix ADC CPX、VPX或MPX。

标准的Kubernetes Ingress解决方案仅在第7层(HTTP或HTTPS流量)提供负载均衡。有时,您需要公开许多依赖于TCP或UDP或应用程序的遗留应用程序,并且需要一种方法来平衡这些应用程序的负载。除了标准的HTTP或HTTPS入口外,Citrix Kubernetes入口解决方案还提供TCP、TCP- ssl和UDP流量支持。此外,它可以跨多个云或本地数据中心无缝工作。

Citrix ADC提供企业级流量管理策略,如重写和响应策略,以有效地在第7层负载均衡流量。然而,Kubernetes Ingress缺乏这样的企业级流量管理策略。使用Citrix的Kubernetes入口解决方案,您可以使用Citrix提供的crd为Kubernetes环境中的应用程序流量应用重写和响应策略。

Citrix的Kubernetes Ingress解决方案还支持为您的CI/CD应用程序管道自动部署金丝雀。在该解决方案中,Citrix ADC与Spinnaker平台集成,并作为数据源,为使用Kayenta分析Canary部署提供准确的指标。在分析指标之后,Kayenta为canary生成一个总分,并决定提升或失败canary版本。您还可以使用Citrix ADC策略基础设施调节到Canary版本的流量分配。

下表总结了Citrix的Ingress解决方案相对于Kubernetes Ingress提供的优势。

特性 Kubernetes入口 来自思杰的入口解决方案
HTTP和HTTPs支持 是的 是的
URL路由 是的 是的
TLS 是的 是的
负载平衡 是的 是的
TCP、TCP-SSL 没有 是的
UDP 没有 是的
HTTP / 2 是的 是的
使用CI/CD工具支持自动金丝雀部署 没有 是的
支持应用Citrix ADC重写和响应器策略 没有 是的
身份验证(开放授权(OAuth),互TLS (mTLS)) 没有 是的
支持应用Citrix限速策略 没有 是的

Kubernetes入口解决方案的部署选项

Citrix的Kubernetes入口解决方案根据您想要如何管理Citrix adc和Kubernetes环境,为您提供灵活的架构。

统一入口(单层)

在统一入口(单层)架构中,部署在Kubernetes集群外的Citrix MPX或VPX设备使用Citrix入口控制器与Kubernetes环境集成。Citrix入口控制器作为pod部署在Kubernetes集群中,并根据微服务或入口资源的变化自动配置Citrix adc。Citrix ADC设备在入站流量上执行负载平衡、TLS终止和HTTP或TCP协议优化等功能,然后将流量路由到Kubernetes集群中正确的微服务。这种架构最适合同一个团队管理Kubernetes平台和其他网络基础设施(包括应用交付控制器)的场景。

下图显示了使用统一入口架构的部署。

单层

统一入口解决方案提供以下主要优势:

  • 提供一种将现有Citrix ADC基础设施的功能扩展到Kubernetes环境的方法
  • 允许对入站流量应用流量管理策略
  • 为精通网络的DevOps团队提供了一个简化的架构
  • 支持多租户

双边入口

在双层架构中,部署在Kubernetes集群外部的Citrix ADC (MPX或VPX)作用于第1层,并对运行在集群内部的Citrix ADC cpx的南北流量进行负载平衡。Citrix ADC CPX在第2层工作,为Kubernetes集群内的微服务执行负载平衡。

在由不同的团队管理Kubernetes平台和网络基础设施的场景中,双层架构是最合适的。

网络团队使用第一层Citrix ADC用于GSLB、硬件平台上的TLS终端和TCP负载平衡等用例。Kubernetes平台团队可以使用第2层Citrix ADC (CPX)来实现第7层(HTTP/HTTPS)负载平衡、相互TLS以及微服务的可观察性或监控。第2层Citrix ADC (CPX)可以使用与第1层Citrix ADC不同的软件发布版本,以适应新的可用功能。

下图显示了具有双层体系结构的部署。

双边

双层入口提供以下主要好处:

  • 确保开发人员或平台团队的高速应用程序开发
  • 支持为Kubernetes集群内的微服务应用开发者驱动的流量管理策略
  • 支持云规模和多租户

有关更多信息,请参见Citrix入口控制器文档

开始

要开始使用Citrix的Kubernetes Ingress解决方案,您可以尝试以下示例:

Kubernetes入口解决方案