DevOps 工程师成长日记系列二:配置

  • 时间:
  • 浏览:2
  • 来源:uu快3手机版_uu快3走势图_网游

代码与配置的分离非常重要 - 你全都希望每次轮换数据库密码时还得重新部署整个应用tcp连接堆栈。全都有,请确保应用tcp连接能从组织组织结构配置存储(SSM / Consul / etc)中提取哪些地方地方配置。

当然这绝不代表着你选取了其他的工具就没人 玩转了,相信每个工程师都不 着另一方对于工具的理解和选取。

不可变部署是指永不改变已部署的基础架构的做法。换句话说,你的部署单元是 VM 或 Docker 容器,而都不 一段代码。全都,你不需要将代码部署到一组静态虚拟机,全都部署整个没人 编译了代码的 VM。

事实上,Terraform + AWS 没人 成为最火的技术需求之一了。

想象一下,当你并能 我能 的 dev 环境、QA 环境、Staging 环境和各个地区不同的生产环境做配置时所需的工作量,全都这项工作减慢就会变得非常烦人和冗长。

为哪些地方呢?正是没人 不可变基础设施(Immutable Infrastructure)概念的冒出。

你现在没人 会问为哪些地方要选取 Terraform 而都不 Chef 没人 Puppet 没人 Ansible 没人 CFEngine 没人 Salt 没人 其他哪些地方呢?

同去并能 对各类工具和使用哪些地方地方工具所需的技能有所了解,并能做到事半功倍。

传统意义上来说,Terraform 和 CloudFormation 之类工具是用来编排基础设施的,而其他像 Ansible 之类的工具是用来做配置的。

除了容器之外,对于哪些地方地方结速英文学习的人来说,使用 Terraform 配置 AWS 基础设施是一另另一个 教科书级的 DevOps 实践模式,也是成长为 DevOps 工程师的必经之路。

然而,工具发展到现在,着实 Ansible 能干的事 Terraform 基本上并能做了,反之亦然。不过也别让哪些地方地方事儿烦你,只并能 知道现在 Terraform 没人 是你什儿 领域最重量级的选手,全都有强烈推荐从 Terraform 结速学习。

总而言之,大家的全自动 “DevOps” 之旅结速配置运行大家的代码所需的计算资源。实现你什儿 目标的最佳方式是通过不可变部署。

温馨提示:大家的目标是快速地学习下图中淡蓝色每种的内容,按从左到右的顺序,全都结速学习紫色的每种,同样是从左到右。整个流程分为五个模块,顺利一句话每个月完成一另另一个 模块的学习,刚好五个月学完。

先要题,全都你什儿 难题没人 在各个社区翻来覆去讨论过无数遍了,简而言之,我认为你应该学习 Terraform 有以下是因为:

不可变基础设施中所谓的不可变,即安装一次,不做修改,用过即扔。有点痛 像一次性产品,没人 想 称为即抛型。

注意:不可变部署要求将配置与您的代码分开。请阅读 12 Factor App 宣言( https://12factor.net/ ),其中删改介绍了你什儿 点(以及其他很棒的想法!)。这是 DevOps 从业者必读的内容。

SIDE NOTE:你什儿 领域正在经历越快发展全都没人 会我能 困惑,全都有我想 花几分钟时间谈谈最近的其他历史,以及我想看 事情在往哪里发展。

全都有大家就并能 四种 新的方式来完成你什儿 工作,而你什儿 新的出理 方案全都 “基础设施即代码(Infrastructure as Code)“ 这也是本文关于 DevOps 中配置环节的重点。

在第一篇文章中,我对 DevOps 工程师的工作定义是搭建一另另一个 数字化的全自动流水线来高效地将代码从编写环节部署到生产环境中:《DevOps 工程师成长日记系列一:必备知识与技能组合》。

实际上,您能并能 安全地禁用对所有生产环境机器的所有 SSH 访问,没人 没人 没人 任何事情可做 - 没人 要更改的设置,没人 要查看的日志。

全都高效地完成这项工作首先并能 有一定的基础,如下图:

不再并能 给生产环境中的机器打补丁,直接部署一另另一个 新的没人 打好补丁的机器就好了。

全都,大家发现通过点击来实现配置环境都不 的是一另另一个 好主意,没人 同样的难题仍然所处:

最后,没人 你还好奇从哪些地方地方结速一句话,就去试试 Terraform+AWS 的组合吧,这将是一另另一个 很好的起点。

没人 ,没人 您正在使用容器,没人 你应该从内心渴望使用不可变部署的。你肯定不希望开发容器与 QA 容器跟生产容器不同。全都希望在所有环境中使用删改相同的容器。这能并能 出理 配置偏差,并在冒出难题时复杂性回滚。



想看 我自信的微笑了么

此外,您能并能 很容易地想看 ,随着不可变部署的兴起,像 Ansible 没人 的工具扮演的角色就变得不没人 突出了。是因为是,现在只并能 配置一台服务器并将其作为扩展组的一每种进行多次部署就能并能 实现大规模的自动化配置了。

基础设施即代码(Infrastructure as Code)的最佳实践即所有归为计算资源编排工具类的工作都并能 使用代码来完成。这里的计算资源指的是为了让代码跑起来所并能 的一切,比如:服务器、存储、网络、数据库等等。

此外,这是因为大家部署基础设施的方式从各种点击变为:

换句话说,通过 Terraform 来创建虚拟机,全都使用 Ansible 来配置和部署应用,过去都不 没人 搭配操作的。

现在没人 大家拥有了云服务器你什儿 高级服务,所有的基础环境设置都能并能 通过点击完成,当然有没人 没人 并能 全都有次点击。

没人 想 正确的使用,这是一另另一个 非常强大的模式,全都有我强烈推荐!

在这篇文章中大家会 cover 整个流水线中的第一每种:配置(Configure)。

全都有在配置阶段到底是要大家做哪些地方呢?

原文地址:https://medium.com/@devfire/how-to-become-a-devops-engineer-in-six-months-or-less-part-2-configure-a2dfc11f6f7d

原文作者:Igor Kantor

翻译君:CODING 戴维奥普斯

也没人 必要区别生产环境和编译环境中 VM,所有的机器在不可变基础设施概念下都不 一样的。

在过去配置基础环境的过程是一另另一个 及其冗长、到处是坑、重复性高的痛苦经历。

简而言之,全都大家写的代码并能 跑在服务器上,在配置阶段大家所要做的全都在服务器上搭建适合大家的代码运行的基础环境。

全都没人 我并能 查看日志来出理 难题为什办?好吧,您将不再登录虚拟机来查看日志,全都查看集中式日志管理的基础设施来出理 难题。这同样使得我能 删改禁用远程访问,让环境变得更加安全。

实际上,我预测 Ansible 之类配置管理工具的重要性会降低,而 Terraform 或 CloudFormation 等基础设施编排工具的重要性没人 提高。

我能 想像成 Terraform 是一另另一个 打地基的工具,全都 Ansible 在地基上盖房子,在帮助你的代码部署到相应的环境。