我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何使用Ansible来交付Vagrant

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何使用Ansible来交付Vagrant

本文小编为大家详细介绍“如何使用Ansible来交付Vagrant”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用Ansible来交付Vagrant”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

如何使用Ansible来交付Vagrant

设置工作环境

在用 Ansible 配置 Vagrant 实例时,你需要做几件准备的事情。首先在宿主机上安装 Ansible 和 Vagrant,在你的主机上运行下面的命令来安装:

sudo dnf install ansible vagrant vagrant-libvirt

上面的命令将 Ansible 和 Vagrant 在你的宿主机上,以及包括 Vagrant 的 libvirt 接口。Vagrant 并没有提供托管你的虚拟机的功能,它需要第三方工具比如:libirt、VirtualBox、VMWare 等等。这些工具可以直接与你的 Fedora 系统上的 libvirt 和 KVM 协同工作。

接着确认你的账户在正确的 wheel 用户组当中,确保你可以运行系统管理员命令。如果你的账号在安装过程中就创建为管理员,那么你就肯定在这个用户组里。运行下面的命令查看:

id | grep wheel

如果你能看到输出,那么你的账户就在这个组里,可以进行下一步。如果没有的话,你需要运行下面的命令,这一步需要你提供 root 账户的密码,将 换成你的用户名:

su -c 'usermod -a -G wheel '

然后,你需要注销然后重新登录,确保在用户组里。

现在要建立你的第一个 Vagrant 实例了,你需要用 Ansible 来配置它。

设置 Vagrant 实例

配置一个镜像实例之前,你需要先创建它。创建一个目录,存放 Vagrant 实例相关的文件,并且将它作为当前工作目录,用下面这条命令:

mkdir -p ~/lampbox && cd ~/lampbox

在创建镜像实例之前,你需要搞清楚目的,这个镜像实例是一个运行 CentOS 7 基础系统,模板包括 Apache 的 Web 服务,MariaDB(MySQL 原开发者创建的一个流行的开源数据库)数据库和 PHP 服务。

初始化 Vagrant 实例,用 vagrant init 命令:

vagrant init centos/7

这个命令初始化 Vagrant 实例,并创建一个名为 Vagrantfile 的文件,包含一些预先配置的变量。打开并编辑它,下面的命令显示了用于这次配置的基本镜像实例。

config.vm.box = "centos/7"

现在设置端口转发,以便你配置完毕 Vagrant 实例并让它运行起来之后可以测试它。将下述配置加入到 Vagrantfile 的最终的 end 语句之前:

config.vm.network "forwarded_port", guest: 80, host: 8080

这个命令将 Vagrant 实例 的 80 端口映射为主机的 8080 端口。

下一步是设置 Ansible 作为配置 Vagrant 实例的工具,将下述配置加入到 Vagrantfile 最终的 end 语句之前,将 Ansible 作为配置工具:

config.vm.provision :ansible do |ansible| ansible.playbook = "lamp.yml"end

(必须将这三行在最后的 end 语句之前加入)注意 ansible.playbook = “lamp.yml” 这一句定义了配置镜像实例的 Ansible playbook 的名字。

创建 Ansible playbook

在 Ansible 之中,playbook 是指在你的远端节点执行的策略,换句话说,它管理远端节点的配置和部署。详细的说,playbook 是一个 Yaml 文件,在里面写入你要在远端节点上将要执行的任务。所以,你需要创建一个名为 lamp.yml 的 playbook 来配置镜像实例。

在 Vagrantfile 相同的目录里创建一个 lamp.yml 文件,将下面的内容粘贴到文件当中:

---- hosts: all become: yes become_user: root tasks: - name: Install Apache   yum: name=httpd state=latest - name: Install MariaDB   yum: name=mariadb-server state=latest - name: Install PHP5   yum: name=php state=latest - name: Start the Apache server   service: name=httpd state=started - name: Install firewalld   yum: name=firewalld state=latest - name: Start firewalld   service: name=firewalld state=started - name: Open firewall   command: firewall-cmd --add-service=http --permanent

每一行代表的意思:

  • hosts: all 指定该 playbook 需要在 Ansible 配置文件中定义的所有主机上都执行,因为还没定义主机, playbook 将只在本地运行。

  • sudo: true 表明该任务需要用 root 权限运行。(LCTT 译注:此语句上述配置中缺失。)

  • tasks: 指定当 playbook 运行是需要执行的任务,在这一节之下:

    • name: … 描述任务的名字
    • yum: … 描述该任务应该由 yum 模块执行,可选的 key=value 键值对将由 yum 模块所使用。

当 playbook 运行时,它会安装最新的 Apache Web 服务(http),MariaDB 和 PHP。当安装完毕并启动防火墙 firewalld,给 Apache 打开一个端口。你可以通过编写 playbook 来完成这些。现在可以配置它了。

配置镜像 实例

用 Ansible 配置 Vagrant 实例只需要以下几步了:

vagrant up --provider libvirt

上面的命令运行 Vagrant 实例,将实例的基础镜像下载到宿主机当中(如果还没下载的话),然后运行 lamp.yml 来进行配置。

如果一切正常,输出应该和下面的例子类似:

如何使用Ansible来交付Vagrant

这个输出显示镜像实例已经被配置好了,现在检查服务是否可用,在宿主机上打开浏览器,输入 http://localhost:8080,记住本地主机的 8080 端口是 Vagrant 实例映射过来的 80 端口。你应该可以看到如下的 Apache 的欢迎界面。

如何使用Ansible来交付Vagrant

要修改你的 Vagrant 实例,你可以修改 lamp.yml,然后运行下面的命令来重新配置:

vagrant provision

读到这里,这篇“如何使用Ansible来交付Vagrant”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何使用Ansible来交付Vagrant

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何使用Ansible来交付Vagrant

本文小编为大家详细介绍“如何使用Ansible来交付Vagrant”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用Ansible来交付Vagrant”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。ansib
2023-06-27

如何使用Ansible来配置自动化

这篇文章将为大家详细讲解有关如何使用Ansible来配置自动化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先,因为我们要做的不仅仅是安装包文件,所以我们要做一些重新的组织工作。现在,我们已经有一个名为
2023-06-16

如何使用Vagrant安装Tungsten Fabric

如何使用Vagrant安装Tungsten Fabric,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。01准备测试机在16G的笔记本没跑起来,就干脆拼凑了一台游
2023-06-03

如何使用VirtualBox和Vagrant搭建Linux环境

本篇内容介绍了“如何使用VirtualBox和Vagrant搭建Linux环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、确定电脑的C
2023-06-29

js如何使用^来完成值交换

这篇文章主要介绍了js如何使用^来完成值交换,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用^来完成值交换在 ES6 的解构赋值出来之前,用这种方式会更快(但必须是整数):
2023-06-27

Linux下如何使用Ansible安装软件

这篇文章主要介绍了Linux下如何使用Ansible安装软件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ansible是新出现的自动化运维工具,基于Python开发,集合了
2023-06-28

如何利用GitLab进行持续交付和发布

如何利用GitLab进行持续交付和发布概述在软件开发领域,持续交付和发布是非常重要的实践。GitLab作为一个版本控制和项目管理平台,提供了丰富的功能用于支持持续交付和发布。本文将介绍如何利用GitLab进行持续交付和发布,并给出一些具体的
2023-10-25

linux中如何使用Ansible配置桌面设置

这篇文章主要为大家展示了“linux中如何使用Ansible配置桌面设置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中如何使用Ansible配置桌面设置”这篇文章吧。设置壁纸和锁屏首
2023-06-16

应用交付厂商F5如何助力银行发展?

作为银行其发展信息技术的基础是确保信息系统的安全。而应用交付厂商F5的应用交付解解决方案在应用安全领域的技术优势可以为银行发展做好保驾护航的任务。光这么说可能有些空洞,下面我们以秦皇岛银行为例给大家说说。   秉承“地方银行、服务家乡”的精神理念,坚守“服务地
应用交付厂商F5如何助力银行发展?
2014-12-30

如何解决K8s中快速交付应用的难题

如何解决K8s中快速交付应用的难题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言软件技术更新换代很快,但我们追求的目标是一直不变的,那就是在安全稳定的前提下,增加应用的
2023-06-04

linux如何使用Ansible让系统管理自动化

这篇文章给大家分享的是有关linux如何使用Ansible让系统管理自动化的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是 Ansible?Ansible 的网站上将之解释为 “一个超级简单的 IT 自动化引
2023-06-16

如何使用Linux下的自动化运维工具ansible

本篇内容介绍了“如何使用Linux下的自动化运维工具ansible”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、什么样的情形需要批量部署
2023-06-12

Win10如何使用自带的日记本和便签来应付工作所需

Win10自带工具多,虽然很多第三方工具功能更强悍,但是自带工具使用起来比较简单,可满足用户的正常需要。Win10如何使用自带的文本工具日记本、便签?步骤win10中集成了便签、编程客栈winjsdow编程客栈s日记本。这两个工具都集成在W
2023-06-12

使用Spring MVC如何调用支付宝接口完成在线支付

本篇文章为大家展示了使用Spring MVC如何调用支付宝接口完成在线支付,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。第一步:完善沙箱信息 进入支付宝的开发者中心 就可以看到有个沙箱环境使用支付宝
2023-05-31

MongoDB如何与JavaScript交互使用

MongoDB可以与JavaScript交互使用通过MongoDB的官方驱动程序或者使用第三方库,比如Mongoose。以下是一些基本的方法来与MongoDB进行交互使用JavaScript:使用官方驱动程序:MongoDB提供了官方的No
MongoDB如何与JavaScript交互使用
2024-05-07

如何使用php函数来优化表单处理和提交功能?

随着Web应用程序的发展,表单处理和提交是开发中非常重要的一部分。在PHP中,使用合适的函数来处理和提交表单可以提高代码的可读性和可维护性。本文将介绍一些常用的PHP函数,以及它们在表单处理和提交中的应用。htmlspecialchars(
2023-10-21

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录