Ansible筆記

1、Ansible目錄結構
一、/etc/ansible/ 配置文件目錄
功能: Inventory 主機信息配置、ansible工具功能(ansibe.cfg、hosts、roles) 
二、/usr/bin 執行文件目錄
三、/usr/lib/python/site-packages/ansible/ lib庫依賴目錄
四、/usr/share/doc/ansible 幫助文檔目錄
五、/usr/share/man/man1 man文檔目錄node

2、Ansible配置文件解析
[defaults]
inventory = /etc/ansible/hosts 定義Inventory
library = /usr/share/my_modules/ 自家義lib庫目錄
remote = $HOME/.ansbile/tmp 臨時文件遠程主機存放目錄
local_tmp = $HOME/.ansbile/tmp 臨時文件本地存放目錄
forks = 5 併發數
sudo_user = root 默認sudo用戶 
ask_sudo_pass = True 否須要sudo密碼 
role_path = /etc/ansible/roles 默認下載的Roles存放目錄
host_key_checking = False 首次鏈接是否須要檢測查key
timeout = 10 超時時間
log_path 日誌路徑
module_name = command 執行模塊 
action_plugins= action插件的存放目錄 
callback_plugins callback插件的存放目錄
connection_plugins connection插件的存放目錄
lookup_plugins lookup插件的存放目錄
vars_plugins vars插件的存放目錄
filter_plugins filter插件的存放目錄
strategy_plugins strategy插件的存放目錄
fact_caching = memory getfact緩存的主機信息存放方式 
retry_files_enabled = Falsepython

[privilege_escalation]
become=True 是否sudo 
become_method=sudo sudo方式
become_user=root sudo後變爲root用戶 
become_ask_pass=False sudo是否 驗證密碼shell

[paramiko_connection]
recore_host_keys=False 不記錄新主機的key以提高效率
pty=False緩存

[ssh_connection]
pipelining =False 管道加速功能配合 requiretty使用併發

[accelerate]
accelerate_port 加速鏈接端口
accelerate_timeout 命令執行超時時間 
accelerate_connection_timeout 鏈接超時時間 
accelerate_daemon_timeout 上一個活動鏈接時間
accelerate_multi_key = yesssh

3、ansible命令
-m NAME 指定執行使用模塊
-u 遠程主機以username運行命令
-s 至關於sudo
-U 使用sudo工具

例子:
建立 /etc/ansible/hosts
[k8s]
10.18.1.232
10.18.1.233
10.18.1.234
[node1]
10.18.1.232ui

ansible all -m ping -u root
ansible node1 -m shell -a ifconfig插件

3、inventory詳解
Inventory是ansible管理主機信息配置文件
一、定義主機和組
二、定義主機變量
三、定義組變量
四、定義組嵌套及組變量
五、多重變量定義scala

相關文章
相關標籤/搜索