按照範例操作中
參考網址:
http://ryandlane.com/blog/2014/08/04/moving-away-from-puppet-saltstack-or-ansible/
https://nsrc.org/workshops/2016/sanog27/raw-attachment/wiki/Track2Virt/install-setup-ansible.htm
## 安裝 ansible
sudo apt-get install ansible
## Inventory, default 是 /etc/ansible/hosts
## 把所有 hosts 的 ip address 寫到 Inventory
## host 之後可以加一下 ansible-user 之類的參數來做變化
vim /etc/ansible/hosts
## 產生 ssh key,並且複製 Public key 到 ~/.ssh/authorized_keys
ssh-keygen
ssh-agent bash
ssh-add ~/.ssh/id_rsa
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
## 把 public key 寫入其他的 remote host,所有 hosts 都要做
cat ~/.ssh/id_rsa.pub | ssh user@hostname 'cat >> .ssh/authorized_keys'
sudo chmod 700 ~/.ssh/
sudo chmod 600 ~/.ssh/*
## ping 測試,成功的話就表示 hosts 之間可以連通了,如下面的樣子
## 加 -vvvv 可以印出 debug message
ansible all -m ping
192.168.1.131 | success >> {
"changed": false,
"ping": "pong"
}
192.168.1.254 | success >> {
"changed": false,
"ping": "pong"
}
Playbook 範例, 設定 dns server 到 8.8.8.8 ,並且做 apt-get install git
執行方式 ansible-playbook test_apt_module.yml
以下是 test_apt_module.yml 的內容
---
- name: Using Iteration (with_item) to install multiple packages
hosts:
- test_servers
roles:
- { role: resolv_conf, resolv_conf_file: /etc/resolv.conf, sudo: True }
tasks:
- name: install apt packages
sudo: True
apt: pkg={{ item }} update_cache=yes cache_valid_time=3600 force=yes
with_items:
- git
參考網址:
http://ryandlane.com/blog/2014/08/04/moving-away-from-puppet-saltstack-or-ansible/
https://nsrc.org/workshops/2016/sanog27/raw-attachment/wiki/Track2Virt/install-setup-ansible.htm
留言