介绍Kubernetes的Envoy Operator

今天,Solo.io很高兴地宣布一个新的开源项目 – Envoy Operator。Envoy Operator是一种旨在简化在Kubernetes内部署、缩放和管理Envoy实例的工具。这个Operator的成功归功于CoreOS的员工,他们开源了令人难以置信地有用的Operator SDK,我们用来构建Envoy Operator。

通过我们在Gloo上开发,构建在Envoy上的Solo.io函数网关,我们定期部署和引导Kubernetes内部的Envoy实例。初始配置Envoy可能会很复杂,特别是当每个实例需要唯一配置时。

解决这个问题的一个流行方案是使用代理,这是一个与Envoy并存的进程,可用于在手动启动Envoy过程之前创建引导配置。我们觉得这个解决方案对于我们的用例来说会是过度消耗,特别是在Kubernetes中,Operator模式已经被用来为诸如etcd、Vault和Prometheus等应用程序提供类似的功能。

Envoy Operator允许Envoy实例像任何其他Kubernetes资源一样进行管理 – 使用声明式无状态API,以及管理用于运行Envoy的pod和配置文件生命周期的控制器。

我们最初的版本包含一个operator,该operator将Envoy作为独立的pod部署,并支持基于ADS的配置。用户在CRD中指定Envoy配置的重要细节,operator自动确保使用匹配的引导配置部署所需数量的Envoy实例。

项目的路线图包括:

– 支持将Envoy sidecars注入运行pods,以用于Istio等服务网格

– 支持热重启,以在不久的将来实现完全无代理的Envoy体验

– Envoy的开源增强功能,如Cilium项目承诺通过eBPF优化Envoy的性能和安全性

我们想特别感谢Brandon Phillips,CoreOS和Operator SDK的作者,让Envoy Operator成为可能。我们邀请所有的Envoy用户 – 从新手到高级 – 今天尝试Envoy Operator。感谢您的阅读,敬请期待Solo.io的更多创新!

K8S中文社区微信公众号