ansible 安裝和使用

2021-10-24 08:49:05 字數 2074 閱讀 1685

1、安裝

yum install epel-release -y

yum install ansible -y

2、ansible 配置檔案

ansible 配置檔案/etc/ansible/ansible.cfg(一般保持預設)

[defaults]

#inventory      = /etc/ansible/hosts  #主機列表配置檔案

#library        = /usr/share/my_modules/  #庫檔案存放目錄

#module_utils   = /usr/share/my_module_utils/

#remote_tmp     = ~/.ansible/tmp   #臨時py命令存放在遠端主機目錄

#local_tmp      = ~/.ansible/tmp #本機的臨時命令執行目錄

#plugin_filters_cfg = /etc/ansible/plugin_filters.yml

#forks          = 5  #預設併發資料 

#poll_interval  = 15

#sudo_user      = root  #預設sudo使用者

#ask_sudo_pass = true   #每次執行ansible命令是否詢問ssh密碼

#ask_pass      = true

#transport      = smart

#remote_port    = 22

#module_lang    = c

#module_set_locale = false

#host_key_checking = false    #檢查對應伺服器的host_key,建議取消注釋

#log_path = /var/log/ansible.log   #日誌檔案

3、ansible幫助模組

ansible-doc -l  #列出可用模組

ansible-doc  ping  #檢視模組幫助

ansible-doc  -s ping  #檢視模組簡化說明

6、ansible 命令執行過程

1)載入自己的配置檔案預設/etc/ansible/ansible.cfg

2)載入自己對應的模組檔案,如command

3)通過ansible將模組或命令生成對應的臨時py檔案,並將該檔案傳輸至遠端伺服器的對應

執行使用者$home/.ansible/tmp/ansible-tmp-數字/***.py檔案

4)給檔案+x執行

5)執行並返回結果

6)刪除臨時py檔案,sleep 0退出

執行狀態

綠色:執行成功並且不需要做改變的操作

黃色:執行成功並且對目標主機做變更

紅色:執行失敗

playbook 常用一些模組 

hosts:主機組

gather_facts: no  #不收集裝置資訊

vars: 定義變數

template:  src=/srv/httpd.j2 dest=/etc/httpd.conf   # 複製模板到主機,httpd.j2檔案允許使用變數

handlers:  觸發器,當配置變動時執行配合notify

shell: #執行shell命令

register:將輸出的結果做為變數,以供其他地方呼叫

yum:包管理工具

service:服務管理

when: 條件語句

with_items: 變數迴圈

roles:定義模組化

debug:  msg="hello"#輸出日誌到/var/log/ansible.log  

tags:給模組打標可以單獨執行某一些模組

修改檔案內容

- name: seline modify enforcing

lineinfile:

dest: /etc/selinux/config

regexp: '^selinux='

line: 'selinux=enforcing'

ansible中文權威指南

使用 Ansible 編譯和安裝 nagios

我已經建立了乙個冪等的 ansible playbook,從原始碼安裝並且在 ubuntu 14.04 lts,debian 7.5 和 centos 6.5 平台測試了,這個 playbook 與 nelmon 在一起。一旦 playbook 執行,ansible 將 這些給你乙個基礎的 nagi...

ansible介紹和安裝

ansible是由 python 編寫的強大的配置管理解決方案,ansible 的特點就在於它的簡潔與高效率 ansible與其他的配置管理工具不同點在於 不需要你在想要配置的每個節點上安裝自己的元件,也就是說,ansible管理各個節點不需要依賴於agent端 一 ansible 入門 官網 官方...

使用 Ansible 安裝部署 TiDB

tidb 作為乙個分布式資料庫,在多個節點分別配置安裝服務會相當繁瑣,為了簡化操作以及方便管理,使用自動化工具來批量部署成為了乙個很好的選擇。ansible 是基於 python 研發的自動化運維工具,糅合了眾多老牌運維工具的優點實現了批量作業系統配置 批量程式的部署 批量執行命令等功能,而且使用簡...