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

  • 时间:
  • 浏览:2
  • 来源:5分排列5官方_极速5分排列3

SIDE NOTE:你这人领域正在经历迅速发展或者 不可能 会你还上能 困惑,太满我我我想要花几分钟时间谈谈最近的一些历史,以及我我我想要看 事情在往哪里发展。

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

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

此外,这原应大伙儿部署基础设施的土方法从各种点击变为:

太满大伙儿就都要有这人新的土方法来完成你这人工作,而你这人新的防止方案假若 “基础设施即代码(Infrastructure as Code)“ 这也是本文关于 DevOps 中配置环节的重点。

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

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

一同都要对各类工具和使用哪此工具所需的技能有所了解,并能做到事半功倍。

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

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

或者 ,大伙儿发现通过点击来实现配置环境有的是的是另另另有一个 好主意,不可能 同样的疑问仍然所处:

太满在配置阶段到底是要大伙儿做哪此呢?

现在不可能 大伙儿拥有了云服务器你这人高级服务,所有的基础环境设置都还上能 通过点击完成,当然有之前 不可能 都要太满次点击。

为哪此呢?正是不可能 不可变基础设施(Immutable Infrastructure)概念的老出。

你现在不可能 会问为哪此要选折 Terraform 而有的是 Chef 不可能 Puppet 不可能 Ansible 不可能 CFEngine 不可能 Salt 不可能 一些哪此呢?

想象一下,当你都要你还上能 的 dev 环境、QA 环境、Staging 环境和各个地区不同的生产环境做配置时所需的工作量,或者 这项工作更快就会变得非常烦人和冗长。

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

不可能 ,不可能 您正在使用容器,没办法 你应该从内心渴望使用不可变部署的。你肯定不希望开发容器与 QA 容器和化产容器不同。或者 希望在所有环境中使用全版相同的容器。这还上能 防止配置偏差,并在老出疑问时多样化回滚。

最后,不可能 你还好奇从哪此地方结束了的话,就去试试 Terraform+AWS 的组合吧,这将是另另另有一个 很好的起点。

或者 不可能 我都要查看日志来防止疑问咋办 办?好吧,您将不再登录虚拟机来查看日志,假若查看集中式日志管理的基础设施来防止疑问。这同样使得你还上能 全版禁用远程访问,让环境变得更加安全。

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

好疑问,或者 你这人疑问不可能 在各个社区翻来覆去讨论过无数遍了,简而言之,我认为你应该学习 Terraform 有以下原应:

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

原文作者:Igor Kantor

翻译君:CODING 戴维奥普斯

传统意义上来说,Terraform 和 CloudFormation 这人工具是用来编排基础设施的,而一些像 Ansible 这人的工具是用来做配置的。

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

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

换句话说,通过 Terraform 来创建虚拟机,或者 使用 Ansible 来配置和部署应用,过去有的是没办法 搭配操作的。

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

在这篇文章中大伙儿会 cover 整个流水线中的第一次责:配置(Configure)。



想看 我自信的微笑了么

温馨提示:大伙儿的目标是快速地学习下图中淡蓝色次责的内容,按从左到右的顺序,或者 结束了学习紫色的次责,同样是从左到右。整个流程分为有一个模块,顺利的话每个月完成另另另有一个 模块的学习,刚好有一个月学完。

或者 高效地完成这项工作首先都要有一定的基础,如下图:

不可能 能正确的使用,这是另另另有一个 非常强大的模式,太满我强烈推荐!

代码与配置的分离非常重要 - 你能是否希望每次轮换数据库密码时还得重新部署整个应用进程堆栈。太满,请确保应用进程能从内部人员配置存储(SSM / Consul / etc)中提取哪此配置。

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

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

当然这绝不代表着你选折 了一些的工具就没办法 玩转了,相信每个工程师有的是着此人 对于工具的理解和选折 。

然而,工具发展到现在,我我觉得 Ansible 能干的事 Terraform 基本上并能做了,反之亦然。不过也别让哪此事儿烦你,只都要知道现在 Terraform 不可能 是你这人领域最重量级的选手,太满强烈推荐从 Terraform 结束了学习。

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

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

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