为特使建立控制平面的指南-识别组件
确定控制平面所需的组件
由于操作环境的范围千差万别,因此为Envoy实施控制平面所需的组件也可能如此。 例如,在一种极端情况下,如果您在构建时静态生成了Envoy文件并将其发送到Envoy,则需要以下组件:
- 模板引擎
- 数据存储/ VCS
- 每服务配置
- 协调器将碎片拼凑在一起
- 将这些交付给Envoy并热重启的方法
另一方面,如果您选择使用gRPC流xDS实现,则需要:
- 核心xDS服务
- 发现注册表+您需要的任何集成
- 描述您的Envoy配置的抽象对象模型
您最可能需要支持Envoy的其他辅助组件:
- 证书/ CA商店
- 统计收集引擎
- 分布式跟踪后端/引擎
- 外部认证
- 限速服务
通常,您将需要考虑构建控制平面,以便组件独立运行并可以松散协作以提供控制平面的需求。 例如,在Gloo中,我们具有驱动基本控制平面的以下组件:
Gloo
–一个事件驱动的组件,负责核心xDS服务和自定义Envoy筛选器的配置Discovery
–一个可选组件,它知道如何与服务发现服务(领事,Kubernetes等)一起使用,以发现并发布上游集群和端点。 它还可以发现REST终结点(使用swagger),gRPC函数(基于gRPC反射)以及AWS / GCP / Azure云功能。 该组件创建配置(在Kubernetes上,用CustomResourceDefinitions表示),Gloo
组件可用于构建通过xDS表示的规范Envoy配置。 我们将在本系列博客的后续部分中看到更多内容。Gateway
–该组件允许用户使用更舒适的对象模型根据其角色(例如,边缘网关,共享代理,本地群集入口等)配置Envoy代理。 控制平面的这一部分还生成配置,Gloo
控制平面可用于通过xDS生成Envoy配置
如您所见,这些基本组件协同工作以构建通过xDS服务的适当的Envoy配置。 Gloo通过使用这些无效协调的控制平面组件来实现Envoy配置,从而实现了其强大的功能(发现功能,对功能的语义理解等)。 当将Gloo部署到Kubernetes中时,存储和配置表示具有“ kube-native”的感觉:一切都由Custom Resource Definitions表示。 具体来说,所有面向用户的配置都是CRD以及驱动xDS端点的核心配置。 您可以只使用Kubernetes API和kubectl与Gloo进行交互。 但是,我们还提供了一个glooctl
CLI工具来简化与Gloo控制平面的交互 -特别是这样,如果您不想这样做,就不必大惊小怪。 这样,Gloo非常专注于开发人员的经验,并且对开发人员(或任何人?)进行YAML攻击非常繁琐。
Istio还采用了类似的方法,即使用通过Kubernetes CRD配置的松散协调控制平面组件。 Istio的控制平面由以下组成:
Istio Pilot
–核心xDS服务Istio Galley
–配置/存储抽象Istio Citadel
– CA /证书引擎Istio Telemetry
–遥测信号接收器Istio Policy
–可插拔策略引擎
带走
确定控制平面所需的核心组件。 不要尝试构建单一的整体式控制平面抽象,因为这将成为维护和更新的噩梦。 在松耦合架构中构建控制平面所需的组件。 如果您可以在Kubernetes之上构建,请这样做: Kubernetes为运行分布式系统(例如Envoy控制平面) 提供了非常强大的集成数据平面。 如果您确实在Kubernetes上构建了控制平面,则应该利用自定义资源定义来驱动控制平面的配置。 一些人选择使用Ingress定义 , 服务注释或配置图来构建其控制平面。 在Kubernetes CRD可用之前,这些可能是适当的解决方法,但此时您应该避免使用这些路径并坚持使用CRD。
翻译自: https://www.javacodegeeks.com/2019/02/control-plane-envoy-identify-components.html
为特使建立控制平面的指南-识别组件相关推荐
- 为特使建立控制平面的指南第2部分-识别组件
这是探索为Envoy Proxy构建控制平面的系列文章的第2部分. 在本博客系列中,我们将研究以下领域: 采用一种机制来动态更新Envoy的路由,服务发现和其他配置 确定哪些组件构成了控制平面,包括后 ...
- 为特使建立控制平面的指南-部署权衡
部署控制平面组件 构建并设计了控制平面后,您将需要确切确定如何部署其组件. 在这里,您可以选择将控制平面与数据平面共置一处以集中控制平面. 这里还有一个中间立场:部署与控制平面位于同一位置的某些组件, ...
- 为特使构建控制平面的指南-为可插入性构建
Envoy是一个非常强大的软件,每天都会向社区提出新的用例和新的贡献 . 尽管Envoy的核心非常稳定,但它基于可插入的过滤器体系结构,因此人们可以为不同的L7协议编写新的编解码器或添加新的功能. 目 ...
- latex如何使节标题居左_为使节构建控制平面的指南第3部分-特定于域的配置API...
latex如何使节标题居左 这是探索为Envoy Proxy构建控制平面的系列文章的第3部分. 在本博客系列中,我们将研究以下领域: 采用一种机制来动态更新Envoy的路由,服务发现和其他配置 确定哪 ...
- envoy api 网关_为Envoy构建控制平面的指南-特定于域的配置API
envoy api 网关 建立您的控制平面交互点和API表面 一旦考虑了哪些组件可能构成控制平面体系结构(请参见上一章),您将要确切考虑用户将如何与控制平面进行交互,甚至更重要的是, 用户将是谁? 要 ...
- 为使节构建控制平面的指南第3部分-特定于域的配置API
这是探索为Envoy Proxy构建控制平面的系列文章的第3部分. 在本博客系列中,我们将研究以下领域: 采用一种机制来动态更新Envoy的路由,服务发现和其他配置 确定哪些组件构成了控制平面,包括后 ...
- 为Envoy构建控制平面的指南-特定于域的配置API
建立您的控制平面交互点和API表面 一旦仔细考虑了哪些组件可能构成控制平面体系结构(请参见上一章),您将要确切考虑用户将如何与控制平面进行交互,甚至更重要的是, 用户将是谁? 要回答这个问题,您必须决 ...
- Envoy Proxy构建控制平面指南
作者:Christian Posta 译者:殷龙飞 审阅:孙海洲 原文:medium.com/solo-io/gui- [编者案] Envoy 作为最受欢迎的早期网络组件,现在已经可以说是云原生架构中 ...
- envoy api 网关_在边缘,作为网关或在网格中构建控制平面以管理Envoy代理的指南...
envoy api 网关 最近, Envoy已成为流行的网络组件. 马特·克莱因( Matt Klein )在几年前写了一个博客,内容涉及Envoy的动态配置API,以及它如何成为Envoy的采用曲线 ...
最新文章
- wamp安装多版本php,WampServer安装多个php版本
- MongoDB 索引
- matlab中.P文件的使用说明
- 闲鱼疯转6800份!大厂内部数据分析资料首公开!
- 树莓派3显示服务器SSH拒绝了密码,脚本封杀尝试树莓派SSH密码的来源IP
- MOSS数据库服务器迁移步骤
- go.js节点字体设置
- python遇到的问题
- 运算放大器权威指南(Op Amps for Everyone)
- 基于微信小程序的毕业设计题目(33)PHP校园失物招领小程序(含开题报告、任务书、中期报告、答辩PPT、论文模板)
- WEB服务器安全设置,有效防护网站攻击70%
- [usaco3.2.4]ratios
- 壁纸网站研究:强大到没朋友的壁纸网站整理(动漫/二次元/宅男/风景/真人)
- 【2021知识蒸馏】Show, Attend and Distill:Knowledge Distillation via Attention-based Feature Matching
- F5 BIG-IP LTM基础资料
- ChemDraw 2D与ChemBio 3D之间的信息转换
- .Net Core DI依赖注入:一个接口注入多个实现类
- redis实现计时器
- 题9.1:定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天, 注意闰年问 题。
- 中国数据分析师行业峰会:数据分析 一门技术与艺术结合的学问