Survey:Antrea community活动,等你参加!
一起来投票选出你感兴趣的活动形式/内容吧!
引言
Antrea 项目是一个基于 Open vSwitch(OVS)的开源 Kubernetes CNI 网络解决方案,旨在为 Kubernetes 集群提供更高效、更安全的跨平台网络和安全策略。Antrea Github 地址:
https://github.com/antrea-io/antrea
北京时间2021年07月16日,Antrea发布了新版本v1.2.0。NetworkPolicyStats 功能从 Alpha 升级到 Beta,因此默认启用。Antrea v1.2.0 Release文档:
https://github.com/antrea-io/antrea/releases/tag/v1.2.0
新增特性
本次发布的1.2.0版本新特性包括:
亮点一:更灵活的Egress IP 配置,支持Egress节点故障转移
添加新的 ExternalIPPool API 以定义可用作出口SNAT IP 的 IP地址范围;这些 IP 根据 nodeSelector 分配给节点,并在节点出现故障时支持故障转移;
Egress资源是用来管理集群内Pods的出口流量的CRD API。它支持为Pod访问外部网络的流量指定出口IP(SNAT IP)和出口节点。当Egress应用于某个Pod时,它的出口流量将通过隧道传输到配置有对应Egress IP的节点(如果Egress IP所在的节点不同于Pod运行的节点的话),并经过SNAT将数据包源地址转换为Egress IP。
示例:
创建一个external IP Pool,命名为external-ip-pool,指定其可用IP范围,且nodeSelector只选定“kind-worker2”:
- apiVersion: crd.antrea.io/v1alpha2
kind: ExternalIPPool
metadata:
name: external-ip-pool
spec:
ipRanges:
- start: 10.10.0.11 # 10.10.0.11-10.10.0.20 can be used as Egress IPs
end: 10.10.0.20
nodeSelector:
matchExpressions:
- key: kubernetes.io/hostname
operator: In
values: ["kind-worker2"]
创建Egress,命名为egress-prod-web,指定其external IPPool为刚创建的external-ip-pool:
apiVersion: crd.antrea.io/v1alpha2
kind: Egress
metadata:
name: egress-prod-web
spec:
appliedTo:
namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: prod
podSelector:
matchLabels:
app: web
externalIPPool: external-ip-pool
查看Egress列表,看到系统在external-ip-pool指定的IP范围内自动为Egress分配了IP,并且将IP自动配置到了指定的节点“kind-worker2”:
# kubectl get egress
NAME EGRESSIP AGE NODE
egress-prod-web 10.10.0.11 1m kind-worker2
更详细的指导文档请参考:https://github.com/antrea-io/antrea/blob/v1.2.0/docs/egress.md
亮点二:在 Linux 上使用 OpenFlow 计量器实现packet-in报文限速
在Linux上使用OpenFlow计量器, OVS 数据路径发送到Antrea agent的PacketIn消息进行速率限制。
亮点三:在流记录中添加 Pod 标签信息
从FlowAggregator导出流记录时,为源和目标Pod(如果适用)添加 K8s 标签作为IPFIX信息元素;标签信息是网络策略推荐应用所必需的,还可以增强Kibana 仪表板上的可用性。
亮点四:使用“antctl get featuregates”命令查看特性启用
使用 antctl 命令(“antctl get featuregates”)打印 Antrea Agent 和/或 Antrea Controller FeatureGates信息;
示例:
# antctl get featuregates
Antrea Agent Feature Gates
FEATUREGATE STATUS VERSION
AntreaProxy Enabled BETA
Egress Disabled ALPHA
EndpointSlice Disabled ALPHA
Traceflow Enabled BETA
FlowExporter Disabled ALPHA
NetworkPolicyStats Disabled ALPHA
NodePortLocal Disabled ALPHA
AntreaPolicy Enabled BETA
Antrea Controller Feature Gates
FEATUREGATE STATUS VERSION
NetworkPolicyStats Disabled ALPHA
AntreaPolicy Enabled BETA
Egress Disabled ALPHA
Traceflow Enabled BETA
其他修改
新版本除了以上新特性外,还包括以下修改:
问题修复
新版本还包括以下问题修复:
致谢
随着v1.2.0版本的发布,Antrea提供了更完备的Egress功能,更加友好便捷的用户体验。
社区的繁荣离不开贡献者的支持,感谢每一位社区贡献者!
关于Antrea
Antrea项目是一个基于 Open vSwitch(OVS)的开源 Kubernetes CNI 网络解决方案,旨在为 Kubernetes 集群提供更高效、更安全的跨平台网络和安全策略。
2021年4月28日,经云原生计算基金会(CNCF)技术监督委员会(TOC)投票决议,Antrea成为CNCF沙箱级项目(Sandbox Project)。
✨ GitHub:https://github.com/antrea-io/antrea
💻 官网:https://antrea.io
👨💻 微信群:请搜索添加“Antrea”微信官方公众号进群
参考链接
https://github.com/antrea-io/antrea
https://github.com/antrea-io/antrea/releases/tag/v1.2.0
https://github.com/antrea-io/antrea/blob/v1.2.0/docs/egress.md