返回顶部
首页 > 资讯 > 精选 >如何使用Ansible来交付Vagrant
  • 658
分享到

如何使用Ansible来交付Vagrant

2023-06-27 12:06:18 658人浏览 安东尼
摘要

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

本文小编为大家详细介绍“如何使用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”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: 如何使用Ansible来交付Vagrant

本文链接: https://lsjlt.com/news/310469.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用Ansible来交付Vagrant
    本文小编为大家详细介绍“如何使用Ansible来交付Vagrant”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用Ansible来交付Vagrant”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。ansib...
    99+
    2023-06-27
  • 如何使用Ansible来配置自动化
    这篇文章将为大家详细讲解有关如何使用Ansible来配置自动化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先,因为我们要做的不仅仅是安装包文件,所以我们要做一些重新的组织工作。现在,我们已经有一个名为...
    99+
    2023-06-16
  • 如何使用Vagrant安装Tungsten Fabric
    如何使用Vagrant安装Tungsten Fabric,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。01准备测试机在16G的笔记本没跑起来,就干脆拼凑了一台游...
    99+
    2023-06-03
  • js如何使用^来完成值交换
    这篇文章主要介绍了js如何使用^来完成值交换,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用^来完成值交换在 ES6 的解构赋值出来之前,用这种方式会更快(但必须是整数):...
    99+
    2023-06-27
  • 如何使用VirtualBox和Vagrant搭建Linux环境
    本篇内容介绍了“如何使用VirtualBox和Vagrant搭建Linux环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、确定电脑的C...
    99+
    2023-06-29
  • 如何用image来提交form
    本篇内容主要讲解“如何用image来提交form”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用image来提交form”吧!   代码如下:   &l...
    99+
    2024-04-02
  • Linux下如何使用Ansible安装软件
    这篇文章主要介绍了Linux下如何使用Ansible安装软件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ansible是新出现的自动化运维工具,基于Python开发,集合了...
    99+
    2023-06-28
  • 如何用ajax来进行交互
    本篇内容介绍了“如何用ajax来进行交互”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!同步和异步同步: 指...
    99+
    2024-04-02
  • 如何利用GitLab进行持续交付和发布
    如何利用GitLab进行持续交付和发布概述在软件开发领域,持续交付和发布是非常重要的实践。GitLab作为一个版本控制和项目管理平台,提供了丰富的功能用于支持持续交付和发布。本文将介绍如何利用GitLab进行持续交付和发布,并给出一些具体的...
    99+
    2023-10-25
    GitLab 持续交付 发布
  • 如何使用Python和Numpy来分析Git提交历史?
    Git是一种分布式版本控制系统,被广泛应用于软件开发中。Git的提交历史记录了代码的演化过程,包括每次提交的作者、时间、修改的文件等信息。这些信息对于理解代码的演化过程、定位问题、评估贡献等都非常有用。在本文中,我们将介绍如何使用Pyth...
    99+
    2023-06-13
    git spring numpy
  • linux中如何使用Ansible配置桌面设置
    这篇文章主要为大家展示了“linux中如何使用Ansible配置桌面设置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中如何使用Ansible配置桌面设置”这篇文章吧。设置壁纸和锁屏首...
    99+
    2023-06-16
  • 应用交付厂商F5如何助力银行发展?
         作为银行其发展信息技术的基础是确保信息系统的安全。而应用交付厂商F5的应用交付解解决方案在应用安全领域的技术优势可以为银行发展做好保驾护航的任务。光这么说可能有些空洞,下面我们以秦皇岛银行为例给大家说说。   秉承“地方银行、服...
    99+
    2014-12-30
    应用交付厂商F5如何助力银行发展?
  • 如何解决K8s中快速交付应用的难题
    如何解决K8s中快速交付应用的难题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言软件技术更新换代很快,但我们追求的目标是一直不变的,那就是在安全稳定的前提下,增加应用的...
    99+
    2023-06-04
  • linux如何使用Ansible让系统管理自动化
    这篇文章给大家分享的是有关linux如何使用Ansible让系统管理自动化的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是 Ansible?Ansible 的网站上将之解释为 “一个超级简单的 IT 自动化引...
    99+
    2023-06-16
  • 如何使用Linux下的自动化运维工具ansible
    本篇内容介绍了“如何使用Linux下的自动化运维工具ansible”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、什么样的情形需要批量部署...
    99+
    2023-06-12
  • 对于电商来讲应用交付厂商哪家好?F5怎么样?
         “双十一”,每年成交量都很大,在短短2分05秒,可能突破100亿元。这对电商平台一年一度的高并发流量承载能力是考验,因为电商平台可能会遇到诸多问题,如:7×24小时在线、移动用户的体验保障、平台快速的业务更迭、安全威胁的拦截、承载...
    99+
    2016-09-23
    对于电商来讲应用交付厂商哪家好?F5怎么样?
  • 如何用CSS3来实现社交分享按钮
    这篇文章主要讲解了“如何用CSS3来实现社交分享按钮”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用CSS3来实现社交分享按钮”吧!以前实现按钮一般都是...
    99+
    2024-04-02
  • Win10如何使用自带的日记本和便签来应付工作所需
      Win10自带工具多,虽然很多第三方工具功能更强悍,但是自带工具使用起来比较简单,可满足用户的正常需要。Win10如何使用自带的文本工具日记本、便签   步骤   win10中集成了便签、   这两个工具都集成在W...
    99+
    2023-06-12
    Win10 日记本 便签 工作 所需 自带
  • 使用CSS3来代替JS实现交互
    这篇文章给大家分享的是有关使用CSS3来代替JS实现交互的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。【CSS3和JS】对于CSS了解的同学都知道,CSS的实现是最底层的,在实现方式和性能上都不是,JS这种提供接...
    99+
    2023-06-08
  • 如何用php实现支付宝支付
    这篇文章主要讲解了“如何用php实现支付宝支付”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用php实现支付宝支付”吧!用php实现支付宝支付的方法:1、扫码登录支付宝开放平台注册;2、...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作