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