FC2ブログ

[Windows]ansible

ホスト: x1 Windows 10 64bit

参考にさせて頂きました。
https://qiita.com/t_nakayama0714/items/fe55ee56d6446f67113c


環境構築 ~ Ansible立上げ

Vgrantのインストール。以下からWindows 64bit版をダウンロード。
https://www.vagrantup.com/downloads.html

VirtualBoxをインストール。
https://www.virtualbox.org/wiki/Downloads
VirtualBox 5.2.12 platform packages
Windows hosts
ここからWindows版をダウンロード。

DOSプロンプトを開く。以下DOSプロンプト(もしくはTeraTerm)での操作は#で示す。
# c/user/work/vagrant へ移動
# mkdir vagrant
# cd vagrant
# vagrant init

生成されたvagrantfileを以下の通り編集。

Vagrant.configure(2) do |config|
config.vm.define "controller" do |node|
node.vm.box = "centos7.2"
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.box = "centos7.2"
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



参照先では以下URLだったが存在しない。
# vagrant box add centos6.7 https://github.com/CommanderK5/packer-centos-template/releases/download/0.6.7/vagrant-centos-6.7.box

紹介先のURL
http://www.vagrantbox.es/
から選ぶ。
今回は以下のデータを使う事にする。

CentOS 7.2 x64 (Minimal, Puppet 4.2.3, Guest Additions 4.3.30)



# vagrant box add centos7.2 https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.2/vagrant-centos-7.2.box

# vagrant up

Bringing machine 'controller' up with 'virtualbox' provider...
Bringing machine 'target' up with 'virtualbox' provider...
 :


現状のVMステータス確認。
# vagrant status

Current machine states:

controller running (virtualbox)
target running (virtualbox)




TeraTermを使って以下にログイン。確かにログイン出来た。

IP = localhost
port = 2210
user = root
Pass = vagrant



# cat /etc/redhat-release

CentOS Linux release 7.2.1511 (Core)



# uname -r

3.10.0-327.4.5.el7.x86_64



# yum -y install ansible

# ansible --version

ansible 2.5.2
 :
python version = 2.7.5 (default, Nov 20 2015, 02:00:19) xxxx



# ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): > パスフレーズ無しなので、そのままEnter
Enter same passphrase again: > 同上
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx: root@controller
The key's randomart image is:



AnsibleコントローラからターゲットにSSHでログインできるようにするため、公開鍵を送り込む、だそうだ。
# ssh-copy-id root@192.168.100.20

The authenticity of host '192.168.100.20 (192.168.100.20)' can't be established.
ECDSA key fingerprint is xxxxxxxxxxxxxx
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.100.20's password: > vagrantを入力

Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'root@192.168.100.20'"
and check to make sure that only the key(s) you wanted were added.



これで送れたのか?

次に疎通確認。
# ansible all -i inventory/hosts -m ping

192.168.100.20 | SUCCESS => {
"changed": false,
"ping": "pong"
}



上記では先のinventoryファイル中にある全て(all)のホストに対してpingモジュールで疎通確認をしてる、だって。
結果は、[ホスト] | [結果] >> [メッセージ] と表示されるそうだ。



playbookを試す

/root/ansible/group_vars/targets.yml を作る。

message: "Hello Ansible ! ! !"

fruits:
apples:
amount: 10
bananas:
amount: 20
oranges:
amount: 30




/root/ansible/test.yml を作る。

- hosts: targets
user: root
tasks:
- name: output message.
debug: msg="{{ message }}"

- name: output fruits
debug: msg="We want {{ item.value.amount }} {{ item.key }} !"
with_dict: "{{ fruits }}"




# ansible-playbook -i inventory/hosts test.yml


PLAY [targets] *********************************************************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************************************
ok: [192.168.100.20]

TASK [output message.] *************************************************************************************************************************************************
ok: [192.168.100.20] => {
"msg": "Hello Ansible ! ! !"
}

TASK [output fruits] ***************************************************************************************************************************************************
ok: [192.168.100.20] => (item=None) => {
"msg": "We want 10 apples !"
}
ok: [192.168.100.20] => (item=None) => {
"msg": "We want 30 oranges !"
}
ok: [192.168.100.20] => (item=None) => {
"msg": "We want 20 bananas !"
}

PLAY RECAP *************************************************************************************************************************************************************
192.168.100.20 : ok=3 changed=0 unreachable=0 failed=0

スポンサーサイト



コメントの投稿

非公開コメント

カレンダー
07 | 2021/08 | 09
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
累積訪問者
現在の訪問者
現在の閲覧者数:
最新記事
最新トラックバック
最新コメント
月別アーカイブ
カテゴリ
プロフィール

bobgosso

Author:bobgosso
FPGAのブログへようこそ!

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード