天天看點

Ansible安裝和基本配置

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"
           

繼續閱讀