容器|云杉网络DeepFlow容器网络监控诊断方案 解锁业务上云新挑战

企业在上云过程中新的技术不断引入 , 中国信息通信研究院的调查报告显示 , 2019年43.9%的被访企业已经使用容器技术部署业务应用 , 计划使用容器技术部署业务应用的企业占比为40.8%;28.9%的企业已经使用微服务架构进行应用系统开发 , 另外有46.8%的企业计划使用微服务架构 。继SDN之后容器、微服务、DevOps等为代表的云原生技术 , 大大提高了企业上云的敏捷性、弹性和云间的可移植性 , 使其基础设施不断云化的同时不可避免地遇到虚拟网络的黑盒难题 。容器网络固有的波动特性成为监控诊断的最大挑战 , CNCF的报告指出 , 容器的网络和安全已成为容器云平台建设最主要的挑战 , 当企业将重要的核心应用迁移至容器平台 , 企业必须获取全网的流量数据并在此基础上绘制网络知识图谱以实现对全网状态的可视化 。
为了解决隔离性和跨节点的容器通信 , Overlay Network成为众多企业建设容器网络方案的首选 。新型容器网络分为两大类——隧道方案和路由方案 。目前常见的容器网络方案通常基于CNI实现 , 包括Flannel、Calico、Weave Net、Contiv、NSX-T Container Plugin (NCP)、OpenShift-SDN等 , 其中Flannel-VXLAN、Calico-IPIP、Weave Net、Contiv-VXLAN、NCP、OpenShift-SDN都是基于Overlay隧道实现 , 而Flannel-HostGW、Calico-BGP、Contiv-BGP都是基于路由方式实现 。此外 , 还有完全依赖Underlay实现的网络方案 , 如SR-IOV、MACVLAN、IPVLAN等 。隧道方案对底层的网络没有过高的要求 , 但随着节点规模的增长复杂度会提升 , 对网络问题的排查将变得更为困难 。
企业上云之后 , 其业务的应用架构逐渐走向微服务化/容器化 , 业务和网络结合的越来越紧密 。容器云平台比以往任何的基础架构平台更加的接近业务 , 同时也包含了更多的层级和组件 , 因此也带来了更多的风险;在容器云平台内部 , 默认的网络模型在东西向访问隔离方面缺少必要的安全保障 。在微服务架构中 , 服务间的网络监控是业务保障中重要部分;在容器网络中 , POD间的网络流量迫切需要工具手段进行监控保障 。获取完整的网络流量尤其是虚拟网络和容器网络的流量是解决虚拟网络黑盒问题、保障业务上云的连续性和安全性的重要前提 。企业需要构建统一的云监控平台 , 使其具备全网流量采集和全面可视化能力 , 实现业务上云后的可视、可管、可控以及快速排障 。
对于建设全网流量监控与可视化方案的介绍请参照云杉网络混合云网络监控诊断方案的论述 。下文将针对容器网络的流量监控与可视化进行展开 。在建设容器网络流量监控与可视化实践中需注意以下原则:
a)功能一体化:在覆盖容器资源池的同时要能兼容KVM、VMware、公有云、裸金属等异构资源池的虚拟网络 , 同时兼具多租户服务能力 , 避免重复建设和复杂管理 。此外 , 方案须具备容器业务的梳理和画像能力 , 为流量可视化奠定基础 。
b)架构云原生:监控平台自身必须是云原生架构 , 充分考虑和满足企业上云的弹性需求 , 在适配不同容器环境的同时确保对主流私有云、公有云等混合云环境的统一监控 。当企业对容器业务进行跨资源池弹性部署时 , 方案应具备自动跟随能力 。
c)部署少侵扰:整个方案的部署应尽可能地避免对现有生产环境产生影响 , 对不同的容器环境须采用与之匹配的技术方案 , 在进行容器流量采集部署时满足平滑部署且保证业务不间断 , 确保对计算资源的消耗安全可控 。
d)数据标准化:企业IT环境往往是复杂和异构的现状 , 其监控系统中的工具和数据也多种多样 。容器网络的流量数据不可避免地要被多类终端或平台消费 , 因此监控数据须遵循开放标准 , 确保企业现有的分析工具可以无缝使用 。
虚拟化在资源使用率、灵活性和弹性方面不如容器 , 容器在微服务、DevOps、分布式等方面天生具备优势 , 因此成为数据中心新一代云基础架构的选择 。Kubernetes凭借着其优良的架构 , 灵活的扩展能力 , 丰富的应用编排模型 , 成为了容器编排领域的事实标准 , 也是企业进行容器云平台建设的首选 。


推荐阅读