您好,登錄后才能下訂單哦!
yum安裝
yum install epel-release -y
yum install ansible –yansible配置文件
參數(shù) | 注釋 |
---|---|
inventory = /etc/ansible/hosts1 | 這個(gè)參數(shù)表示資源清單inventory文件的位置,資源清單就是一些ansible需要連接管理的主 機(jī)列表。 |
library = /usr/share/ansible1 | ansible的操作動(dòng)作,無論是本地或遠(yuǎn)程,都使用一小段代碼來執(zhí)行,這小段代碼稱為模塊,這個(gè)library參數(shù)就是指向存放ansible模塊的目錄。 |
forks = 51 | 設(shè)置默認(rèn)情況下ansible最多能有多少個(gè)進(jìn)程同時(shí)工作, 從ansible 1.3開始,fork數(shù)量默認(rèn)自動(dòng)設(shè)置為主機(jī)數(shù)量或者潛在的主機(jī)數(shù)量,默認(rèn)設(shè)置最多5個(gè)進(jìn)程并行處理。具體需要設(shè)置多少個(gè),可以根據(jù)控制主機(jī)的性能和被管節(jié)點(diǎn)的數(shù)量來確定,可能是 50或100。默認(rèn)值5是非常保守的值。 |
sudo_user = root1 | 這是設(shè)置默認(rèn)執(zhí)行命令的用戶,也可以在playbook中重新設(shè)置這個(gè)參數(shù)。 |
remote_port = 221 | 這是指定連接被管節(jié)點(diǎn)的管理端口,默認(rèn)是22。除非設(shè)置了特殊的SSH端口,不然這個(gè)參數(shù)一般是不需要修改的。 |
host_key_checking = False1 | 這是設(shè)置是否檢查SSH主機(jī)的密鑰??梢栽O(shè)置為True或False,關(guān)閉后第一次連接沒有提示配置實(shí)例 |
timeout = 601 | 這是設(shè)置SSH連接的超時(shí)間隔,單位是秒。 |
log_path = /var/log/ansible.log1 | 統(tǒng)默認(rèn)是不記錄日志的,如果想把a(bǔ)nsible系統(tǒng)的輸出記錄到日志文件中,需要設(shè)置log_path來指定一個(gè)存儲(chǔ)ansible日志的文件。 |
ansible支持多個(gè)目錄方式,只要用冒號(hào)“ : ”隔開就可以,同時(shí)也會(huì)檢查當(dāng)前執(zhí)行playbook位置下的./library目錄。
ansible配置公私鑰
1、首先生成秘鑰
##執(zhí)行下條指令后一路回車即可!
[root@CentOS7-master ~]# sudo ssh-keygen -t rsa122、然后向主機(jī)分發(fā)秘鑰:
##所有添加到主機(jī)清單中的IP地址或者主機(jī)名,全部都要用下條指令執(zhí)行一遍。
[root@CentOS7-master ~]# sudo ssh-copy-id root@主機(jī)名或IP地址123、如果出現(xiàn)以下情況:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.123.45
-bash: ssh-copy-id: command not found
#請(qǐng)嘗試:
yum -y install openssh-clientsansible
ansible主機(jī)清單設(shè)置 ,編輯/etc/ansible/hosts,在ansible主機(jī)添加其他所有主機(jī)的hostname
vim /etc/hosts
192.168.123.45 server-1
192.168.123.46 server-2
192.168.123.47 server-3
192.168.123.48 server-4
192.168.123.49 server-5
192.168.123.50 server-6如果被控端是pem文件就將pem文件傳到ansible-server端指定路徑
vim /etc/ansible/hosts
[zhandian1]
server-1 ansible_ssh_user=centos ansible_ssh_private_key_file=/home/centos/aws_secret/nginx.pem
server-2 ansible_ssh_user=centos ansible_ssh_private_key_file=/home/centos/aws_secret/nginx.pem
server-4 ansible_ssh_user=centos ansible_ssh_private_key_file=/home/centos/aws_secret/nginx.pem
server-5 ansible_ssh_user=centos ansible_ssh_private_key_file=/home/centos/aws_secret/nginx.pem
server-6 ansible_ssh_user=centos ansible_ssh_private_key_file=/home/centos/aws_secret/nginx.pem
如ssh端口有修改還需添加 ansible_ssh_port=3333 ,開放安全組,22端口
ansible命令集
參數(shù) | 注釋 |
---|---|
/usr/bin/ansible | Ansibe AD-Hoc 臨時(shí)命令執(zhí)行工具,常用于臨時(shí)命令的執(zhí)行 |
/usr/bin/ansible-doc | ansible 模塊功能查看工具 |
/usr/bin/ansible-galaxy | 下載/上傳優(yōu)秀代碼或Roles模塊 的官網(wǎng)平臺(tái),基于網(wǎng)絡(luò)的 |
/usr/bin/ansible-playbook | ansible 定制自動(dòng)化的任務(wù)集編排工具 |
/usr/bin/ansible-pull | ansible遠(yuǎn)程執(zhí)行命令的工具,拉取配置而非推送配置(使用較少,海量機(jī)器時(shí)使用,對(duì)運(yùn)維的架構(gòu)能力要求較高) |
/usr/bin/ansible-vault | ansible 文件加密工具 |
/usr/bin/ansible-console | ansible基于Linux Consoble界面可與用戶交互的命令執(zhí)行工具 |
ansible常用命令
注釋 | 參數(shù) |
---|---|
執(zhí)行遠(yuǎn)程家目錄腳本 | ansible all -m shell -a 'sudo sh aaa.sh ' |
指定節(jié)點(diǎn)上的權(quán)限,屬主和數(shù)組為root | ansible '*' -m file -a "dest=/tmp/t.sh mode=755 owner=root group=root" |
指定節(jié)點(diǎn)上定義一個(gè)計(jì)劃任務(wù),每隔3分鐘到主控端更新一次時(shí)間 | ansible '' -m cron -a 'name="custom job" minute=/3 hour= day= month= weekday= job="/usr/sbin/ntpdate 172.16.254.139"' |
指定節(jié)點(diǎn)上創(chuàng)建一個(gè)組名為aaa,gid為2017的組 | ansible all -m group -a 'gid=2017 name=a' |
在節(jié)點(diǎn)上創(chuàng)建一個(gè)用戶aaa,組為aaa | ansible all -m user -a 'name=aaa groups=aaa state=present' |
刪除用戶示例 | ansible all -m user -a 'name=aaa groups=aaa remove=yes' |
在節(jié)點(diǎn)上安裝httpd | ansible all -m yum -a "state=present name=httpd" |
在節(jié)點(diǎn)上啟動(dòng)服務(wù),并開機(jī)自啟動(dòng) | ansible all -m service -a 'name=httpd state=started enabled=yes' |
檢查主機(jī)連接 | ansible '*' -m ping |
執(zhí)行遠(yuǎn)程命令 | ansible '*' -m command -a 'uptime' |
執(zhí)行主控端腳本 | ansible '*' -m script -a '/root/test.sh' |
創(chuàng)建軟鏈接 | ansible '*' -m file -a "src=/etc/resolv.conf dest=/tmp/resolv.conf state=link" |
刪除軟鏈接 | ansible '*' -m file -a "path=/tmp/resolv.conf state=absent" |
復(fù)制文件到遠(yuǎn)程服務(wù)器 | ansible '*' -m copy -a "src=/etc/ansible/ansible.cfg dest=/tmp/ansible.cfg owner=root group=root mode=0644" |
將指定url上的文件下載到/tmp | ansible all -m get_url -a 'url=http://10.1.1.116/favicon.ico dest=/tmp' |
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。