元数据

Vagrant开发运维实战

  •  Vagrant开发运维实战|200
  • 书名: Vagrant开发运维实战
  • 作者: 亚历克斯·布朗顿
  • 简介: Vagrant是一款开源软件,它允许开发者以编程的方式管理虚拟机,帮助团队之间共享开发环境。本书不仅全面地介绍Vagrant的各个知识点,还包含很多相关生态的应用技巧。本书前8章以循序渐进的方式介绍Vagrant的各个功能点和特性,后6章则详细介绍5种主流配置管理工具(Ansible、Chef、Docker、Puppet和Salt),以及它们是如何与Vagrant协同工作的。阅读完本书,相信读者一定能有所收获。本书可供Vagrant开发与运维的初学者阅读,已经对Vagrant有所了解的读者在阅读本书后也将更好地理解和使用Vagrant。无论读者处于什么水平,通过学习本书讲解的全新知识点和应用技巧,都能有所收获。
  • 出版时间: 2021-08-01 00:00:00
  • ISBN: 9787115563378
  • 分类: 计算机-编程设计
  • 出版社: 人民邮电出版社
  • PC地址:https://weread.qq.com/web/reader/e1132810726fa094e11c2f4

高亮划线

前言

📌 Vagrant是一款开源工具,它允许开发者以编程的形式管理虚拟机。 ⏱ 2022-02-26 15:16:14

📌 我们将使用Chef和Ansible等配置管理工具来介绍可用的命令、网络、多机器配置等。 ⏱ 2022-02-26 15:10:30

1.1.1 走进Vagrant世界

📌 box是类似Vagrantfile的一类包,常用于复制虚拟环境并能被共享。执行vagrant box add命令可以轻松下载它们。 ⏱ 2022-02-27 09:36:27

1.1.2 Vagrant的优点

📌 Vagrantfile的优势在于,它的文件通常很小,易于编辑和测试;它的语法也很容易理解,由此提供了一种构建复杂环境的简单方法。 ⏱ 2022-02-27 09:37:10

📌 对开发人员来说,Vagrant允许他们将代码或者应用程序打包成易于分享的、完全一致的开发环境。 ⏱ 2022-02-27 09:37:33

📌 测试部署脚本和基础架构拓扑时,使用Vagrant是一种成本更低、更快速的选择。 ⏱ 2022-02-27 09:37:26

1.1.3 什么是VirtualBox

📌 VirtualBox是Vagrant支持的众多provider之一。 ⏱ 2022-02-27 09:43:03

1.1.4 什么是DevOps

📌 DevOps是方法论、实践、哲学和软件的混合体。DevOps通过创建适用于所有部门的工作流来简化整个项目的生命周期。 ⏱ 2022-02-27 09:43:24

1.2.2 Vagrant如何适应DevOps

📌 Vagrant是当今以DevOps为中心的开发人员工具箱中的关键工具之一。 ⏱ 2022-02-27 09:45:04

3.2.2 常规Vagrant命令和子命令

📌 使用global-status命令将返回与当前用户关联的所有Vagrant环境的信息。它将返回Vagrant的环境ID、名称、provider、状态和目录。此命令可用于总览使用Vagrant环境系统的具体信息。 ⏱ 2022-02-28 09:00:22

3.2.3 Vagrant的配置命令和子命令

📌 login命令用于登录您的Vagrant Cloud账户。 ⏱ 2022-02-28 09:00:50

📌 package命令允许您从正在运行的Vagrant环境中创建Vagrant box。这个命令有5个标志。 ⏱ 2022-02-28 09:01:18

📌 snapshot命令允许您管理Vagrant环境的快照,您可以保存、删除和还原快照。只有某些provider程序支持快照功能,如果您的provider程序不支持,则Vagrant会在执行此命令时输出警告。 ⏱ 2022-02-28 09:01:25

3.2.4 日常使用的Vagrant命令和子命令

📌 使用destroy命令可以停止并删除一个Vagrant机器。 ⏱ 2022-02-28 09:03:22

📌 使用halt命令可以停止或暂停正在运行的Vagrant机器。 ⏱ 2022-02-28 09:03:27

📌 使用init命令会生成一个新Vagrantfile,它可以用来配置一个新的Vagrant环境。 ⏱ 2022-02-28 09:03:36

📌 使用port命令可以返回从客户机到Vagrant环境的端口映射。 ⏱ 2022-02-28 09:04:03

📌 使用provision命令将从可用的Vagrantfile中产生Vagrant机器。如果成功,您将拥有一个正在运行的相同配置的Vagrant环境。 ⏱ 2022-02-28 09:04:35

3.2.6 使用这些命令的典型的Vagrant工作流

📌 vagrant validate命 ⏱ 2022-02-28 09:09:06

5.1 了解Vagrantfile

📌 Vagrantfile是配置Vagrant环境的主要方式。 ⏱ 2022-03-01 00:18:35

📌 最佳方案是每个Vagrant项目都有一个自己的Vagrantfile,并在源码管理中包含Vagrantfile。 ⏱ 2022-03-01 00:18:44

📌 使用Vagrantfile的好处之一是能够与使用Vagrant的任何其他开发人员共享该文件。他们可以通过简单地执行vagrant up命令来引入依赖项(例如其他box),还可以配置任何配置项,以启动和您的运行环境相同的Vagrant环境。 ⏱ 2022-03-01 00:18:55

6.2 专用网络

📌 专用网络允许通过私有IP地址分配和访问您的Vagrant机器。 ⏱ 2022-03-01 06:09:45

6.3 公用网络

📌 Vagrant的公用网络是一个十分让人疑惑的概念。本质上它是专用网络,但是Vagrant将尝试允许从主机外部进行公共访问(如果您的provider和计算机允许的话),而不仅允许从主机内部进行访问。 ⏱ 2022-03-01 06:11:02

📌 两种主要的方法可以用来设置公用网络:您可以使用DHCP或者手动制定一个静态的IP地址。 ⏱ 2022-03-01 06:11:38

6.3.3 网桥

📌 要避免此步骤,您可以在Vagrantfile中提供默认网桥作为附加参数:config.vm.network “public_network”, bridge: “en0: Wi-Fi (AirPort)”。 ⏱ 2022-03-01 06:12:51

7.1.1 多机器负载均衡

📌 在Vagrant中设置多台机器非常容易,您所要做的就是定义一台新机器,然后在块中配置该机器。 ⏱ 2022-03-01 06:15:31

📌 .vm.provision命名空间来配置一个box ⏱ 2022-03-01 06:17:56

📌 现在执行vagrant halt命令关闭3台机器 ⏱ 2022-03-01 06:18:41

8.1.2 管理Vagrant插件

📌 vagrant plugin install vagrant- ⏱ 2022-03-01 06:21:33

设置同步文件

📌 synced_folder配置有两个参数。第一个参数是主机上的文件夹,第二个参数是Vagrant计算机中的文件夹。 ⏱ 2022-03-01 06:23:17

📌 使用这个选项,主机和Vagrant机器都需要安装有RSync工具。如果可以,Vagrant会尝试在Vagrant机器安装RSync工具,如果不成功,则会抛出一个错误。 ⏱ 2022-03-01 06:24:21

📌 使用Rsync方法通常会从主机到客户机进行一次性同步,除非将Vagrantfile中的rsync_auto选项设置为false。 ⏱ 2022-03-01 06:24:42

📌 主机必须也通过运行NFS守护进程(nsfd包)来支持NFS,它是在macOS上预装的,如果您的主机运行的是Linux,则可能需要先安装它。 ⏱ 2022-03-01 06:25:04

9.1 Vagrant服务开通

📌 Vagrant中的服务开通流程是先创建一个脚本,然后在Vagrant机器上安装需要的软件。服务开通可以通过Vagrantfile中的内联Shell语句或者外部文件来完成。服务开通一般发生在机器正在创建的vagrant up的过程中。 ⏱ 2022-03-01 07:12:48

9.2 了解配置管理

📌 配置管理本质上是服务开通的另一种描述,它用于将计算机设置为某种所需的状态——可能是安装软件或配置的状态。 ⏱ 2022-03-01 07:13:06

Vagrant服务开通命令

📌 如果您有一台执行过服务开通又停止了的机器,或者您想要强制重新执行服务开通,那么可以执行vagrant up —provision命令来重新执行服务开通。 ⏱ 2022-03-01 07:14:22

9.4.2 使用整个文件夹

📌 同步文件功能不同,上传配置文件并不会让主机或客户机中的变化影响到另一个。 ⏱ 2022-03-01 07:15:36

10.1 了解Ansible

📌 Ansible是一款开源软件,致力于IT自动化,它在各方面提供自动化的能力。Ansible可用于配置管理、软件服务开通和应用程序部署等,它是一个功能强大的工具,提供了许多特性,具体如下。 ⏱ 2022-03-01 07:17:08

读书笔记

本书评论