Ansible安裝和基本配置
環境介紹
版本 | hostname | IP | 端口 |
---|---|---|---|
Centos6.5 | server | 192.168.1.1 | 2333 |
Centos6.5 | client | 192.168.1.2 | 2333 |
Ansible安裝
建議使用python2.4以上版本,這裡使用yum安裝ansible(版本為2.0)
yum -y install ansible
如果yum源中沒有ansible相關軟體包,可以考慮使用其他yum源(這裡使用阿裡的yum源)
wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-6.repo
配置檔案
配置檔案預設位置為/etc/ansible/ansible.cfg
[defaults]
#指定主機清單所在檔案夾(一般我們的主機分為多個類别,如果放到一個host中不友善管理,是以每一類主機最好單獨使用一個hosts清單)
inventory = /etc/ansible/inventory/
#并發數:預設為5
forks = 5
#ansible預設在連接配接被控制機時,會在其家目錄建立一個隐藏目錄,用來執行指令,但是大多數企業是拒絕root使用者登入的,是以這裡我們使用普通使用者,建立的隐藏目錄放置在/tmp下
remote_tmp = /tmp/.ansible/tmp
remote_port = 2333
remote_user = ansibleuser
#ansible在第一次連接配接受控節點的時候,會輸入yes,這裡設定為False,可以忽略
host_key_checking = False
log_path = /var/log/ansible/ansible.log
host清單
常用的清單書寫規範
起别名:
# 定義别名在執行ansible指令時便于我們判斷和平時維護*
hn_db_master_01 ansible_ssh_host=192.168.1.1
分組:
# 定義分組友善管理*
[db_master]
hn_db_master_01 ansible_ssh_host=192.168.1.1
hn_db_master_03 ansible_ssh_host=192.168.1.3
hn_db_master_05 ansible_ssh_host=192.168.1.5
[db_slave]
hn_db_slave_02 ansible_ssh_host=192.168.1.2
hn_db_slave_04 ansible_ssh_host=192.168.1.4
hn_db_slave_06 ansible_ssh_host=192.168.1.6
[hn_db_all]
db_master
db_slave
我們可以将不同類型的主機寫到不同host清單中
例:db_hosts 、web_hosts 、 haproxy_hsots
ansible如何管理伺服器
如果使用普通使用者連接配接則需要給予sudo權限*
vim /etc/sudoers
......
#不使用tty線路也可以登入
#Defaults requiretty
......
Defaults visiblepw
......
#根據具體需求給予相應的權限
ansibleuser ALL=NOPASSWD: ALL
ansible使用ssh連接配接伺服器常用的方法有兩種:
1.使用ssh秘鑰連接配接
# ssh-keygen(回車回車再回車)
ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 2333 [email protected]"
2.使用密碼連接配接
# 直接在host清單中添加密碼(如下)
hn_db_master_01 ansible_ssh_host=192.168.1.2 ansible_ssh_pass="123456"