极客视点
极客时间编辑部
极客时间编辑部
113244 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/05:45
登录|注册

初高级DevOps工程师实施配置管理有何区别?

讲述:丁婵大小:7.89M时长:05:45
你好,欢迎收听极客视点。
DevOps 是一种文化,它鼓励包括开发和运维团队在内的所有利益相关方之间进行协作,并通过自动化来改进流程,以提高软件交付的质量和速度。
虽然 DevOps 本身就在强调企业内部文化的变革,但是你会发现在公司中大家还是使用“DevOps 工程师”这个头衔,当然,与其它职位相同,DevOps 工程师也会有初级、高级之分。
Tj Blogumas 的整个职业生涯都专注于 DevOps,并在多家财富 500 强的公司工作过。最近他分享了初高级 DevOps 工程师在面对配置管理相关问题时的不同解决方法。InfoQ 对其进行了翻译,具体如下。

配置管理

配置管理是一种确保公司所有软件和硬件资产在任何时候都是已知并被跟踪的原则,也就是说这些资产的任何变更都是已知且被跟踪的。你可以将配置管理看作是技术资产的一个随时更新的库存清单,一个单一的事实来源。
如何在 IT 部门中实施配置管理,与其说是一门科学,不如说是一门艺术:必须从引入变更的过程、实际变更的内容以及该变更是如何与许多其他依赖系统相关联的等许多不同的方面加以控制和跟踪。
对于 DevOps 工程师来说,配置管理最重要的 5 个方面是:
管理操作系统和中间件层软件的安装和配置
定义自己的 configuration-as-code(配置即代码)
无论环境如何,都能确保可重复的变更是幂等的
了解系统某一个部分的变更可能会对另一个部分产生的影响
定义自己的 networks-as-code(网络即代码)
我们以操作系统和中间件层软件的安装和配置、networks-as-code 为例,来深入探讨一下初高级 DevOps 之间不同的处理方法。

管理操作系统和中间件层软件的安装和配置

这是有运维操作背景的人们最熟悉的地方,需要对应用程序运行其上的多个操作系统和中间件有技术上的了解,需要知道 /etc/hosts 文件是什么,以及它是做什么的,并且在大多数情况下,使用命令行多于 GUI。
问题:在数十台甚至数百台的服务器上安装某些监控代理软件。
初级 DevOps 工程师的方法:
编写一个 powershell/bash 脚本,该脚本可以使用给定的主机名和凭证输入来安装和配置对应的代理。如果安装失败,则将失败信息写入日志中,以便稍后查看。
高级 DevOps 工程师的方法:
查看需要安装此特定软件的操作系统和版本,并尝试将其标准化为受支持的最低版本。
将软件安装在基础镜像中,这样在默认情况下,就能将软件安装到任何新服务器上。
使用配置管理工具,如 Chef 或 Ansible,而不是编写需要管理和维护的自定义脚本。
思考并从配置脚本中推导环境变量,以便在一次性部署到 100 台服务器之前,先在预发布环境中测试安装变更。
利用源代码控制系统,该源代码控制系统通常是基于 GIT 的,且具有可对代码进行测试的持续集成工具。
总结:
从本质上讲,高级 DevOps 工程师会以整体的视角来审视任何给定的问题,并试图理解如何在企业范围内实现这种变更,而不是简单地解决单一给定的问题。坦白地说,这种技能的技术含量较低,更多的是评估和解决问题的能力。

初高级 DevOps 工程师怎么定义自己的 configuration-as-code

这个问题与在某些配置管理工具(例如 Ansible 或 Chef)以及如何用所选工具实现实际配置的技术技能有关。
问题:标准 RHEL 配置需要一个额外的挂载存储驱动,该驱动的 /mount 位置需要 100gb 的可用磁盘空间。
初级 DevOps 工程师的方法:
利用 Ansible 任务来连接磁盘驱动,扩展逻辑卷挂载并创建 /mount FS。并假定此操作仅在新配置的虚拟机上运行,因此,如果运行在现有服务器上,则可能会导致故障。
高级 DevOps 工程师的方法:
为标准 RHEL 配置部署创建一个 Ansible 角色。
使用 set_fact 模块为现存挂载点定义一个变量。
如果 /mount 在给定的磁盘空间中不可用,则用脚本创建它。
总结:
和不同的开发语言一样,每种语言都有自己的方式来实现代码中的某些逻辑。高级 DevOps 工程师了解如何实现代码的逻辑,以便解决配置所面临的多种可能性,而初级 DevOps 工程师很有可能是首次使用给定的工具 / 语言来解决该问题,因此只是简单地尝试解决眼前的问题。
以上就是今天的内容,希望对你有所帮助。
原文链接
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
大纲
固定大纲
配置管理
管理操作系统和中间件层软件的安装和配置
初高级 DevOps 工程师怎么定义自己的 configuration-as-code
显示
设置
留言
收藏
26
沉浸
阅读
分享
手机端
快捷键
回顶部