iUAP云运维平台v3.0全面支持基于K8s的微服务架构
什么是微服务架构?
微服务(MicroServices)架构是当前互联网业界的一个技术热点,业内各公司也都纷纷开展微服务化体系建设。微服务架构的本质,是用一些功能比较明确、业务比较精练的服务去解决更大、更实际的问题。该架构强调的一些准则:单一职责、协议轻量、进程隔离、数据分离、独立部署、按需伸缩。
什么是Kubernetes?
Kubernetes是Google开源的容器集群管理系统,其提供应用部署、维护、 扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用,其主要功能:1) 自动化容器的部署和复制,随时扩展或收缩容器规模。2) 以集群的方式运行、管理跨机器的容器。3) 将容器组织成组,并且提供容器间的负载均衡。4) 解决Docker跨机器容器之间的通讯问题。5) Kubernetes的自我修复机制使得容器集群保持健康状态。
微服务架构(MSA)跟SOA架构有何不同?
微服务架构是伴随敏捷迭代开发而兴起的,更加强调快速敏捷部署和伸缩,适用于功能拆分比较细的场景,粒度也更小、更独立。协议上基于更加轻量化的REST API,供内部各子系统及微服务之间调用。适合业务相对独立、简单的互联网场景。强调服务的独立部署和易伸缩能力。下图是详细的对比:
怎么理解服务注册和服务发现?
微服务架构下,有大量的微服务需要处理。由于微服务的快速和敏捷研发,他们的位置可能会动态变化。因此在运行时需要能够发现服务所在的位置,服务发现可以解决这个问题。
服务注册:注册中心有微服务的实例和位置信息,微服务在启动时向注册中心注册自己的信息,关闭时注销。其它使用者能够通过注册中心找到可用的微服务和相关信息。
服务发现:为了能找到可用的服务和他们的位置信息,需要服务发现机制。有两种发现机制,客户端发现和服务端发现。WEB应用中,比较常用的是服务端发现的方式:客户端/API网关把请求发送到已知位置信息的组件(比如负载均衡器)。组件去访问注册中心,找到微服务的路径信息,并跳转到相应的微服务。
云运维平台如何基于Kubernetes实施微服务?
基于平台的微服务部署变得不同于传统模式:能够独立于其他微服务发布或者取消发布; 微服务可以水平扩展(某一个服务比其他的请求量大);能够实现快速的构建和发布;各微服务之间的功能不相互影响。使用基于Kubernetes的方式部署微服务,用户需要的只是定义服务的状态,而不是部署过程。
先来看一下Kubenetes整体框架,如下图所示:主要包括kubecfg、Master API Server、Kubelet、Minion以及Proxy。
Master定义了Kubernetes 集群Master/API Server的主要声明,包括Pod Registry、Controller Registry、Service Registry、Endpoint Registry、Minion Registry、Binding Registry、REST Storage以及Client, 是client(Kubecfg)调用Kubernetes API,管理Kubernetes主要构件Pods、Services、Minions、容器的入口。 Minion负责跟踪Kubernetes 集群中有多少台主机。Pod负责跟踪集群中有多少Pod在运行,及跟Minion的映射关系。
下面我们一起看下,基于Kubernetes是如何进行服务注册发现的,其详细的架构如下图所示:
Kubelet是Kubernetes集群中每个Minion和Master API Server的连接点,Kubelet运行在每个Minion上,是Master API Server和Minion之间的桥梁,接收Master API Server分配给它的commands和work,与持久性键值存储etcd、file、server和http进行交互,读取配置信息。Kubelet的主要工作是管理Pod和容器的生命周期,其包括Docker Client、Root Directory、Pod Workers、Etcd Client、Cadvisor Client以及Health Checker组件。
部署完毕后的Kubernetes集群,其各组件和微服务架构所提出的一些准则的对应关系,如下图所示:
应用以Docker容器的形态,通过Namespace隔离的运行在定义好的Pod当中,各微服务之间的调用变得如此简单,再也不用为微服务的实施和治理烦恼了。
iUAP云运维平台v3.0全面支持基于K8s的微服务架构的更多相关文章
- 用友iuap云运维平台支持基于K8s的微服务架构
什么是微服务架构? 微服务(MicroServices)架构是当前互联网业界的一个技术热点,业内各公司也都纷纷开展微服务化体系建设.微服务架构的本质,是用一些功能比较明确.业务比较精练的服务去解决更大 ...
- 基于.net的微服务架构的开发测试环境运维实践
眼下,做互联网应用,最火的架构是微服务,最热的研发管理就是DevOps, 没有之一.微服务.DevOps已经被大量应用,它们已经像传说中的那样,可以无所不能.特来电云平台,通过近两年多的实践,发现完全 ...
- 基于.net的微服务架构下的开发测试环境运维实践
眼下,做互联网应用,最火的架构是微服务,最热的研发管理就是DevOps, 没有之一.微服务.DevOps已经被大量应用,它们已经像传说中的那样,可以无所不能.特来电云平台,通过近两年多的实践,发现完全 ...
- 基于 abp vNext 微服务开发的敏捷应用构建平台 - 文章目录
系列文章: <基于 abp vNext 微服务开发的敏捷应用构建平台 - 设计构想> [点击查看] <基于 abp vNext 微服务开发的敏捷应用构建平台 - 文章目录> [ ...
- 阿里云运维部署工具AppDeploy详细教程
AppDeploy是一个通过SSH实现的命令行工具,可完成应用部署和远程运维管理.当前工具实现为两个版本:普通版(伪代码描述语言)和Python版.Python版使用Python语法规则,可实现您的各 ...
- #研发解决方案#iDB-数据库自动化运维平台
郑昀 创建于2015/12/2 最后更新于2015/12/2 关键词:数据库,MySQL,自动化运维,AutoDDL,刷库,帐号授权,审核,回滚 提纲: 数据库自动化运维什么?别人家是怎么玩的? 我们 ...
- 《开源安全运维平台:OSSIM最佳实践》内容简介
<开源安全运维平台:OSSIM最佳实践 > 李晨光 著 清华大学出版社出版 内 容 简 介在传统的异构网络环境中,运维人员往往利用各种复杂的监管工具来管理网络,由于缺乏一种集成安全运维平台 ...
- 《开源安全运维平台OSSIM最佳实践》
<开源安全运维平台OSSIM最佳实践> 经多年潜心研究开源技术,历时三年创作的<开源安全运维平台OSSIM最佳实践>一书即将出版.该书用80多万字记录了,作者10多年的IT行业 ...
- 运维平台cmdb开发-day1
序读项目由来 终极目标,运维平台.自动化.装机,监控,安装软件,部署基础服务,资产管理,之前是excel,现在是客户端自动获取,变更记录 后台管理 api 采集资产 四种模式agent 定时,每天执行 ...
随机推荐
- javascript小实例,阻止浏览器默认行为,真的能阻止吗?支持IE和标准浏览器的阻止默认行为的方法
看到这标题,是不是有点逆天的感觉,总感觉好狂拽炫酷,耳边隐隐约约传来一个声音:你这么叼,你咋不上天呢! ~~ 额,好吧! 话入正题,我为什么会提出这么一个问题呢? 阻止浏览器默认行为,真的能阻止吗?那 ...
- Paypal 支付功能的 C# .NET / JS 实现
说明 最近用到了 Paypal 支付功能,英语一般般的我也不得不硬着头皮踩一踩这样的坑.经过近乎半个月的作,终于实现了简单的支付功能,那么首先就说说使用 Paypal 必定要知道的几点(当前日期 20 ...
- C# 提取PPT文本和图片的实现方案
在图文混排的文档中,我们可以根据需要将文档中的文字信息或者图片提取出来,通过C#代码可以提取Word和PDF文件中的文本和图片,那么同样的,我们也可以提取PPT幻灯片当中的文本和图片.本篇文档将讲述如 ...
- Java开发笔记(七)强制类型转换的风险
编码过程中,不但能将数字赋值给某个变量,还能将一个变量赋值给另一个变量.比如下面代码把整型变量changjiang赋值给整型变量longRiver: // 长江的长度为6397千米 int chang ...
- pythn print格式化输出---------"%s 和 % d" 都是什么意思?
pythn print格式化输出. %r 用来做 debug 比较好,因为它会显示变量的原始数据(raw data),而其它的符号则是用来向用户显示输出的. 1. 打印字符串 print (" ...
- PHP基础:MYSQL数据库操作
1.连接到数据库: · 面向对象的方法: $db = new mysqli('hostname', 'username', 'password', 'dbname'); · 面向过程的方法: $db ...
- springboot之JdbcTemplate
springboot可以使用JdbcTemplate进行数据库访问,代码如下 添加pom文件 <parent> <groupId>org.springframework.boo ...
- Dynamics 365测试和启用邮箱时候一直显示“安排电子邮件配置测试”怎么办?
摘要: 本人微信公众号:微软动态CRM专家罗勇 ,回复284或者20181125可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me ...
- Python:运算类内建函数列举
1. divmod() python3.x版本中,整除运算用 “//”,取余可以用 “%”,在某些问题中要同时得到商和余数就需要两步运算,而使用divmod函数可以同时得到商和余数: 函数有两个参数d ...
- 质量:“PM,你怎么可以放弃我?!”
最近遇到一件有趣的事儿,一位文玩老友为了攒一串多宝,新得几颗高品松石,开心不已与我们分享.闲扯中,他说出了攒多宝的要求: 直径偏差2mm以内 每种品类的珠子都要是高品 品类只能是南红(满色满肉).蜜蜡 ...