eBPF管理器操作符只是一个技术预览功能。技术预览功能不受Red Hat生产服务级别协议(SLA)的支持,并且可能功能不完整。Red Hat不建议在生产环境中使用它们。这些功能可让客户提前访问即将推出的产品功能,从而能够在开发过程中测试功能并提供反馈。 有关Red Hat技术预览功能的支持范围的更多信息,请参见技术预览功能支持范围。 |
eBPF 扩展了原始的伯克利分组过滤器,用于高级网络流量过滤。它作为 Linux 内核中的虚拟机运行,允许您运行沙盒程序以响应事件,例如网络数据包、系统调用或内核函数。
eBPF Manager 简化了在 Kubernetes 中 eBPF 程序的管理和部署,并增强了使用 eBPF 程序的安全性。它利用 Kubernetes 自定义资源定义 (CRD) 来管理打包为 OCI 容器镜像的 eBPF 程序。这种方法有助于明确部署权限,并通过限制特定用户可部署的程序类型来增强安全性。
eBPF Manager 是一个旨在管理 Kubernetes 中 eBPF 程序的软件堆栈。它促进在 Kubernetes 集群中加载、卸载、修改和监控 eBPF 程序。它包括一个守护进程、CRD、一个代理和一个 Operator。
一个通过 gRPC API 管理 eBPF 程序的系统守护进程。
一组用于加载 eBPF 程序的 CRD,例如 XdpProgram 和 TcProgram,以及一个由 bpfman 生成的 CRD (BpfProgram),用于表示已加载程序的状态。
在 daemonset 容器中运行,确保每个节点上的 eBPF 程序都处于所需状态。
使用 Operator SDK 管理集群中 bpfman-agent 和 CRD 的生命周期。
eBPF Manager Operator 提供以下功能:
通过集中式受控守护进程增强安全性。eBPF Manager 拥有提升的权限,因此应用程序无需拥有这些权限。eBPF 程序控制受标准 Kubernetes 基于角色的访问控制 (RBAC) 规范,这可以允许或拒绝应用程序访问管理 eBPF 程序加载和卸载的不同 eBPF Manager CRD。
提供对活动 eBPF 程序的详细可见性,从而提高您在整个系统中调试问题的能力。
使用 libxdp 等协议(用于 XDP 和 TC 程序)促进来自不同来源的多个 eBPF 程序共存,从而增强互操作性。
简化 Kubernetes 中 eBPF 程序的部署和生命周期管理。开发人员可以专注于程序交互,而不是生命周期管理,并支持 Cilium、libbpf 和 Aya 等现有 eBPF 库。