vlambda博客
学习文章列表

官宣!Antrea项目进入CNCF Sandbox

本文3654 字 | 需要阅读10分钟


2021年4月28日,经云原生计算基金会(CNCF)技术监督委员会(TOC)投票决议, 开源项目 Antrea 正式成为CNCF沙箱级项目(Sandbox Project)。


Antrea 项目是一个基于 Open vSwitch(OVS)的开源 Kubernetes CNI 网络插件解决方案,旨在为 Kubernetes 集群提供更高效、更安全的跨平台网络和安全策略。



官宣!Antrea项目进入CNCF Sandbox


官宣!Antrea项目进入CNCF Sandbox

项目介绍



官宣!Antrea项目进入CNCF Sandbox


Antrea最初于2019年11月在北美 Kubernetes大会上正式发布,是一个基于Kubernetes原生的开源项目,它实现了Kubernetes容器网络接口(CNI)和Kubernetes Service以及NetworkPolicy,从而为Pod工作负载提供网络通信和安全策略。


同时,Antrea将OVS的可编程网络优势应用到Kubernetes。



其主要优势包括:


01

跨平台、跨网络

官宣!Antrea项目进入CNCF Sandbox

支持x86、arm等异构硬件设备,可以轻松运行在Linux, windows操作系统,虚机或裸机,以及AWS, Google cloud, Azure和私有云上。

02

强大的安全特性

官宣!Antrea项目进入CNCF Sandbox

更高级灵活的网络安全策略,同时支持IPsec加密网络流量,为企业业务保驾护航。

03

可视化流量监控和故障定位能力

官宣!Antrea项目进入CNCF Sandbox

一目了然网络流量状态,一键部署容器网络,一站式故障诊断程序。

04

高性能,高可扩展性

官宣!Antrea项目进入CNCF Sandbox

在独立第三方的CNI性能评测中成绩优秀,可以支持数千计的节点和数十万计的Pod。



官宣!Antrea项目进入CNCF Sandbox

核心能力



Antrea 具备以下功能特点:


01

基于Open vSwitch

官宣!Antrea项目进入CNCF Sandbox

Antrea基于OVS来实现所有网络功能,包括Kubernetes Service负载均衡,并启用智能硬件和硬件卸载能力(hardware offload)以支持最严苛的应用场景。

02

兼容性

官宣!Antrea项目进入CNCF Sandbox

支持在私有云、公有云、边缘云和裸机(包括ARM设备)上运行Antrea,您可以根据自己的基础设施和实际情况选择合适的通信模式,包括路由模式、overlay模式及两者混合的模式。

03

 支持Windows节点

官宣!Antrea项目进入CNCF Sandbox

Antrea可以在Linux和Windows工作节点上使用相同的数据平面实现其功能。

04

 支持更全面的网络策略模型(Network Policy)

官宣!Antrea项目进入CNCF Sandbox

Antrea提供了全面的网络策略模型, 它在Kubernetes网络策略的基础上, 添加了很多新功能,例如策略层级(policy tiering),规则优先级、流量统计、流量日志和集群级策略。

05

故障排查和监控工具包

官宣!Antrea项目进入CNCF Sandbox

Antrea带有CLI和UI工具包,可提供可视化和故障诊断能力(数据包跟踪,策略分析,流量监测)。可以展示Prometheus指标并支持导出网络流信息,以及在Kibana仪表板中可视化网络流。

06

 数据加密

官宣!Antrea项目进入CNCF Sandbox

使用IPsec对节点间Pod通信(overlay网络)进行加密。

07

Kubernetes原生

官宣!Antrea项目进入CNCF Sandbox

Antrea遵循Kubernetes最佳实践来扩展Kubernetes API,同时在其功能实现中尽可能复用Kubernetes库。

08

一键部署

官宣!Antrea项目进入CNCF Sandbox

支持通过应用单个yaml配置文件来部署Antrea。



官宣!Antrea项目进入CNCF Sandbox

架构设计


Antrea架构如下:


官宣!Antrea项目进入CNCF Sandbox


Antrea 利用 OVS 作为网络数据平面,主要为 Kubernetes 集群提供二到四层的网络服务和安全特性。OVS是一种高性能可编程虚拟交换机,同时支持 Linux 和 Windows 。基于 OVS,Antrea 能够以更高效的方式实现 Pod 的网络连通、网络策略和服务负载均衡。借助OVS的“可编程”特性,Antrea 能够实现更高级广泛的网络服务和安全特性。


Antrea 的控制面基于 Kubernetes 原生技术,遵循 API 扩展最佳实践,并针对网络和安全功能特点做了许多优化。


在一个 Kubernetes 集群内,Antrea 以 Deployment 的形式部署运行中心控制器antrea-controller,以负责网络策略的解析转换、跨度(Span)计算,并能够以增量传输的方式向工作节点按需分发网络策略,以消除在每个工作节点上执行这一处理带来的计算、存储、传输开销。


在每个工作节点上,Antrea 以 DaemonSet 的形式部署运行 antrea-agent 和 OVS 用户态守护进程,并以 init container 的形式将 antrea-cni 插件安装到主机并加载 OVS 内核模块。antrea-agent 负责 OVS 网桥和 Pod网络接口的管理,并通过OpenFlow协议编程OVS来实现各种网络和安全功能。


此外,Antrea 带有命令行工具antctl和基于Octant的图形界面插件,提供了强大的故障诊断能力。


官宣!Antrea项目进入CNCF Sandbox

快速入门


官宣!Antrea项目进入CNCF Sandbox


Antrea 的部署非常简单,部署Kubernetes 集群之后,通过一键执行kubectl apply -f https://github.com/antrea-io/antrea/releases/download/v1.0.1/antrea.yml即可安装Antrea最新发布的1.0.1版本,也可以指定主干分支最新版本安装:kubectl apply -f https://raw.githubusercontent.com/antrea-io/antrea/main/build/yamls/antrea.yml,具体可以参考https://github.com/antrea-io/antrea/blob/main/docs/getting-started.md。


官宣!Antrea项目进入CNCF Sandbox

客户案例



用例一:Glasnostic是一家年轻的高科技公司。专注于Kubernetes云原生运营服务,为用户提供更具弹性的云服务运营。其提供的Kubernetes集群服务支持更灵活的部署和运维操作,得益于在Kubernetes集群中使用Antrea的网络支持,DevOps和SRE团队可以快速、可靠的部署,降低故障率,提升客户使用体验。


用例二:Antrea被使用于VMware的devops内部云,用以支持数以万计的工程师开发和测试的需求。目前已经部署了多个集群,最大集群的规模达到数百工作节点,数万计的pod。


经过内部严格的规模测试,Antrea集群最大可以达到2000个节点,150000个Pod,40000个安全策略和10000个Kubernetes Service。



官宣!Antrea项目进入CNCF Sandbox

未来规划


Antrea 未来仍将以云原生为基础,持续快速迭代,进一步提升用户体验,为用户提供更高性能、更安全、更易运维的容器网络。Antrea 近期的规划包括:更全面的 Windows 节点支持、网络策略特性增强、网络诊断和监测、更加灵活的 IPAM 、 网络流量出口策略、NFV 和电信用例支持、 Kubernetes 节点安全、7层网络安全策略和可视化、 将 OVS 与 DPDK 或 AF_XDP 结合使用以实现更高性能等。


通过最新发布的 1.0 版本,你可以测试最新的特性,并参与讨论、设想下一个版本的新可能性。



官宣!Antrea项目进入CNCF Sandbox

社区活动


官宣!Antrea项目进入CNCF Sandbox


官宣!Antrea项目进入CNCF Sandbox


官宣!Antrea项目进入CNCF Sandbox



CNCF

CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于 Linux Foundation,是非营利性组织。


CNCF(云原生计算基金会)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。通过将最前沿的模式民主化,让这些创新为大众所用。


refs

https://antrea.io/

https://github.com/antrea-io/antrea

https://github.com/antrea-io/antrea/tree/main/docs

https://github.com/antrea-io/antrea/blob/main/ROADMAP.md

https://github.com/antrea-io/antrea/blob/main/docs/getting-started.md

https://www.cncf.io/sandbox-projects/

https://www.cncf.io/online-programs/securing-and-accelerating-the-kubernetes-cni-data-plane-with-project-antrea-and-nvidia-mellanox-connectx-smartnics/