云网牛站
所在位置:首页 > Linux教程 > 将Ansible与Vagrant结合使用:将Vagrant up运行Ansible Playbook

将Ansible与Vagrant结合使用:将Vagrant up运行Ansible Playbook

2020-03-09 15:55:47作者:陈有利稿源:云网牛站

您可以将Ansible与Vagrant结合使用,以自动配置Vagrant计算机要求和设置软件依赖性。本文不会对Vagrant和Ansible进行太多详细介绍,而只是概述如何将Ansible与Vagrant结合使用:将Vagrant up运行Ansible Playbook。参考安装Ansible(在Fedora/RHEL 8/CentOS 8/Debian/Ubuntu/Arch/openSUSE中)在Debian 10系统上安装vagrant_2.2.6_x86_64.deb的方法

 

我将创建一个项目目录:

$ mkdir ~/myvagrant

$ cd  ~/myvagrant

 

我将创建一个简单的Ansible Playbook,以更新操作系统并安装基本软件包,您可以扩展以涵盖您需要设置的内容:

$ vim provision.yaml

---

- hosts: all

  become: yes

  become_method: sudo

  tasks:

 - name: Update OS

   package:

    name: '*'

    state: latest

  - name: Install Basic packages

    package:

      name: ['vim', 'zip', 'bash-completion', 'wget', 'tmux']

 

然后创建一个带有ansible Provisioner定义的Vagrantfile:

$ vim Vagrantfile

# -*- mode: ruby -*-

# vi: set ft=ruby :

ENV['VAGRANT_DEFAULT_PROVIDER'] = 'libvirt'

Vagrant.configure("2") do |config|

  ##### VM definition #####

  config.vm.define "cent01" do |config|

  config.vm.hostname = "cent01"

  config.vm.box = "centos/8"

  config.vm.box_check_update = false

  config.vm.provision :ansible do |ansible|

    ansible.limit = "all"

    ansible.playbook = "provision.yaml"

  end

  config.vm.provider :libvirt do |v|

    v.memory = 1024

    v.cpus = 1

    end

  end

end

 

从我们的Vagrant文​​件中可以看出,我们正在使用Provision.yaml Playbook。

 

准备好Playbook和Vagrantfile后,请运行vagrant up命令以启动虚拟机:

$ vagrant up

将Ansible与Vagrant结合使用:将Vagrant up运行Ansible Playbook

将Ansible与Vagrant结合使用:将Vagrant up运行Ansible Playbook

 

如果您的Vagrant机器已启动,请使用以下命令:

vagrant provision

 

我们的执行成功,您现在可以使用以下命令将SSH切换到VM:

$ vagrant ssh

 

相关主题

在Fedora系统上使用Ansible在AWS中组织SSH密钥(设置和运行playbook)

精选文章
热门文章