请选择 进入手机版 | 继续访问电脑版

ITIL,DevOps,ITSS,ITSM,IT运维管理-ITIL先锋论坛

 找回密码
 微信、QQ、手机号一键注册

扫描二维码登录本站

QQ登录

只需一步,快速开始

查看: 298|回复: 0

SRE发布工程师如何做好配置管理

[复制链接]
发表于 2020-12-6 00:03:00 | 显示全部楼层 |阅读模式
配置管理是发布工程师与SRE 紧密合作的一个区域。虽然初看起来,配置管理可能很简单,但是这其实是不稳定性的一个重要来源。因此、我们的发布流程和系统运维与配置管理流程都随着时间不停地发展。今天我们使用下面几段描述的模型来分发配置文件。所有这些模型都需要将配置文件存放于我们的主要代码仓库中,同时进行严格的代码评审。

2 ~$ w9 X4 i8 u1 z; t2 a& N
" i. W  e3 c6 C1 F. p1 z: v  q* `& N
使用主分支版本配置文件。这是配置Borg服务的第一个方法(以及配置Borg 之前的那些系统)。使用这个模型,开发者和SRE可以同时修改主分支上的配置文件。这些修改经过代码评审之后会应用到正在运行的系统上。这样做的结果是,二进制文件的发布与配置文件的修改是异步进行的。虽然理解起来和执行起来都比较容易,但这种方式经常会造成提交的版本和实际运行的配置文件不一致,因为任务必须要经过更新才能应用这些变更。

' A& j( ]3 T& y- e

- W0 h( A& o' B+ w3 U
将配置文件与二进制文件打包在同一个MPM包中。对没有多少配置文件的项目来说,或者那些每次发布都会改变文件的项目来说,配置文件可以直接和二进制文件放在一个MPM包里。虽然这个策略在灵活性上有一定限制,但是简化了部署,仅仅需要安装一个包。

7 H( y& i- f. Z# r/ S6 g% i
3 r1 G3 Z+ v9 h* P* `/ w5 f
将配置文件打包成 MPM配置文件包。我们也可以将密闭原则应用到配置管理上。二进制配置文件一般与某个二进制版本紧密相关,我们也可以利用编译系统和打包系统来发布配置文件。就像二进制文件那样,可以利用构建 ID来重新构建某一时刻的配置文件。
: f% j8 ?5 \1 k# E1 d5 Y

3 |. N+ B4 D. d, _1 l2 l/ c
例如,某个实现了新功能的变更可以与配置该功能的配置文件一起发布。通过打包两个MPM包,一个二进制文件,一个配置文件,可以对两个包进行单独修改。如果某个功能需要一个功能开关 first_foLio,但是我们后面发现这个开关值应该为 bad_quarto(这些是没有实际意义的名字),可以将这个变更cherry picking 到发布分支上,重新构建配置包,再实际部署。这种方式可以避免再构建一次二进制文件。
+ q; ]; s5 Y& }2 e1 Y/ s+ B

7 a6 G/ x0 |: ?: B
我们可以利用 MPM的标签功能选择哪些 MPM包应该同时安装。much_ado这个标签可以应用到上面那段中的 MPM包上,这样我们可以用一个标签同时获取两个版本。因为这些标签在每个 MPM 命名空间内部都是唯一的,只有最后一个包才能被用到。
* d& F% `  [: S4 m

% ~* [5 h  p+ y! |, _7 H
从外部存储服务中读取配置文件。某些项目的配置文件需要经常改变,或者动态改变(在二进制文件运行时)。这些文件可以存放在ChubbyBigtable或者 Google自己的基于源代码仓库的文件系统中(参见文献 Kem11】)。
& r7 P; b  ~4 d
7 p: [( Z+ h' @) Y1 [
总之,项目负责人在分发和管理配置文件时有多种选择,可以按需决定究竟哪种最适合该服务。
7 S/ y0 X  N9 A+ H: i& }" g
9 o( W1 V* y9 f" H2 `6 ?4 q
虽然本章讨论的是 Google的发布工程的特有方法,以及发布工程师与SRE共同合作的区域,但其实这些实践适用于更广阔的范围。

9 W9 z0 B/ e6 I: p+ H+ p7 t




上一篇:谷歌SRE发布工程的Rapid 系统
下一篇:如何向谷歌学习更好地发布工程

本版积分规则

本站关键字: ITIL| ITSM| ISO20000| ITIL培训| ITIL认证| ITIL考试| ITSS| ITSS培训| ITSS认证| IT运维管理| DevOps| DevOps培训| DevOps认证| itop| itil4| sre| 开源ITSM软件

QQ|小黑屋|手机版|Archiver|艾拓先锋网 ( 粤ICP备11099876号-1 )|网站地图

Baidu

GMT+8, 2021-3-7 11:06 , Processed in 0.149276 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表