来自 应用 2021-12-15 19:11 的文章

服务器防护_数盾科技朱云_如何防

服务器防护_数盾科技朱云_如何防

当Kubernetes集群失败或无法访问时会发生什么?该集群中的应用程序也会失败,从而导致向客户端提供的服务中断。为了确保弹性,精明的运营商在多个数据中心和云中的多个Kubernetes集群中部署同一个应用程序的多个副本。使用这种多集群策略,您可以:以金丝雀的方式推出新版本的应用程序,以选择客户通过将用户流量路由到应用程序最接近的副本(也称为邻近路由),改善用户体验升级Kubernetes集群,ddos防御软件S高防行吗,无需担心影响集群内运行的应用程序的可用性当一个群集满负荷时,将一些流量转移到另一个群集在无法以主动/主动方式部署应用程序时,c语言ddos防御,以主动/被动配置部署应用程序为了实现这类部署,前端代理应该配置相应的配置,以分流每个Kubernetes集群中运行的应用程序的流量。这是一项乏味的工作,容易出错。在这篇博文中,ddos能防御的了吗,我们将研究一个解决方案,以减轻这些痛点,并根据所需的部署策略简化代理的配置。为什么选择Citrix ADC?Citrix ADC有一个强大的流量管理解决方案(称为GSLB),用于负载平衡跨多个站点部署的应用程序。GSLB通过将客户机请求定向到最近或性能最好的站点,或者在发生停机时将客户机请求定向到幸存的站点,从而平衡站点间的负载。当应用部署在多个Kubernetes集群中时,每个集群可以是一个GSLB可以负载均衡的站点。GSLB提供了复杂的算法来在不同的Kubernetes集群之间分配负载,以满足canary部署、灾难恢复和高可用性等用例的需要。Citrix的多集群负载平衡解决方案提供了Kubernetes本地接口(使用kubectl),运营商可以使用它来管理跨多个集群部署的应用程序的流量。自定义资源定义(CRD)用于在Citrix ADC上配置GSLB。Citrix多集群控制器使Citrix ADC GSLB能够对集群外部公开的任何服务(包括入口、类型LoadBalancer和NodePort)做出负载平衡决策。当群集中的服务想要向其他服务发送流量时,这个解决方案就可以工作了。GSLB决策将根据负载和可用性将流量发送到最佳集群。图1:支持Citrix GSLB的多集群K8s解决方案流程图上图显示:应用程序提供商将为每个Kubernetes集群(集群1和集群2)中的入口或服务应用yaml。图1显示了维修冷态。管理员将应用相同的全局流量策略(cold1)和适当的全局服务条目(冷。默认。东.cluster1和cold.default.west.cluster2)每个集群中的yaml。运行在每个集群中的GSLB控制器将监听这些crd并将config推送到Citrix ADC GSLB设备D1。D1将同步配置到D2。客户对特定应用程序的请求将定向到D1或D2。D1将作出负载平衡决策,并将客户机定向到其中一个集群。Citrix ADC支持故障转移(在主服务器发生故障时维护备份)、canary(以受控方式将流量分配到新启动的群集或应用程序版本)和local first(在延迟严重的用例中,首选本地服务而不是调用者)部署模式。可用的分发方法有循环、静态邻近和RTT。入口、负载平衡器类服务或任何用于将流量路由到集群的K8s对象都将通过定期运行状况检查来监视其运行状况。虽然还有其他方法可以满足维护多个群集(如联合、外部DNS等)的需要,但是联合不支持跨群集的流量分配。外部dns解决方案具有更新具有单个集群入口端点的域的dns记录的局限性,即使在跨多个Kubernetes集群部署入口时也是如此。部署示例假设我们在两个集群上部署了一个应用程序—东集群和西集群。我们的应用程序是使用基于主机的入口对象app1公开的。example.com网站. 应用程序主要驻留在东部集群,为什么要用高防cdn高防,但当东部集群出现故障时,流量必须由西部集群提供服务。Citrix多集群控制器部署在每个集群中。此控制器侦听两个CRD:全局流量策略和全局服务条目。相同的全局流量策略应用于两个集群,而全局服务条目是特定于集群的。多集群控制器根据这些策略配置GSLB设备。全局流量策略将包含部署配置详细信息。例如:应用程序的入口主机条目(即app1。example.com网站)哪些群集将作为主要端点,哪些群集将具有备份角色监测以探测入口的健康状况图2:应用于每个kubernetes集群的GTP yaml定义根据图2中的yaml定义,应用于东部地区Kubernetes集群"cluster1"的默认名称空间中的ingres ingres1将作为主节点。在西部地区的Kubernetes集群'cluster2'上应用的默认名称空间中的ingres ingres2将作为备份。全局服务条目将包含有关入口端点的以下信息:前端入口IP前端入口图3:GSE yaml定义应用于东部地区Kubernetes集群1图3是应用于east区域的cluster1的全局服务条目,用于默认名称空间中的入口1;ipv4address和monitorPort分别是east区域中cluster1中的前端入口ip和端口。图4:GSE yaml定义应用于西部地区Kubernetes集群2图4显示了应用于西部地区cluster2的全局服务条目,防御DDOS的产品,用于默认名称空间中的入口2;ipv4address和monitorPort分别是西部地区cluster2中的前端入口ip和端口。每个集群中的Citrix多集群控制器将监听这两个crd,并相应地配置主Citrix GSLB ADC设备。citrixgslb设备将拥有跨集群部署的所有入口的端点信息。GSYNC的GSYNC LB与其他设备同步。例如,如果应用了上述yaml,在正常操作期间,客户端将解析app1。example.com网站使用GSLB设备作为east集群的权威DNS服务器(10.102.217.10)。如果east集群失败,那么客户端将收到10.102.151.10作为对DNS查询的响应。结论通过采用多集群负载均衡方案,可以轻松实现多集群负载均衡。此解决方案将使客户能够在不同的云提供商中部署他们的应用程序,并根据他们的需求将流量定向到任何云提供商。在引入的两个crd的帮助下,配置代理的所有难点都被抽象化了。有关此解决方案的更多信息,请查看https://github.com/citrix/citrix-k8s-ingres-controller/blob/master/docs/multicluster/multi-cluster.md。