yum -y install ansibleyum安裝ansible的特點
yum安裝的ansible,配置檔案,hosts檔案,roles目錄都預設在/etc/ansible目錄下
配置檔案要點介紹
-------------------配置檔案中的sudo-user和become-user,remote_user
remote_user: 本機要通過乙個使用者名稱密碼登入到遠端機器上,remote_user指的就是這個使用者名稱
sudo_user: 本機通過乙個使用者名稱密碼登入到遠端機器機器以後,可能還要sudo到其他賬戶下進行操作,如zabbix賬戶,nginx賬戶,如果這些賬戶下的目錄設了置許可權,一定要sudo - zabbix,sudo -nginx才可以操作的,所以sudo_user指的就是值,登入以後要去那個賬戶下去幹活,用的就是提公升許可權這個操作
become-user: 和sudo_user類似,他可以在每個任務中進行定義。在1.9 ansible之前,大多數情況下都允許使用sudo和有限的su來允許登入/遠端使用者成為不同的使用者並執行任務,用第二個使用者的許可權建立資源。從1.9開始become代替舊的sudo /su,同時仍然向後相容。這個新系統也使得新增諸如pbrun(powerbroker),pfexec,dzdo(centrify)等其他特權公升級工具變得更加容易。還有乙個不同之處,sudo_user在配置檔案的default模組中,而become_user沒有,這說明become_user在提公升許可權時劃分的更加精準了。
ask_pass = true 在本機執行命令時,需不需要本機使用者的密碼,這個很無聊,因為操作者不希望每次操作時都輸入本機的密碼,這是沒有意義的,此項應該注釋掉。這個功能和命令列的-k引數的功能重疊
ask_sudo_pass = true \\每次執行ansible命令是否詢問ssh密碼,同樣的,此項也應該注釋掉。這個功能和命令列的-k引數的功能重疊
ansible常用命令
1,-i引數指定hosts目錄,
ansible -i /data/hosts all -m ping
2,使用become_user功能
2.1 通過命令列的-e引數指定become
例如:ansible
使用-k -k引數時確保配置檔案中的兩個選項注釋掉、
2.2在hosts檔案中指定become
例如:[s21]
#192.168.1.21 ansible_ssh_user=i ansible_ssh_pass=i
192.168.1.21 ansible_ssh_user=i ansible_ssh_private_key_file=/home/i/.ssh/id_rsa ansible_become=true ansible_become_user=root ansible_become_pass='i'
2.3,在roles的yml檔案中編寫,略過
2.4 在ansible的配置檔案中編寫
[privilege_escalation]
become=ture
become_method=sudo
become_user=root
become_ask_pass=false
開啟並編寫這些配置以後,程式會從上到下讀取配置檔案中的配置,become_user是三個user中的最後乙個,所以也是最後生效的結果
用以下命令可以檢查配置的結果:
ansible -i hosts all -m shell -a "whoami" -k
3,ansible配置檔案的優先順序
3.1 優先順序:
1,ansible_config: ansible命令會先檢查該環境變數
2,./ansible.cfg: 當前執行ansible命令的目錄
3,~/.ansible.cfg
4. /etc/ansible/ansible.cfg: 預設的配置檔案
3.2 從以上順序可以看出,環境變數中的配置是最優先的,配置檔案編寫以後,如果不想動,可以用環境變數最大限度的保持靈活性,比如一下的例子:
ansible -i hosts all -e "ansible_become=true ansible_ssh_user=ansibleadmin ansible_become_user=ansibleadmin" -m shell -a "whoami" -k -k (如果在前面的雙引號中加入ansible_become_pass='66666',後面的大k就不用寫)
Ansible系列(6) Yum模組
之前的文章裡提到了這個yum模組,作為承諾,這次拿它當第一了。yum 全稱為 yellow dog updater,modified 是乙個在fedora和redhat以及centos中的shell前端軟體包管理器 既然是包管理器,平時我們如何使用它?拿centos為例 yum install gi...
ansible安裝部署
一 ansible介紹 1 簡介 ansible是新出現的自動化運維工具,基於python開發,集合了眾多運維工具 puppet cfengine chef func fabric 的優點,實現了批量系統配置 批量程式部署 批量執行命令等功能。ansible是基於模組工作的,本身沒有批量部署的能力。...
Ansible簡單安裝
系統centos7.3 ip位址192.168.1.10 安裝ansible yum install epel release y yum install ansible y ssh部分 配置ssh免密碼登陸,若是用普通使用者請在普通使用者下建立ssh金鑰.且ssh統一使用乙個賬號.ssh keyg...