Service Mesh-Conduit概览

article/2025/10/2 6:09:36

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

Service Mesh-Conduit概览

Conduit是一款针对Kubernetes的超轻量级的service mesh。它可以透明得管理服务运行时之间的通信,使得在Kubernetes上运行服务更加安全和可靠;它还具有不用修改任何应用程序代码即可改进应用程序的可观测性、可靠性及安全性等方面的特性。

本文档将从一个较高层次介绍Conduit及其是如何工作的。如果不熟悉service mesh模型,或许可以先阅读William Morgan的概览文章 什么是service mesh?为什么需要它?

Conduit架构

Conduit service mesh部署到Kubernetes集群时有两个基本组件:数据平面控制平面。数据平面承载服务实例间实际的应用请求流量,而控制平面则驱动数据平面并修改其行为(及访问聚合指标)提供API。Conduit CLI和Web UI使用此API并为人类提供符合人体工程学的控制。

让我们依次认识这些组件。

Conduit的数据平面由轻量级的代理组成,这些代理作为sidecar容器与每个服务代码的实例部署在一起。如果将服务“添加”到Conduit servie mesh中,必须重新部署该服务的pod,以便在每个pod中包含一个数据平面代理。(conduit inject 命令可以完成这个任务,以及透明地从每个实例通过代理汇集流量所需的配置工作。)

这些代理透明地拦截进出每个pod的通信,并增加诸如重试和超时、检测及加密(TLS)等特性,并根据相关策略来允许和拒绝请求。

这些代理并未设计成通过手动方式配置;相反,它们的行为是由控制平面驱动的。

Conduit控制平面是一组运行在专用Kubernetes名称空间(默认情况下为conduit)的服务。这些服务完成各种事情 - 聚合遥测数据,提供面向用户的API,向数据平面代理提供控制数据等。它们一起驱动数据平面的行为。

使用Conduit

为了支持Conduit的人机交互,可以使用Conduit CLI及web UI(也可以通过相关工具比如 kubectl)。CLI 和 web UI通过API驱动控制平面,而控制平面相应地驱动数据平面的行为。

控制平面API设计得足够通用,以便能基于此构建其他工具。比如,你可能希望从另外一个CI/CD系统来驱动API。

运行 conduit --help 可查看关于CLI功能的简短概述。

Conduit 与 Kubernetes

Conduit设计用于无缝地融入现有的Kubernetes系统。该设计有几个重要特征。

第一,Conduit CLI(conduit)设计成尽可能地与 kubectl 一起使用。比如,conduit install 和 conduit inject 生成的Kubernetes配置,被设计成直接送入kubectl。这是为了在service mesh和编排系统之间提供一个明确的分工,并且使得Conduit适配现有的Kubernetes工作流程。

第二,Kubernetes中Conduit的核心词是Deployment,而不是Service。举个例子,conduit inject 增加一个Deployment,Conduit web UI会显示这些Deployment,并且每个Deployment都会给出聚合的性能指标。这是因为单个pod可以是任意数量Service的一部分,而这会导致流量与pod之间出现复杂的映射。相比之下,Deployment要求单个pod只能属于一个Deployment的一部分。通过基于Deployment而不是Service来构建,流量与pod间的映射就总是清晰的。

这两个设计特性能很好地组合。比如,conduit inject可用于一个运行的Deployment,因为当它更新Deployment时, Kubernetes会回滚pod以包括数据平面代理。

扩展Conduit的行为

Conduit控制平面还为构建自定义功能提供了一个便捷的入口。Conduit最初发布时并不支持这一点,在不远的将来,通过编写gRPC插件来作为控制平面的一部分运行,将能扩展Conduit的功能,而无需重新编译Conduit。

转载于:https://my.oschina.net/u/2306127/blog/1793773


http://chatgpt.dhexx.cn/article/XYKMIeGQ.shtml

相关文章

WebApp开发实践

网上购物网站(以出售软件为例) webApp开发由Java实现,运用了 jdbc,jsp,servlet,jQueryFlot图表 等技术,数据库为SqlServer2008,仅供参考学习,转载文章需注明: 一、后台…

Qt+QtWebApp开发笔记(五):http服务器html中使用json触发ajax与后台交互实现数据更新传递

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/131122772 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

webapp开发框架选择注意点

webapp开发框架选择需要注意: 第一步:开发支持的语言类型 根据前端开发人员的能力,来选择webapp开发框架。 例如:前端人员只会写react 就要求webapp开发框架支持react。 第二步:查看webapp开发框架文档是否齐全 例…

Qt+QtWebApp开发笔记(二):http服务器日志系统介绍、添加日志系统至Demo测试

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/130762721 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

WebApp开发----数字角标

数字角标--有底色和无底色 数字角标一般和其它控件(列表、9宫格、选项卡等)配合使用,用于进行数量提示。 角标的核心类是.mui-badge,默认为实心灰色背景;同时,mui还内置了蓝色(blue&#xff09…

WebApp开发学习

1.折叠面板 <!DOCTYPE html> <html> <head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width,initial-scale1,minimum-scale1,maximum-scale1,user-scalableno" /><title></title…

webApp开发心得

从事单页相关的开发一年有余&#xff0c;期间无比的推崇webapp的网站模式&#xff0c;也整理了很多移动开发的知识点&#xff0c;但是现在回过头来看&#xff0c;webapp究竟是好还是不好真是一言难尽哟&#xff01; webapp使用JavaScript修改页面&#xff1b;紧接着再从服务器…

Qt+QtWebApp开发笔记(一):QtWebApp介绍、下载和搭建基础封装http轻量级服务器Demo

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/130631547 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

安卓WebApp开发-项目MiliSetu

文章目录 目录 文章目录 前言 WebAPP开发 一、WebAPP是什么&#xff1f; 二、安装HBuilder X 1.HBuilder X 官网 2.创建一个app项目 3.项目文件 ​编辑 index 总结 前言 WebAPP开发 WebApp开发&#xff0c;是移动端程序的实现方式之一&#xff0c;是一种简单&#…

关于webapp开发

最近想搞一个自用的手机app&#xff0c;但是Android开发给我的感觉是麻烦&#xff0c;想着web也可以制作手机app&#xff0c;于是去网上搜索了一番&#xff0c;最后下载了HBuilderX&#xff0c;然后开始搞&#xff0c;对于原生web&#xff0c;选择5App&#xff0c;默认模板就行…

Web App 开发

0. jQuery Mobile 介绍 jQM是为触控优化的移动web框架&#xff0c;用来设计响应式网站和跨平台移动开发的&#xff1b; &#xff08;这里的跨平台指的是可以运行在iOS、Android、BlackBerry、WindowsPhone各种平台上&#xff09; jQM的资料多而且详细、容易上手&#xff0c;对…

【WebApp】webApp开发总结(集合转贴)

为什么80%的码农都做不了架构师&#xff1f;>>> 【来源地址】 http://www.cnblogs.com/pifoo/archive/2011/05/28/webkit-webapp.htmlhttp://classjs.com/tag/%E7%A7%BB%E5%8A%A8%E7%AB%AF%E5%BC%80%E5%8F%91/http://java-mans.iteye.com/blog/1639503http://www.z…

iOS开发入门——项目创建

iOS开发入门——项目创建 1、新建项目 2、项目模版 3、项目配置 配置好之后点下一步就好。。。。 4、确定存储位置 5、启动模拟器 这就是第一个空白项目的创建过程&#xff0c;后面将持续更新iOS开发学习经历。

ios开发基础教程

博客专栏 斯坦福iOS公开课笔记 文章&#xff1a;8篇 阅读&#xff1a;11187 IOS开发进阶 文章&#xff1a;9篇 阅读&#xff1a;34499 深入浅出Objective-C 文章&#xff1a;17篇 阅读&#xff1a;56719 IOS开发入门实例 文章&#xff1a;30篇 阅读&#xff1a;134894

iOS开发学习指南

1. 提升你的英语水平 虽然知乎er的平均水平比较高&#xff0c;但是现实情况是很大一部分程序员的英文水平是不太过关的。那大概需要提升到什么水平呢&#xff1f;我觉得达到比较流畅的阅读技术文档及书籍&#xff0c;配合英文字幕可以比较轻松的观看wwdc的session的水平就可以…

iOS开发入门——简单上手体验

iOS开发入门——简单上手体验 下面我们正式进入对iOS即swift的探索了解&#xff0c;我们在上一篇iOS开发入门——项目创建中已经创建了一个项目&#xff0c;我们将基于它继续探索&#xff0c;如下图所示&#xff1a; 我们双击即可进入这个项目。 1、进入项目 进入项目后如下图…

IOS开发之——入门

前言 目前主要的移动开发平台有&#xff1a;Android、iOS、WindowsPhone&#xff0c;前两者占据着绝大多数的终端应用&#xff0c;我们常说的移动开发就是指&#xff1a;Android和iOS开发。本位主要讲述IOS的开发。 Android、iOS系统架构对比 android是基于Linux内核设计的&…

ios开发学习

记录一下ios开发遇到好网站 http://www.cnblogs.com/kenshincui/p/3985090.html Kenshin Cuis Blog CODING 完美世界... iOS开发系列文章&#xff08;持续更新……&#xff09; 2014-09-21 22:17 by KenshinCui, 43498 阅读, 50 评论, 收藏, 编辑 iOS开发系列的文章&#xf…

iphone开发教程(1) iOS大纲

iOS 大纲 iOS 由操作系统和应用技术构成。虽然和 Mac OS X 共用了很多技术&#xff0c;但是 iOS 是专门为了移动设备而设计的。当然如果你以前做过 Mac OS X 的应用程序&#xff0c;你会发现很多相似之处&#xff0c;但是很多技术只能在 iOS 里面使用&#xff0c;比如支持多…

ios app开发学习流程(入门到精通)

一、xcode编译并运行app后&#xff0c;iphone模拟器已安装的app所在目录&#xff1a; &#xff03; 1. /Users/alpha/Library/Application Support/iPhone Simulator/5.1/Applications &#xff03; 2. 删除此目录下的app目录&#xff0c;即可清空模拟器里安装过的app &#xf…