使用Vagrant来创建运行Windows10环境的Ansible和Terraform

因为想要学习IaC并将Windows 10用作客户端终端,所以我使用Vagrant创建了执行环境。

自然的、社會的或物理的周圍事物及條件。

Windows10 Pro 1809
Vagrant 2.2.6
VirtualBox 6.0.14
※虚拟机的操作系统是CentOS7.6,且预先安装了git。

使用Vagrant可以在不污染Windows环境的情况下进行各种实验。

用于执行Ansible的Vagrantfile配置文件的环境。

公式文档的安装方法
https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html

Vagrant.configure('2') do |config|
  config.vm.box = "bento/centos-7.6"
  config.vm.hostname = "ansible.local"
  config.vm.network "private_network",ip: "192.168.33.10"  
  config.vm.define 'ansible' do |host|
  end
  config.vm.provider "virtualbox" do |vb|
    vb.name = "ansible.local"
    vb.customize ["modifyvm", :id, "--memory", "2048"]
  end
  config.vm.provider "virtualbox" do |vb|
    config.vm.provision :shell, inline:"sudo yum  install  epel-release -y >/dev/null 2&1"
    config.vm.provision :shell, inline:"sudo yum  install  ansible git -y >/dev/null 2&1"
  end
end

Vagrantfile是用来运行Terraform的环境设置文件。

官方文档(Terraform)
https://www.terraform.io/intro/index.html
※尽管我想自动化执行wget和环境变量的安装,但由于某种原因,它会重复执行多次,所以我只能在创建虚拟机后手动输入命令…

创建一个运行Terraform的虚拟机

Vagrant.configure('2') do |config|
    config.vm.box = "bento/centos-7.6"
    config.vm.hostname = "terraform.local"
    config.vm.network "private_network",ip: "192.168.33.11"  
    config.vm.define 'terraform' do |host|
    end
    config.vm.provider "virtualbox" do |vb|
      vb.name = "terraform.local"
      vb.customize ["modifyvm", :id, "--memory", "2048"]
      config.vm.provision :shell, :inline:"yum install  wget unzip python3 git -y  >/dev/null 2&1"
  end
end

在vagrant启动后,登录操作系统并配置awscli(假设terraform的执行目标是AWS)。

请参考以下链接:https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-linux.html

#vagrant ssh
[vagrant@terraform ~]$ wget https://bootstrap.pypa.io/get-pip.py
[vagrant@terraform ~]$ python3 get-pip.py --user
[vagrant@terraform ~]$ pip3 install --upgrade --user awscli

下载并配置Terraform,使其可用

[vagrant@terraform ~]$ wget https://releases.hashicorp.com/terraform/0.12.16/terraform_0.12.16_linux_386.zip
[vagrant@terraform ~]$ sudo unzip terraform_0.12.16_linux_386.zip -d /usr/local/bin/

只需将凭据放入环境变量中,就可以在AWS上使用Terraform。

广告
将在 10 秒后关闭
bannerAds