通過OOS在實例內(nèi)運行Ansible Playbook
準(zhǔn)備工作
在OSS(對象存儲)準(zhǔn)備一個需要運行的playbook,內(nèi)容(在實例中安裝nginx)如下:
---
- hosts: local
connection: local
become: yes
become_user: user_1
tasks:
- name: Install Nginx
yum:
name: nginx
state: installed
update_cache: true
場景一:運行通過HTTPS方式存儲的Ansible Playbook
前提條件:
ECS實例必須能訪問公網(wǎng)。
操作指引:
1.登錄對象存儲控制臺,找到存儲Playbook的bucket。
2.單擊文件名,復(fù)制文件URL。
3.登錄到系統(tǒng)運維管理控制臺,選擇公共任務(wù)模板,搜索ACS-ECS-ApplyAnsiblePlayBooks。單擊創(chuàng)建執(zhí)行。
4.單擊下一步:設(shè)置參數(shù)。
5.存儲類型選擇HTTPS,存儲URL貼入從OSS中得到的URL,其他參數(shù)用法參考下文模板參數(shù)介紹。
6.速率控制類型選批次控制,詳細用法參考模板參數(shù)介紹中ratecontrol介紹。
7.確認參數(shù)輸入無誤后,單擊創(chuàng)建。
8.在任務(wù)執(zhí)行管理中找到執(zhí)行ID。
9.單擊詳情查看子執(zhí)行的執(zhí)行情況,執(zhí)行palybook的結(jié)果會顯示在輸出參數(shù)中。
場景二:運行通過OSS方式存儲的Ansible Playbook
前提條件:
所選實例必須配置實例角色,并且實例角色中包含OSS讀權(quán)限,詳情參考批量下載文件到實例中角色配置和授予部分。
操作指引:
1.存儲類型選擇oss,存儲路徑為文件在OSS中的存儲路徑(oss://bucket/filename)。其他步驟參考場景一。
模板參數(shù)介紹:
sourceType:playbook存儲的類型。
sourcePath:存儲playbook的URL。
playbookFile:執(zhí)行的playbook名稱,例如:example.yml。
tokenInfo:指定令牌以下載playbook,只有從GitHub上下載palybook時需要填。
hosts:用于執(zhí)行palybook的hosts。
installDependencies:如果設(shè)置為True,則OOS從PyPI存儲庫中安裝Ansible及其依賴項,包括Python。如果設(shè)置為False,則需要驗證目標(biāo)實例上是否安裝了Ansible及其依賴項。
workingDir:執(zhí)行playbook的目錄。
check: 使用check參數(shù)運行Ansible執(zhí)行檢查。
extraVariables:其他變量在運行時傳遞給Ansible。 輸入以空格分隔的鍵/值對列表。 例如:color=red flavour=lime
verbose: 設(shè)置用于記錄Playbook執(zhí)行情況的詳細程度。 指定-v表示低級別,-vv或–vvv表示中等級別,-vvvv表示調(diào)試級別。
ratecontrol:任務(wù)執(zhí)行的并發(fā)比率。
并發(fā)控制
并發(fā)速率:指定一個數(shù)值或者百分比來控制并發(fā)速率,如1表示每次執(zhí)行1臺實例。
最大錯誤數(shù):指定任務(wù)在停止前的最大錯誤次數(shù),可以是數(shù)值或者百分比,默認值是0,表示最多錯誤個數(shù)為1。
批次控制
批次速率數(shù)組:把一個執(zhí)行明確地分成多個批次,然后一個批次運行完,再運行下一個批次,上一個批次不全部完成的情況下,下一個批次不會開始,批次值可以是數(shù)值或者百分比,如[1, 5%, 10%] 表示第一個批次是1,第二個批次是總量的5%,第三個以后批次為10%。