Ansible的安裝
1.yum安裝
2.源碼安裝
3.pip安裝
4.apt安裝
5.............
Ansible ad-hoc用法
ansible company -m ping --ask-pass
ansible company -m ping -k
登錄 被操控主機需要密碼
····
ansible company -k -a'ls /root'
使用密碼登錄到company組的機器執行 ls root(默認以當前用戶登錄)
····
ansible company -u ding -k -b -K -a'ls /root'
使用ding用戶sudo到root下執行ls root(sudo需要密碼,去掉-K不需要sudo密碼,前提是被控機已經做好工作)
·······
被控機可用或者all表示全部,默認模塊爲command。
······
每次執行ansible都要密碼,麻煩。所以做免密登錄操作
ssh-keygen
ssh-copy-id
·····
被控機部分還可以用正則匹配,個人認爲shell模塊比默認的command模塊更好
·····
ansible 143 -m script -a'./echo.sh'
可以讓被控機執行本地的腳本,本不是複製過去執行然後刪除,而是直接執行
·····
ansible 192.168.1* -m copy -a'src=./selinux dest=/etc/sysconfig/selinux backup=yes'
對所有192.168.1開頭的機器使用copy模塊,參數爲本地文件爲src,覆蓋dest的文件,並做備份
······
ansible company:company1 -a 'creates=/ethahah ls /etc/fstab'
creates沒有去做
removes沒有不去做
······
被控機組與組之前可用邏輯關係表示
:表示與
······
ansible company:company1 -m fetch -a'src=/var/log/messages dest=.'
fetch 模塊與copy相反,從被控機上抓文件到本地目錄
······
file模塊操作文件和目錄
······
hostname模塊修改主機名
······
cron模塊創建計劃任務
······
yum模塊安裝軟件包(被控機要配置好yum源)
······
service模塊控制服務相關
······
ansible-galaxy 這個命令可以下載別人的roles
······
ansible-playbook 劇本,使用yaml格式
······
ansible-vault encrypt hi.yml 給文件加密
ansible-vault decrypt hi.yml 給文件解密
ansible-vault view hi.yml 輸入密碼查看
ansible-vault edit hi.yml 輸入密碼修改文件
ansible-vault rekey hi.yml 修改舊密碼
······
[root@ansible ansible-test]# ansible-console(ansible控制檯)
Welcome to the ansible console.
Type help or ? to list commands.
root@all (6)[f:5]$ cd home
root@home (3)[f:5]$ ls
192.168.3.61 | CHANGED | rc=0 >>
anaconda-ks.cfg
hostname.sh
192.168.3.69 | CHANGED | rc=0 >>
anaconda-ks.cfg
192.168.3.70 | CHANGED | rc=0 >>
anaconda-ks.cfg
root@home (3)[f:5]$
root@home (3)[f:5]$ forks 10(並行執行數10)
root@home (3)[f:10]$
······