ansiable的簡單總結

2021-09-24 03:32:56 字數 3479 閱讀 1351

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...