1. 程式人生 > >自動化運維工具----ansiable安裝與配置

自動化運維工具----ansiable安裝與配置

自動化運維工具----ansiable安裝與配置

 

一.配置環境

ansible是基於ssh通道傳輸資料的,因此叢集需要新增ssh互信。

ssh-keygen

cd  ~/.ssh/

vim id_rsa.pub

將檔案裡面的公鑰複製下來。貼上到對端主機的 ~/.ssh/authorized_keys 檔案下。

 

二.安裝ansible

yum  -y  install  ansible

 

三.ansible

命令格式

HOST-PATTERN        #匹配主機模式,如all表示所有主機
-m MOD_NAME #模組名 如:ping -a MOD_ARGS #模組執行的引數 -f FORKS #生成幾個子進行程執行 -C #(不執行,模擬跑) -u Username #某主機的使用者名稱 -c CONNection #連線方式(default smart) 完整示例: [[email protected] ~]# ansible all -m shell -a "ifconfig|grep enp0s3" 172.16.3.152 | SUCCESS | rc=0
>> enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 172.16.3.216 | SUCCESS | rc=0 >> enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

 

四.ansible-playbook

- hosts: all
  remote_user: root
  tasks:                                    #任務
  - name: install
vsftpd #任務名 yum: name=vsftpd state=latest #呼叫yum模組 - name: start redis #任務名 service: name=vsftpd state=started #呼叫service模組 - name: copy config file #任務名 copy: src=/etc/ansible/playbooks/files/vsftpd.conf dest=/etc/vsftpd/vsftpd.conf #呼叫copy模組 notify: a #觸發動作a tags: configfile #任務標籤為configfile handlers: #定義動作 - name: a #定義動作a service: name=vsftpd state=restarted #呼叫service模組