云原生社区 > 容器服务 > 正文

简化之道:容器与SDN

简介:
+关注继续查看

SDN技术为简化接入网络、支持应用创造了机会,但是大多数公司即便采用了SDN技术,但是对待网络的态度仍然跟从前一样,造成的结果是网络仍然保持了原有的复杂性。容器管理平台的兴起也真正的从应用的角度对部署进行了简化,SDN技术的应用无疑推进了简化的进程。

SDN公司试图解决的一个问题是防火墙规则爆炸问题,防火墙访问控制表(ACLs)是出了名的难以理解和处理。例如,我在前东家供职的时候的一个用户防火墙设备上有50000条防火墙规则,他们也不知道删除任意一条规则是否会影响应用程序。负载均衡器也有类似于防火墙的这种问题。数以百计的应用程序产生上千条驻留在硬件负载均衡器上的规则,这很显然存在问题。

解决这个问题的方法之一是创建网络应用程序中心,许多IT网络厂商宣称构建了以应用为中心的基础设施和网络,他们对这个问题的看法就好像网络管理员通过在运行应用程序的虚拟机中添加网络对象如防火墙、负载均衡器、过滤器、包检测,以创建一个应用程序的网络流一样。

20160727033021804.png

上图说明了网络公司应用程序的创建过程,从外部开始,到防火墙,再通过负载均衡器(LB),然后到应用程序(虚拟机,VMs),然后到另一个数据库(DB)。每组应用中的服务都是插入到网络流中,这些服务需要编程和维护。通过使用SDN技术来解决这个问题,虽然灵活性得到了保证,但是网络的复杂性并没有根本改变。这种由硬件构成的网络复杂性会转变成一个非常难管理且十分昂贵的系统。

其他SDN公司尝试通过更换硬件设备和虚拟机(VMs)来解决这个问题,在这种情况下,用户得到的是一个VM运行应用程序,另一个VM运行防火墙或者包分析器。这解决了一些问题,但是也带来了新的问题——现在网络中有了更多的VMs,如何把这些VMs连接起来。

虚拟化革命简化了系统部署,但是在网络中添加了过多的OS终端。更多的虚拟机意味着需要更多的IP、子网,网络也变得更加复杂,同时东西向流量也暴增,随着新的厂商采取创建虚拟机来解决这个问题,成本也越来越高。

容器如何满足应用的弹性需求

如果将应用程序放到应用平台,特别是容器管理的平台而不是VMs,然后你就可以站在应用程序的角度开始考虑应用程序的网络需求了。

从容器中运行的应用开始,并将之命名为“route”。
20160727033026589.png

在上图中,有两个非常简单的对象,对管理员和应用所有者来说非常容易理解。该平台可以隐式插入应用所需的任何网络对象。

通过直接将基于策略的网络控制应用到应用程序中,很容易扩展或者缩小应用程序的规模,并自动添加或删除网络对象。

这个模型能够在你添加更多复杂对象时更加容易扩展,如在这个模型中添加一个数据库:
20160727033027488.png

上图所示看上去简单的结构实际上是非常复杂的网络拓扑结构,当应用平台管理该平台下的网络对象,如软件防火墙、过滤器、负载均衡器都可以神奇的不经过管理员就插入到网络流量中。添加一个数据库并且自动获得一个过滤器。

这种类型的隐式网络与容器管理平台已经司空见惯了,这些平台使用SDN技术与容器技术一起,同时还结合防火墙、负载均衡器、过滤器、服务发现以及其他一些网络功能。当通过策略实现时,该平台隐藏网络的复杂性并创建应用程序编程人员可以操作和利用的易于部署、开发的网络对象。容器+SDN+平台+PaaS可以为应用程序创建一个新的范式。





====================================分割线================================


本文转自d1net(转载)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
多租户Kubernetes实践:从容器运行时到SDN
多租户Kubernetes实践:从容器运行时到SDN
55 0
容器安全性最佳实践:Docker和Kubernetes的安全策略
容器化技术的流行使得软件开发和部署更加灵活和高效。然而,随着容器数量的增加,容器安全性变得至关重要。在本文中,我们将探讨如何实施容器安全性最佳实践,特别是在使用Docker和Kubernetes这两个流行的容器管理平台时。我们将介绍一些重要的安全策略,并提供一些实例代码供参考。
22 0
基于容器的持续交付:使用Jenkins和Docker构建流水线
在当今软件开发的快节奏环境中,持续交付已经成为一种不可或缺的开发实践。它允许开发团队以更快的速度交付高质量的软件,同时保持灵活性和可靠性。在本文中,我们将介绍如何使用Jenkins和Docker构建基于容器的持续交付流水线,以实现自动化的构建、测试和部署过程。
26 0
Docker镜像操作、容器操作、数据卷及挂载数据卷
Docker镜像操作、容器操作、数据卷及挂载数据卷
34 0
云原生之容器编排实践-Docker使用JDK-Alpine镜像的时区问题导致定时任务不执行
云原生之容器编排实践-Docker使用JDK-Alpine镜像的时区问题导致定时任务不执行
40 0
云原生之容器编排实践-SpringBoot应用Docker化
云原生之容器编排实践-SpringBoot应用Docker化
18 0
云原生之容器编排实践-通过IDEA连接Docker服务
云原生之容器编排实践-通过IDEA连接Docker服务
28 0
云原生之容器编排实践-在CentOS7上安装使用Docker
云原生之容器编排实践-在CentOS7上安装使用Docker
18 0
Docker Review - 使用docker volume数据卷实现容器内的数据与宿主机同步
Docker Review - 使用docker volume数据卷实现容器内的数据与宿主机同步
18 0
Docker Review - docker 容器 常用命令(下)
Docker Review - docker 容器 常用命令(下)
20 0
Docker Review - docker 容器 常用命令(上)
Docker Review - docker 容器 常用命令(上)
19 0
Docker基础 & 镜像、容器
Docker的入门篇, docker的基本命令应该了解一下的
63 0
容器服务
+关注
国内唯一 Forrester 公共云容器平台领导者象限。
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
文章
问答
视频
相关电子书
更多
阿里巴巴集团容器技术现状与未来路线
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载