Cilium 1.7发布:Hubble UI、全集群网络策略、基于eBPF的Direct Server Return以及更多

Cilium 1.7版本正式发布,带来Hubble UI以简化集群连接可视化,实现全集群网络策略,支持Direct Server Return作为kube-proxy替代方案。新增功能还包括通过TLS自省增强L7策略、Pod注释实现L7可见性以及纯Go eBPF库。此外,Cilium还提升了可扩展性,支持Kubernetes EndpointSlice,优化了内核性能。
摘要由CSDN通过智能技术生成

在这里,我们要向大家高兴地宣布,Cilium 1.7版本正式发布了!在本轮更新周期当中,由141位开发者组成的项目社区共完成了1551项提交,而且很多朋友是第一次为Cilium项目提交贡献。

  • Hubble:自功能发布以来,很多朋友对于Hubble给出了积极的反馈。为了进一步简化集群连接的可视化与调试方式,我们以开源形式公布了新的Hubble UI,允许大家根据需求对其出调整及扩展!我们还一直在努力对Hubble的核心实现做出一系列改进,包括将网络流量数据同Kubernetes资源更好地关联起来。

  • Cilium全集群网络策略:1.7版本带来备有期待的集群内CNP功能。这意味着无论当前Pod处于哪个命名空间内,用户都可以使用面向整个集群中全部Pod的基准性网络策略。

  • 利用Direct Server Return替代kube-proxy:正如我们在Kubecon US 2019与FSDEM 2020大会上所提到,此次最新版本完善了Direct Server Return(DSR)作为kube-proxy继任者的服务功能集,同时为前者带来更多支持选项。这将进一步改进DSR在Cilium中的延迟与性能表现。此外,我们的DSR也已经结束了beta测试阶段,将在具有较新内核版本的环境中自动启用。

  • 通过TLS自省拓展L7策略:我们已经为Cilium添加了支持,可通过Kubernets资源或者本地文件配置Envoy TLS证书。这基功能使Cilium能够更透明地观察HTTP调用,同时在TLS加密会话上强制执行API感知策略。

  • 各Pod的L7可见性注释:在之前的版本中,如果要在集群内实现对流量的L7可见性,用户需要编写网络策略以保证Pod处于默认拒绝的状态。现在,新的可见性注释功能允许用户首先实现L7网络流量可见性,再根据这些观察结论制定完整的网络策略。

  • 纯Go eBPF库:此次发布的1.7版本,也是第一个使用由Cilium社区与CloudFlare联合编写的纯Go eBPF库的版本。这套简化库使Cilium得以摆脱CGo,在提高性能的同时降低二进制文件大小。

  • 通过Kubernetes EndpointSlice支持与Cilium代理改进改善可扩展性,进一步发展上游Linux,在托管Kubernetes上运行我们的测试环境,通过Helm分发Cilium等等!

Cilium是什么?

Cilium是一款开源软件,负责以透明方式提供并保护由Linux容器管理平台(例如Kubernetes)部署完成的各应用程序服务间的网络与API连接。

Cilium的基础,是一种被称为eBPF的新型linux内核技术。该技术能够在Linux内部动态插入功能强大的安全性、可见性与网络控制逻辑机制。eBPF能够实现多种功能,包括多集群路由、负载均衡(用以替代kube-proxy的部分),透明加密以及网络与服务安全性等。除了提供传统的网络级安全性外,eBPF的出色灵活性也使其能够在应用程序协议以及DNS请求/响应等情境下为安全增添助力。Cilium与Envoy紧密集成,同时提供基于Go语言的扩展框架。由于eBPF运行在Linux内核当中,因此可以在应用全部Cilium功能的同时,避免对应用程序代码或者窗口配置产生任何干扰。

新的USERS.md文件:谁在使用Cilium?

* N: Adobe, Inc.
  D: Adobe's Project Ethos uses Cilium for multi-tenant, multi-cloud clusters
  U: L3/L4/L7 policies
  L: https://youtu.be/39FLsSc2P-Y
* N: CENGN - Centre of Excellence in Next Generation Networks
  D: CENGN is using Cilium in multiple clusters including production and development clusters (self-hosted k8s, On-premises)
  U: L3/L4/L7 network policies, Monitoring via Prometheus metrics & Hubble
  L: https://www.youtube.com/watch?v=yXm7yZE2rk4
  Q: @rmaika @mohahmed13
* N: Datadog
  D: Datadog is using Cilium in AWS (self-hosted k8s)
  U: ENI Networking, Service load-balancing, Encryption
  Q: @lbernail, @roboll
[...]

查看完整USERS.md文件[1]。

要提高项目水准,交流体验并向用户学习当然是不可或缺的一环。我们非常关注是哪些用户在就Cilium中的特定功能与其他用户开展讨论,也一直在跟进其中的经验与最佳实践。从结果来看,Cilium Slack社区非常活跃,而用户们抱怨的主要问题是很难快速在Cilium中找到特定功能。

如果您正在使用Cilium,可以将自己添加为用户、创建一条pull request、描述您如何使用Cilium,同时简要说明自己的使用场景。如果您希望在Slack上与其他Cilium用户联系,也可以在其中添加您自己的Slack昵称。

Hubble

作者:Sebastian Wicki与Sergey Generalov


Cilium 1.7的开发周期与Hubble的第一个预览版基本一致。Hubble是专门为Cilium设计的查看工具。通过使用Cilium的eBPF数据路径,Hubble能够深入了解Kubernetes应用与服务的网络流量。以此为基础,您可通过Hubble CLI及UI查询相关信息,并据此对DNS问题进行交互式故障排除。在监控过程中,Hubble将为您提供可扩展的指标框架,这套框架已经被良好集成至Prometheus与Grafana当中。关于更多相关信息,请参阅关于在Grafana中设置Hubble指标的教程资料[2]。

Cilium 1.7版本也针对Hubble推出多项新功能:首先是L7 Pod可见性注释,允许Hubble从DNS及HTTP流量中提取应用层信息。新版本还扩展了Cilium API,允许Hubble利用其他元数据标观察到的网络数据流,例如将Kubernetes ClusterIP与其对应的服务名称映射起来。

Hubble UI


Hubble UI能够全自动发现L3/L4甚至是L7中的Kubernetes集群服务依赖关系图,轻松帮助用户实现可视化,并将这些数据流以服务映射的形式加以过滤。在Hubble刚刚亮相时,我们就开始为用户提供包含其预览版的Docker镜像,确保每个人都能在Minikube中体验Hubble Service Map的功能,同时不会对原有源代码产生任何影响。

在这里我们高兴地宣布,Hubble UI代码现已开源,您可以通过以下链接从Cilium的GitHub项目中获取:https://github.com/cilium/hubble-ui。

在Cilium 1.7的开发过程中,我们还对Hubble UI做出了多项性能改进,希望它能够在小规模多节点集群中更好地运作。当然,目前的Hubble UI仍处于预览阶段,我们建议大家通过Hubble GitHub[3]页面或者Cilium Slack的#hubble频道[4]上提供反馈。

Cilium全集群网络策略

作者:Deepesh Pathak与André Martins


新版本带来Cilium全集群网络策略(CCNP)。在1.7版本之前,所有Cilium网络策略都包含对应的命名空间,因此用户无法以简单易行的方式配置适用于整个集群的基准性策略。集群范围内的策略允许集群维护者应用面向全部命名空间内各个Pod的策略要求,借此简化默认状态下的标准应用方式,而不必受限于特定命名空间内的现有策略。在各类使用场景下,全集群策略都显得非常重要,例如:

  • 在创建任意命名空间时,自动应用默认拒绝策略以保障安全;

  • 允许调用一组特定的基准性允许目标,例如kube-dns,确保所有应用程序都使用相同的DNS目标或者已知IP范围;

  • 减少大规模环境中由网络策略带来的管理开销。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值