为特使建立控制平面的指南第2部分-识别组件

这是探索为Envoy Proxy构建控制平面的系列文章的第2部分。

在本博客系列中,我们将研究以下领域:

  • 采用一种机制来动态更新Envoy的路由,服务发现和其他配置
  • 确定哪些组件构成了控制平面,包括后备存储,服务发现API,安全组件等。 等 (此条目)
  • 建立最适合您的用例和组织的任何特定于域的配置对象和API
  • 考虑如何最好地使控制平面可在需要的地方插入
  • 部署各种控制平面组件的选项
  • 通过测试平面来考虑您的控制飞机

在本系列的上一篇文章中,我们探索了动态配置Envoy的过程,这是在云原生环境中运行Envoy的重要组成部分。 在本条目中,我们将研究支持控制平面可能需要的协作组件。

确定控制平面所需的组件

由于操作环境的范围千差万别,因此为Envoy实施控制平面所需的组件也可能如此。 例如,在一种极端情况下,如果您在构建时静态生成了Envoy文件并将其发送到Envoy,则可能需要以下组件:

  • 模板引擎
  • 数据存储/ VCS,用于进入模板的值
  • 可能/可能不与服务/应用程序一起存储的任何特定于服务的配置
  • 协调器将碎片拼凑在一起
  • 将这些交付给特使的方法
  • 一种触发配置文件的重新加载/热重启的方法

另一方面,如果您选择使用gRPC流xDS实现,则需要:

  • 核心xDS服务接口和实现
  • 用于将服务注册/注销服务到服务注册表的组件
  • 服务注册表
  • 描述Envoy配置的抽象对象模型(可选)
  • 数据存储区,用于保存配置

您最可能需要支持Envoy的其他辅助组件:

  • 证书/ CA商店
  • 统计收集引擎
  • 分布式跟踪后端/引擎
  • 外部认证
  • 限速服务

通常,您将需要考虑构建控制平面,以便组件独立运行并可以松散协作以提供控制平面的需求。 您要做的最后一件事是通过部署整体控制平面来支持Envoy进行微服务部署。 例如,在开源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 –可插拔策略引擎
识别组件

Heptio Contour实际上只有两个组成其控制平面的组件,但是,由于它仅基于Kubernetes,因此它实际上利用了许多内置的Kubernetes设施,例如Kubernetes API /存储和CRD来驱动配置。

  • contour服务器
  • init-container引导程序
识别组件

Contour使用init-container为Envoy生成一个静态引导程序配置文件,该文件指示在哪里可以找到xDS服务。 xDS服务器是控制平面中的第二个组件,默认情况下与数据平面一起部署,并带有单独部署的选项。 在本系列“部署控制面板组件”的第5部分中,我们将研究这种架构及其权衡。

带走

确定控制平面所需的核心组件。 不要尝试构建单一的整体式控制平面抽象,因为这将成为维护和更新的噩梦。 在松耦合架构中构建控制平面所需的组件。 如果您可以在Kubernetes之上构建,请这样做: Kubernetes为运行分布式系统(例如Envoy控制平面) 提供了非常强大的集成数据平面。 如果您确实在Kubernetes上构建了控制平面,则应该利用自定义资源定义来驱动控制平面的配置。 一些人选择使用Ingress定义 , 服务注释或配置图来构建其控制平面。 在Kubernetes CRD可用之前,这些可能是适当的解决方法,但此时您应该避免使用这些路径并坚持使用CRD。 就像Tim Hockin(Kubernetes的创始人)在最近的播客中说的那样 ,用于驱动Ingress Gateway资源的注释是一个糟糕的选择。

该系列的下一个条目实际上已经发布: 为Envoy构建控制平面的指南第3部分-特定于域的配置API

翻译自: https://www.javacodegeeks.com/2019/03/control-plane-envoy-identify-components-2.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/342329.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无线通信模块定点传输-点对多点的具体传输应用

1. 无线模块通信传输发展背景 在物联网无线通信传输应用中,同一环境中往往具有多个无线通信模块在使用,由于射频本身的特性影响,导致无线模块相互传输过程中很容易造成干扰。干扰是由于同一个环境中使用了多对无线模块同时发射造成的。在多…

飞畅科技-工业交换机电源故障初探

众所周知,工业以太网交换机由于其特定的工业应用场合,我们在使用过程中难免会发生这样或那样的故障,但纵观来看这些故障还是有一定规律可循,比如电源故障就占其中很大一部分比重。工作中常遇到各种各样的电源故障问题,…

[渝粤教育] 四川大学 简明大学化学·物质结构部分入门 参考 资料

教育 -简明大学化学物质结构部分入门-章节资料考试资料-四川大学【】 微观粒子的运动特性 1、【单选题】首先对原子结构提出含核模型的科学家是() A、汤姆生(Thomson); B、卢瑟福(Rutherford); C、莫塞莱(Mosely); D、…

无线模块透明传输技术的物联网应用案例

近年来,随着射频技术、集成电路、自动控制、无线数据通讯技术的迅速发展,无线传输技术越来越多的被提及,当前的智慧城市、智慧农业、智慧工厂等都需要无线传输技术来支撑。以下主要介绍几种点对多点的无线通信模块具体应用: 一、…

飞畅科技-工业交换机防雷知识总结

工业级交换机的防雷不能偏重任何一方,偏重哪一方的防雷只能称为局部防雷,而局部防雷带有“先天不足”问题。所以工业级交换机防雷应综合进行防雷防范。那么,工业交换机防雷需要注意哪些问题呢?接下来就由飞畅科技的小编一起来为大…

[渝粤教育] 天水师范学院 宇宙探秘 参考 资料

教育 -宇宙探秘-章节资料考试资料-天水师范学院【】 第二章 星系 1、【单选题】大爆炸之后50万年的宇宙和现在的临近宇宙,气体(氢)分别是以什么形式存在的? A、中性,中性 B、中性,电离 C、电离,…

BLE蓝牙模块NRF518/NRF281/NRF528/NRF284芯片方案对比

1.nRF51822简介 nRF51822是一款功能强大,高度灵活的多协议的SoC,非常适用于低功耗蓝牙模块和2.4GHz的无线应用。该SoC是基于ARM Cortex M0为内核的微处理器,拥有256KB/128KB的片上FLASH存储空间,32KB/16K…

[渝粤教育] 天津师范大学 基础心理学 参考 资料

教育 -基础心理学-章节资料考试资料-天津师范大学【】 第一章 绪论单元测验 1、【单选题】心理过程是人脑能动地反映客观事物的过程,它包括( ) A、认知、情感、行为 B、感觉、知觉、行为 C、情感、意志、行为 D、认知、情感、意志 参考资料【…

几步看懂晶闸管的结构和工作原理

之前小亿有讲解过二极管和三极管的内容,感兴趣的朋友可以去网站主页搜索,今天我们来了解晶闸管。 晶闸管结构 单向晶闸管(晶体闸流管)是N-P-N-P四层半导体结构,中间形成了三个PN结。有三个电极,分别是阳极…

工业交换机和工业路由器的区别

现如今,随着时代的进步,互联网已成为人们生活中不可或缺的一部分,通常由许多不同类型的计算机网络相互连接而成。如果几个计算机网络在物理上连接在一起,它们之间并不能进行沟通,那么这种“互连”没有实际意义。所以在谈到“互连”时,就已经暗…

[渝粤教育] 宁波财经学院 财务管理 参考 资料

教育 -财务管理-引进-章节资料考试资料-宁波财经学院【】 财务管理目标 1、【单选题】相对于每股利润最大化目标而言,企业价值最大化目标的不足之处是()。 A、没有考虑资金的时间价值 B、没有考虑投资的风险价值 C、不能反映企业潜在的获利能…

javase获取项目根目录_JavaSE:如何设置/获取您自己的文件和目录属性

javase获取项目根目录在上一篇文章“确定特定文件系统支持的视图”中 ,了解如何询问文件系统存储,并了解特定文件属性视图的可支持性。 简而言之,我们将探索最高级和最重要的文件属性视图之一,即用户定义的文件属性视图 。 特别…

单片机遥控开关mos管

大家好,我是小亿。 说起MOS管,有些人的脑子里可能是一团浆糊,书上说的文字一大堆,今天小亿从物联网实用角度来介绍MOS管中最常用的NMOS,让你做到举一反三。 首先来看图,我们可以用手通过控制开关来实现对灯…

[渝粤教育] 山东职业学院 话说铁道 参考 资料

教育 -话说铁道-章节资料考试资料-山东职业学院【】 随堂测验 1、【单选题】铁路站段是按( )进行专业设置,是直接进行最基本的运输产生活动的生产单位。 A、车、机、工、电、辆  B、机车、车辆、工务、电务 C、车、机、工、电、辆、供 D、铁…

什么是RS-485?

什么是RS485接口 RS-485接口也称为TIA-485(-A)或EIA-485接口,是一种定义UART串行通信系统中使用的驱动器和接收器的电气特性的标准。具有电信号平衡、支持多点系统的功能。该标准由电信行业协会和电子工业联盟(TIA/EIA)联合发布。实施RS485接…

飞畅科技-工业交换机接口类型介绍

工业交换机作为局域网节点连接的网络设备,它的接口类型是随着各种局域网和传输介质类型的发展而变化的,分析一下局域网的主要网络类型和传输介质发展过程,我们就不难发现各种工业交换机接口类型。接下来就由飞畅科技的小编来为大家详细介绍下…

构建Spring微服务并对其进行Dockerize生产

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证。 在这篇文章中,您将学习微服务架构以及如何使用Spring Boot来实现它。 在使…

RS-485通信接口编码器

CUI Devices的RS-485编码器采用快速的位置安全协议,该安全协议容许编码器在一个字节的时间内积极响应位置。参考RS485标准的OSI模型应用层所说,这样的格式支持64个唯一的编码器地址。编码器的地址是一个字节的高6位,低2位是命令。这种地址可通…

[渝粤教育] 中山大学 地理信息系统概论 参考 资料

www.cnki.net 教育 -地理信息系统概论-章节资料考试资料-中山大学【】 第一讲作业 第一讲测验 1、【单选题】有关信息的论述错误的是()。 A、信息具有传输性 B、信息具有共享性 C、信息具有适用性 D、信息具有主观性 参考资料【 】 2、【单选题】在GIS数…

RS485接口OSI模型的应用层

OSI 模型不是一套规则,而更像是一个帮助工程师表征系统的模型。RS485接口很好地包含在OSI 模型的前三层中,总线的实际实现在应用层中进行了表征。这一层涵盖了设备使用的地址或命令集以及数据的解释。它还包括设计人员期望获得多少数据,以及对…