云原生世界的6大开源网络项目

Posted 云原生加速器

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云原生世界的6大开源网络项目相关的知识,希望对你有一定的参考价值。


随着云和容器的日益普及和优势,组织越来越多地采用云原生应用程序和基于容器的基础架构来运行其业务应用程序。为了有效地管理云基础架构,网络工具扮演着重要的角色。拥有正确的网络工具集可以帮助网络管理员管理和操作本地云应用程序。以下是网络管理员可以在其云原生世界中使用的一些开源网络项目。





1.Calico


云原生世界的6大开源网络项目

Calico项目是一个免费的开源项目,可用于管理针对容器,虚拟机和基于主机的本地工作负载的高度可扩展和安全的网络策略。它支持知名的云原生平台,例如Kubernetes,Docker EE,OpenStack,OpenShift和裸机服务。


它利用标准的Linux网络工具为云原生应用程序提供两项主要服务:工作负载之间的网络连接和工作负载之间的安全策略实施。它使用模块化组件支持广泛的部署选项,包括用于Kube的CNI插件,Neutron ML2插件,Felix,BGP路由栈以及简单的命令行界面calicoctl。此外,它在公共云或本地部署中提供了non-overlay和overlay网络选项。它提供可见性和故障排除,自助服务安全性,零信任安全性,云微分段,入侵检测和多租户。它还提供了高级出口访问控制,到Kubernetes的扩展防火墙以及其他安全控制。


该项目具有多个数据平面,因此用户可以选择最适合其需求的技术,例如Linux Berkeley数据包过滤器(eBPF)数据平面,Linux网络数据平面和Windows HNS数据平面。




2. Cilium


云原生世界的6大开源网络项目

Cilium是一个开源工具,可提供透明和安全的网络连接以及应用程序工作负载之间的负载平衡。它在第3/4层上用于传统网络和安全服务,在第7层上用于确保对最新应用程序协议(例如gRPC,HTTP和Kafka)的使用。


该开源工具可以集成到常见的业务流程框架中,例如Kubernetes。该工具的基础是称为eBPF的Linux内核技术。它支持在许多集成点(例如应用程序套接字,网络IO和跟踪点)将eBPF字节码动态插入Linux内核,以实现安全性,联网和可见性逻辑。


它有两个版本:Cilium Open Source和Cilium Enterprise。Cilium开源版是开源Cilium社区代码库的一部分,而Enterprise版则支持分发高级可观察性和安全性工作流程。




3.Envoy


云原生世界的6大开源网络项目

Envoy是为第7层边缘开发的开源网络代理,用于云原生应用程序。它以较小的占用空间提供

云原生世界的6大开源网络项目

了高性能,并且可以用作服务代理。它建立在对软件和硬件负载平衡器(例如HAProxy / nginx)的学习上。它基于Lyft,具有强大的贡献者基础。这也是Cloud Native Computing Foundation(CNCF)项目的官方项目。


Envoy是为单个应用程序和服务创建的C ++分布式代理。它提供了用于大型微服务服务网格体系结构的通信总线和通用数据平面。当基础设施中的服务流量使用Envoy网格流动时,它可以通过定期观察,整体性能调整轻松地查看问题区域,并且还可以在单个位置添加Envoy功能。

Envoy的最新版本是1.17.1(2月25日发布)。它通过使用YAML文件来支持静态配置。对于更高级的配置,可以通过具有一组基于gRPC的API实现。




4.Jaeger



Jaeger是由Uber Technologies开发并捐赠给CNCF的分布式跟踪平台。该平台可用于监视基于微服务的系统。它可以用于诸如事务监视,服务依赖性分析,根本原因分析,分布式上下文传播以及性能或延迟优化之类的任务。


该平台的灵感来自Dapper和OpenZipkin。它提供诸如Jaeger后端之类的功能,这些功能没有单点故障,并且可以根据业务需求进行扩展。例如,任何Jaeger安装通常每天都要处理数十亿个跨度。它支持强类型的跨度标签和结构化日志,以及通过baggage的一般分布式上下文传播机制。此外,它通过跨度引用将迹线表示为DAG(Directed Acyclic Graphs )。Web UI,Jaeger后端和工具库创建自始至终都支持OpenTracing的标准。


Jaeger可以默认安装为Red Hat OpenShift Service Mesh的一部分,其中包括Istio的实现。它包括各种组件(客户端,代理,收集器,查询和控制台),它们可以一起存储,收集,可视化范围和迹线。




5.Flannel


云原生世界的6大开源网络项目

Flannel是一个Overlay网络,可用于跨各种主机连接容器。它可用于配置为Kubernetes创建的第3层网络结构。它在每个主机上运行一个小的单一二进制代理(称为flanneld)。它直接使用Kubernetes API或etcd来存储网络配置。



使用部署工具和发行版,可以轻松地使用Kubernetes部署Flannel。例如,CoreOS Tectonic可以使用开源Tectonic Installer在Kubernetes集群中设置Flannel。但是,它也可以手动安装到任何现有的Kubernetes集群中。




6.Kuma


Kuma是由Kong(广受欢迎的Kong API网关背后的公司)创建的现代服务网格。Kuma通过不仅支持容器而且还支持VM的优势,使其与较旧的服务网格区分开来。这样,它既适合未开发的(现代)应用程序,又适合未开发的(传统)应用程序。


Kuma建立在领先的网络代理服务Envoy的基础上(也在上面列出)。到目前为止,Kuma是在Envoy上运行的唯一CNCF服务网格。Kuma允许高度复杂的部署。有两种模式,独立和多区域。独立模式由一个控制平面和多个数据平面组成,而多区域模式则由一个以上控制平面和多个数据平面组成。Kuma具有与任何API提供程序的原生API集成。这非常方便,有助于构建强大的网络基础架构,该基础架构集成了API和网关和服务网格这两个方面的优势。


虽然Kuma仍处于早期阶段,但它仍处于一个良好的开端,但是与目前的Istio和Linkerd相比,其性能如何尚待观察。如果您觉得Istio太复杂而无法满足您的需求,则可以考虑Kuma。




开源网络:轻松实现云之旅



使用正确的网络工具,应用程序开发人员可以更好地管理其本地云应用程序,或者将其现有应用程序更有效,更快速地迁移到云中。它可以帮助消除网络性能问题,并确保托管应用程序的高可用性。这些开源项目具有成本效益,并且还具有灵活性和敏捷性。选择正确的网络工具可以帮助应用程序开发人员踏上高效的云原生之旅。




参考链接:https://techgenix.com/open-source-networking-projects/






以上是关于云原生世界的6大开源网络项目的主要内容,如果未能解决你的问题,请参考以下文章

百度智能云可编程网关技术升级,为AI原生云打造10T级高速智能云网络

云原生世界里的 DevOps 编排

如何实现云原生?这些云原生工具很关键!

云原生 | Docker篇《带你走进Docker的世界》轻松学会原理|架构|安装|加速

云原生开发者的6个做与不做

云原生世界中的隐形人如何拥抱 Istio