playbook 中檔案架構:
files: 此角色中用到的所有檔案均放置到此目錄,一般放置固定的配置檔案
templates:jinja2模板檔案存放位置 ,一般存放變數檔案
tasks : 任務列表檔案,可以有多個,但至少有乙個main.yml
handlers: 處理器列表檔案;可以有多個,但至少有乙個叫做main.yml的檔案
vars: 變數字典檔案,可以有多個,但至少main.yml
**復用:
1.vim /etc/ansible/hosts
[mini]
129.139.153.78:16283
155.139.190.94:12573
2.vim /etc/ansible/test.yml
- hosts: mini
roles:
- test
3.mkdir /etc/ansible/roles/test/
4.cd /etc/ansible/roles/test/
lsmkdir files tasks templates
執行劇本:
ansible-playbook --syntax-check /etc/ansible/ansible-play_book/test.yaml
ansible-playbook -c /etc/ansible/ansible-play_book/test.yaml
ansible-playbook /etc/ansible/ansible-play_book/test.yaml
單傳的劇本執行,不需要配置復用:(不建議使用)
playbook中呼叫變數的方式為}
ansible_os_family 是facts中內建的屬性資訊 ansible_os_family的資訊可以使用ansible all -m setup | grep ansible_os_family 檢視
在task中呼叫內建的item變數;在某task後面使用with_items語句來定義元素列表。with_items的具體用法
- name: create service directory
file: path=/data/} state=directory mode=1777
with_items:
- service
- var
上面的意思是copy中複製過去的檔案跟遠端主機上的檔案不同,就通過notify呼叫handlers,即重啟httpd服務。
templates:用於生成文字檔案(配置檔案),模板檔案中可使用jinja2表示式,表示式要定義在},也可以簡單地僅執行變數替換。
劇本復用的執行方式:
vim /root/web1.yml
- hosts: web1
remote_user: root
roles:
- web1
- hosts:web1 指在/etc/ansible/hosts中定義的組,上面有定義
roles: web1 指的是當前目錄下的web1目錄,也可通過role傳遞變數, 也可呼叫多個role
這樣只需更改hosts的主機就可以實現不同主機的**重用了
ansible的高階用法(推薦使用)
1.ansible主配置檔案中
remote_port = 29133 #指定ssh 伺服器的埠
host_key_checking = false #不進行key認證
inventory 目錄中存放主機列表
[tx]
192.168.18.5:29133
192.168.18.12:29133
bootstrap.yml 檔案 內容
- hosts: "}"
roles:
- resolv
- pkg
- user
- dir
- supervisor
- filebeat
- conf
roles目錄中存放各個角色內容
比如要執行某些角色的內容,可以執行:
ansible-playbook -i inventory/tmp bootstrap.yml -e target=tmp
這裡就會執行bootstrap.yml檔案中寫定的角色內容role.yml的檔案內容:
- hosts: "}"
roles:
- "}"
serial: "}"
要想執行某個角色的內容:
ansible-playbook -i inventory/tmp role.yml -e target=tmp -e role=node_export
這樣就可以執行角色是node_export了
免密配置:
ansible -i inventory/tmp tmp -m script -a 'auth.sh' -k (tmp為host列表)將認證公鑰copy到目標機器
Servlet的簡單總結
網頁程式設計時servlet的使用頻率很高,以下是對servlet進行的一些簡單說明和總結 servlet的使用可分為三個主要階段 1,初始化,呼叫init 方法 2,響應客戶請求,呼叫service 方法 3,終止,呼叫destroy 方法 servlet初始化階段 1,servlet容器啟動時自...
iOS SEL的簡單總結
複製 inte ce person nsobject void test1 void test2 end 根據.h檔案中定義的person類和方法 執行完這行 在記憶體中如下 person person person alloc init 複製 sel就是對方法的一種包裝。包裝的sel型別資料它對應...
陣列的簡單總結
一維陣列的建立和初始化。陣列的建立 陣列是一組相同型別元素的集合。陣列的建立方式 type t arr name const n type t 是指數組的元素型別 const n是乙個常量表示式,用來指定陣列的大小。陣列建立例項 int arr 10 char arr 8 float arr 5 d...