元数据
Vagrant开发运维实战
- 书名: 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