k-oyakata / Reports

2 stars 0 forks source link

vagrant+ansibleで立ち上げた環境上で、ansibleを試してみる #3

Open k-oyakata opened 8 years ago

k-oyakata commented 8 years ago

どうせなので最初からansibleを絡ませてみた、こんな環境。。。

ganesa:~ sasakikoukichi$ vagrant --version
Vagrant 1.8.4
ganesa:~ sasakikoukichi$ ansible --version
ansible 2.1.0.0
  config file = 
  configured module search path = Default w/o overrides
k-oyakata commented 8 years ago

お試し環境を作る

vagrant boxを追加

ganesa:ansible-test sasakikoukichi$ vagrant login
In a moment we will ask for your username and password to HashiCorp's
Atlas. After authenticating, we will store an access token locally on
disk. Your login details will be transmitted over a secure connection, and
are never stored on disk locally.

If you do not have an Atlas account, sign up at
https://atlas.hashicorp.com.
...
...
You are now logged in.
ganesa:ansible-test sasakikoukichi$ vagrant box add centos/7
==> box: Loading metadata for box 'centos/7'
    box: URL: https://atlas.hashicorp.com/centos/7
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

1) libvirt
2) virtualbox

Enter your choice: 2
==> box: Adding box 'centos/7' (v1606.01) for provider: virtualbox
    box: Downloading: https://atlas.hashicorp.com/centos/boxes/7/versions/1606.01/providers/virtualbox.box
==> box: Successfully added box 'centos/7' (v1606.01) for 'virtualbox'!
k-oyakata commented 8 years ago

最初のVagrantfile

とりあえず、VM起動まで

ganesa:ansible-test sasakikoukichi$ cat Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  # config.vm.box_check_update = false
  # config.vm.synced_folder "../data", "/vagrant_data"

  # Provider-specific configuration
  config.vm.provider "virtualbox" do |vb|
    vb.memory = 4096
    vb.cpus = 2
    vb.customize [
      "modifyvm", :id,
      "--hwvirtex", "on",
      "--nestedpaging", "on",
      "--largepages", "on",
      "--ioapic", "on",
      "--pae", "on",
      "--paravirtprovider", "kvm",
     ]
  end

  # Provisioning
  config.vm.define "controller" do |node|
    node.vm.hostname = "controller"
    node.vm.network :private_network, ip: "192.168.100.10"
    node.vm.network :forwarded_port, id: "ssh", guest: 22, host: 2210
  end
  config.vm.define "target" do |node|
    node.vm.hostname = "target"
    node.vm.network :private_network, ip: "192.168.100.20"
    node.vm.network :forwarded_port, id: "ssh", guest: 22, host: 2220
  end
end
ganesa:ansible-test sasakikoukichi$ vagrant ssh controller
[vagrant@controller ~]$ pwd
/home/vagrant
[vagrant@controller ~]$ exit
ログアウト
Connection to 127.0.0.1 closed.
ganesa:ansible-test sasakikoukichi$ vagrant ssh target
[vagrant@target ~]$ pwd
/home/vagrant
[vagrant@target ~]$ exit
ログアウト
Connection to 127.0.0.1 closed.
k-oyakata commented 8 years ago

ansibleでprovisioningするための準備

SSHキーの用意

ganesa:ansible-test sasakikoukichi$ mkdir keys
ganesa:ansible-test sasakikoukichi$ cd keys/
ganesa:keys sasakikoukichi$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/sasakikoukichi/.ssh/id_rsa): ./ansible_test_rsa
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in ./ansible_test_rsa.
Your public key has been saved in ./ansible_test_rsa.pub.
The key fingerprint is:
SHA256:afjcnxGpUeVNYybOYgm9iRH1csfC4HYf3i91RZp1Uk0 sasakikoukichi@ganesa.local
The key's randomart image is:
+---[RSA 2048]----+
|         o+o .o*E|
|         .o.Bo=O+|
|          oB+O++o|
|       . oo+=.= +|
|      . S . o  o+|
|       + . o . .o|
|        o o . . .|
|           . o . |
|            o    |
+----[SHA256]-----+
ganesa:keys sasakikoukichi$ ls -la
total 16
drwxr-xr-x  4 sasakikoukichi  staff   136  7 14 20:22 .
drwxr-xr-x  7 sasakikoukichi  staff   238  7 14 20:21 ..
-rw-------  1 sasakikoukichi  staff  1679  7 14 20:22 ansible_test_rsa
-rw-r--r--  1 sasakikoukichi  staff   409  7 14 20:22 ansible_test_rsa.pub