了解最新公司动态及行业资讯
这是我参加11月更新挑战赛的第21天,活动详情请查看:2021年最后更新挑战赛”
目录内容: 1.开发经验 2.知识图谱 3.组件说明
本节目标:要求能够画出bolg系统和系统的架构图,了解架构中各部分的作用。
一、开发经历
对于云计算,他会有一些发展标准
1. 作为:IAAS 的简称,基础设施和服务。 典型的国内厂商是阿里云。 最大的国际制造商是AWS。
2. as a:简称PaaS,平台和服务。
3.as a:简称SSAS,软件设施和服务。
例如:我想使用套件。 我不需要像以前那样安装它。 安装需要1小时。 我只需要通过b/s结构,也就是浏览器访问他的网页即可。 完成的文件创建和修改
下面详细谈谈PaaS、平台和服务。
新浪有个老平台SAA。 过去,用户可以免费申请这样的平台,运行java、php等代码项目。
例如:有一个用户申请了一个SAA服务平台。 然后新浪运维在后台看到这个命令,开始部署环境。 这时候运维难度很大。 来个清单,部署一套环境。
后来出现了一些自动化部署运维工具,自动化部署所谓的环境创建,可能是java环境,也可能是php环境。 直到后来,一家股份公司开发了它。 这家公司主要是做PaaS平台的,在他们公司的主要岗位就是自动搭建这些环境的包。 它已经成为下一代PaaS的标准。 也会带来一些问题。
传统业务中,多个数据库运行在一台物理机上,形成一个大集群。 这个没有问题,但是一旦容器化了,就会有问题。
假设:有6台物理机,让这6台物理机组成一个集群。 比如nginx一套,3套,mysql 2套。 他们之间的访问方式是ip+端口号,他们是相连的。
但是在使用了容器之后,我们发现他们之间的映射关系就比较难了。 比如在电脑上安装nginx。 首先我们需要将nginx的端口号映射到物理机上。 我们需要将 8080 映射到主机的 8080。 mysql也是如此。 而且一台服务器不可能只安装一个,还会有很多其他的应用,每台机器都会映射很多端口。 这样越来越多,太复杂了,太乱了。 所以一个新产品。 该产品称为资源管理器。
那么资源管理器要经过什么流程呢?
1. Mesos:mesos是加州大学伯克利分校开发的开源分布式管理框架。 2019年5月放弃mesos,全部改为k8s。
2. swarm:设置母公司诞生的资源管理器。 与swarm形成了系统功能。 这个东西很轻量,只消耗几十M的资源。 对于集群管理来说,耗费几十M,很小,一般几十G,这么好,为什么不用呢? 根本原因是swarm相比k8s功能太少了。 比如我要实现滚动更新和返回等操作。 在swarm中实现起来非常困难。 我们需要手动定义这个过程,太费时了。 2019年7月,阿里云宣布淘汰swarm
3. : ,容器化基础设施管理已经进行了10年。 该系统的名称是borg(伯格系统)。 流行起来,市场开始研究资源管理器。 这是站起来说话。 他让他的内部工程师用go语言重写了borg系统。 现在是k8s。 它已成为当前的标准。
专业:
1、轻量级:Go语言开发,运行效率高,资源消耗少。
2、开源:能够推广的主要原因
3、弹性扩容:公司运营几年后上市,资源不够用服务器运维,所以从5--->升级到10。我们也可以把一些节点调度从节点分离出来,用原来的8台减少到5台服务器运维,可以释放资源,减少资金消耗
4.负载均衡:已经实现了模块之间的负载均衡,我们不需要使用调度器来实现。 它是由这台机器完成的。 并且采用了最新版本的负载均衡框架IPVS。 IPVS是我国研发出来的,是中国公司的骄傲,也是负载均衡行业的佼佼者,no1。
2.知识图谱
了解一下,有哪些知识点
3. 组件描述 本节目标:要求能够画出bolg系统和系统的架构图,并了解架构中各部分的作用。
borg系统的前身。 那么,我们先来看看borg系统的架构
3.1 Borg系统的系统架构 1. 首先大家可以看到主要有两大块:和。 2. 三种访问方式
里面也会有这三种调度管理方法。
请求通过三种方式到达系统后,将请求分发分发给不同的各方进行处理。 比如有工作来了,想把工作分给不同的,那么怎么分呢? 有一个调度程序。
调度程序决定将任务分配给哪个。 这里调度并不是直接分配工作,而是将任务写入数据库Paxos中进行持久化存储。 Paxos 是 的键值对数据库。 它会监控Paxos数据库,看看有没有任务过来。 如果它来了,那就吃掉它。
以上就是borg系统的架构,和borg系统差不多。 让我们看看架构
3.2 架构
这是k8s的架构图。 主要分为两部分:服务端包含中间三个绿色包。 节点节点在下面。
etcd:键值对数据库,存放K8s集群的所有重要信息(持久化)。 etcd类似于Borg系统中的Paxos键值对数据库。 它在集群中起到持久化的作用。 对于etcd,有两点说明:
现在有两个版本的 etcd,v2 和 v3。 v2版本将数据保存在内存中,v3版本将数据保存在数据库中。 通常我们都选择使用v3版本,但是在v1.11版本之前使用的是v2版本。
其他重要插件