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

  • 时间:
  • 浏览:5
  • 来源:大发快3官方网址—大发快3APP下载

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

温馨提示:大伙儿的目标是快速地学习下图中浅紫色部分的内容,按从左到右的顺序,完会刚开始学习紫色的部分,同样是从左到右。整个流程分为2个模块,顺利语录每个月完成有有一2个多模块的学习,刚好2个月学完。

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

完会,大伙儿发现通过点击来实现配置环境也需要有有一2个多好主意,可能同样的现象报告 仍然发生:

可能,可能您正在使用容器,没办法 你应该从内心渴望使用不可变部署的。你肯定不希望开发容器与 QA 容器和中产容器不同。完会希望在所有环境中使用详细相同的容器。这可不后能 出理 配置偏差,并在再次出现 现象报告 时复杂化回滚。

完会可能我需要查看日志来出理 现象报告 为何在么在办?好吧,您将不再登录虚拟机来查看日志,一点一点我查看集中式日志管理的基础设施来出理 现象报告 。这同样使得你可不后能 详细禁用远程访问,让环境变得更加安全。

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

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

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

可可不后能 正确的使用,这是有有一2个多非常强大的模式,一点一点我强烈推荐!

然而,工具发展到现在,我我其实 Ansible 能干的事 Terraform 基本上不可不后能 做了,反之亦然。不过也别让哪此事儿烦你,只需要知道现在 Terraform 可能是一点领域最重量级的选手,一点一点强烈推荐从 Terraform 刚开始学习。

此外,这原困大伙儿部署基础设施的法律最好的办法从各种点击变为:

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

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

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

你现在可能会问为哪此要选着 Terraform 而需要 Chef 可能 Puppet 可能 Ansible 可能 CFEngine 可能 Salt 可能一点哪此呢?

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

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

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

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

一点一点大伙儿就需要有五种新的法律最好的办法来完成一点工作,而一点新的出理 方案一点一点我 “基础设施即代码(Infrastructure as Code)“ 这也是本文关于 DevOps 中配置环节的重点。

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



看后我自信的微笑了么

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

现在可能大伙儿拥有了云服务器一点高级服务,所有的基础环境设置都可不后能 通过点击完成,当然有然后 可能需要一点一点次点击。

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

原文作者:Igor Kantor

翻译君:CODING 戴维奥普斯

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

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

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

SIDE NOTE:一点领域正在经历没办法 来越快发展完会可能会你可不后能 困惑,一点一点我完会花几分钟时间谈谈最近的一点历史,以及我看后事情在往哪里发展。

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

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

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

最后,可能你还好奇从哪此地方刚开始语录,就去试试 Terraform+AWS 的组合吧,这将是有有一2个多很好的起点。

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

你可不后能 想像成 Terraform 是有有一2个多打地基的工具,完会 Ansible 在地基上盖房子,在帮助你的代码部署到相应的环境。

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

总而言之,大伙儿的全自动 “DevOps” 之旅刚开始配置运行大伙儿的代码所需的计算资源。实现一点目标的最佳法律最好的办法是通过不可变部署。

好现象报告 ,完会一点现象报告 可能在各个社区翻来覆去讨论过无数遍了,简而言之,我认为你应该学习 Terraform 有以下原困:

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

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