美文网首页自动化
今晚九点|发布系统演进与持续集成(文末送书)

今晚九点|发布系统演进与持续集成(文末送书)

作者: 51reboot | 来源:发表于2018-01-25 13:29 被阅读11次

主题:发布系统演进与持续集成

内容:

  • 背景介绍

  • 手动发布的阶段

  • 自动化阶段---脚本

  • puppet

  • 自主研发支持

  • 支持容器化

  • 持续集成

主讲师:萝卜

  • 多年 go 语言开发经验

  • 从事自动化运维和基础架构相关工作

背景

管理什么?

  • 用户

  • 权限

  • 配置文件

  • 软件包

  • 服务

  • 机器

  • cron

特色

  • 支持异构系统,linux、windows

  • 支持多种语言,java、php、c++、web

  • 大规模部署

  • 跨 IDC

  • 与其它运维工具无缝集成

  • 支持全量与增量发布

  • 支持健康检查

  • 支持各种并发控制

  • 支持各种数据统计

  • 实时性要求高

手动发布阶段

人肉发布流程

人肉发布优点

  • 最直接

  • 简单可信赖

  • 小规模,适合创业公司

  • 天然支持异构环境,不同语言

人肉发布缺点

  • 效率,人力浪费,(@ο@) 哇~,排队了

  • 容易出错,特别是紧急上线,文件拷少了

  • Check考虑不全(经验总结自动化)

  • 流程好长

  • 好慢。。。

  • 怎么回滚?

  • 人肉并行吗?

自动化初始阶段

  • scp、rsync、python

  • 依赖运维脚本,需要修改脚本?参数传少了?别人写的?

  • 严重依赖中控机(ACL)

  • 脚本缺乏统一管理,散落在各机器上

  • 发布的中间数据、结果丢失

  • 如何进行回滚、并发控制?

puppet

puppet 解决的问题

  • 自动化部署

  • 资源管理

  • 系统初始化

puppet 架构

puppet 工作步骤

  • 客户端 puppetd 调用 facter ,facter 会探测出这台主机的一些变量如主机名、内存大小、IP 地址等。然后 puppetd 把这些信息发送到服务器端。

  • 服务器端的 puppetmaster 检测到客户端的主机名,然后会到manifest 里面对应的 node 配置,然后对这段内容进行解析,facter 送过来的信息可以作为变量进行处理的,node 牵涉到的代码才解析,其它的代码不不解析,解析分几个过程:语法检查、然后会生成一个中间的伪代码,然后再把伪代码发给客户机。

  • 客户端接收到伪代码之后就会执行,客户端再把执行结果发送给服务器。

  • 服务器再把客户端的执行结果写入日志。

问题

  • 二次开发成本

  • 机器数量持续增加效率

  • 与其他系统集成

自主研发之路

设计考量

  • 用户权限、安全管理

  • 管理机器

  • 管理软件包

  • 跨平台支持

  • 数据统计

  • 并发控制、性能

  • 持续集成

业务领域

基本架构

机器管理

  • 运维手动添加

  • 静态分配

  • 按照产品线(分组)

  • 权限

  • 心跳、存活

  • 资源

包管理

  • 支持多语言

  • 高可用

  • 多版本

  • 自动构建、打包


任务管理

  • 调度系统

  • Agent 执行器

  • 资源中心

  • 依赖子系统

Agent 设计考量

  • 分布式部署

  • 自升级

  • 多账号执行支持

  • 任务幂等性

  • 各种 agent 如何管理

容器化支持

创建服务的流程

  • docker 中部署服务构建镜像(用 docker build 构建镜像)

  • 发布镜像(push 到共享的镜像仓库中)

  • 下载镜像(使用者将镜像下载到客户端本地)

  • 运行容器(将镜像不环境变量相结合,运行容器)

  • 访问服务(通过端口映射或独立IP的方式访问服务)

步骤

  • 制作镜像(打包)

  • 部署服务

  • 启动容器

  • 健康检查

镜像

  • 自动构建镜像

  • 镜像仓库

  • 镜像大小

健康检查

  • 配置中心

  • 监控告警接入

  • 服务自动拉起

开源解决方案

  • Mesos+Marathon

  • Kubernetes

Mesos+Marathon解决方案

Kubernetes 方案

转发本文到朋友圈并获得50个赞及以上的即可获得我们的精美 Golang 书籍一本。(包邮到家)
(截图发小助手)
分享时间:1月 25 日晚上九点

分享方式:网络直播

参与方式:

扫码添加小助手微信,备注"公开课",进入分享群

相关文章

网友评论

  • d1cb4bf6c828:送书?真的假的?
    51reboot:@小林啊 是真的哦,可以截图给我们的小编

本文标题:今晚九点|发布系统演进与持续集成(文末送书)

本文链接:https://www.haomeiwen.com/subject/qflvaxtx.html