Azure 運(yùn)維篇 通過 Ansible 批量更改 Azure 資源,azure開發(fā)教程Azure運(yùn)維篇通過Ansible批量更改Azure資源。本文主要介紹如何通過Ansible的Playbook批量更改Azure中的資源。在這里,首先,選擇Ansible的原因是你寫不出復(fù)雜的Shell腳本。如果有大神看到這篇文章,......
本文主要介紹如何通過Ansible的Playbook批量更改Azure中的資源。在這里,首先,選擇Ansible的原因是你寫不出復(fù)雜的Shell腳本。如果有大神看到這篇文章,請自動右轉(zhuǎn)哈哈。
在這個實驗中,我們其實做了一件比較簡單但是很實用的事情,將所有沒有HttpsOnly的存儲賬號設(shè)置為HttpsOnly,只支持Https訪問,使得訪問更加安全。
當(dāng)我們環(huán)境中有許多存儲帳戶時,必須通過腳本來完成。腳本可以通過多種方式實現(xiàn),比如Azure CLIPowerShellPython、Ansible或者Terraform。
構(gòu)建運(yùn)行Ansible的環(huán)境
建議創(chuàng)建一個VM來完成以后的運(yùn)維工作。這種虛擬機(jī)可以在平時關(guān)閉,節(jié)省成本,并在需要時開始執(zhí)行任務(wù)。除了在機(jī)器上安裝Ansible之外,包括Grafana在內(nèi)的很多未來的運(yùn)維工具也可以放在這臺機(jī)器上,讓這臺機(jī)器的利用效率更高。
#創(chuàng)建一個Linux虛擬機(jī),比如Ubuntu 16.04,安裝相應(yīng)的依賴包和ansiblesudo aptget更新sudo aptget instally libssldevlibffidev pythondev pythonpi pudo pip安裝ansible [azure] #登錄Linux虛擬機(jī),安裝azure Clic URLSL https://aka.ms/InstallAzureCLIDeb sudobash #,切換云環(huán)境,登錄Azure,每次在ansible之前登錄Azure,確保Ansible可以使用Azure登錄信息。當(dāng)然還有其他Ansible登錄憑證,可以選擇嘗試az cloud setn azurecentacloud。
為所有存儲帳戶準(zhǔn)備可行的行動手冊并僅更改https
Ansible的一個概念叫做劇本,劇本執(zhí)行一組任務(wù),完成一件事。如果想進(jìn)一步了解學(xué)習(xí)Ansible的知識和結(jié)構(gòu),請參考文末的Ansible文檔。
在此示例中,使用的劇本azure storageaccount ops.yml如下:
name:將所有存儲帳戶設(shè)置為http only hosts:localhost連接:localhost任務(wù): name:列出訂閱中的所有存儲帳戶命令:az存儲帳戶列表register:allStorageAccountsname:將所有存儲帳戶的http only更新為True命令:az存儲帳戶updat en { { item . name } }g { { item . resource group } }httpsonly True with items:{ { allStorageAccounts . stdout from JSON } } when:item . enablehttpstrafficonly
在LInux VM中創(chuàng)建一個文件夾azureops/ansible,將azurestorageaccountops.yml放入其中。
#執(zhí)行可行的行動手冊非常簡單
ansi bleplaybook ~/azure ops/ansi ble/azure storage account ops . yml
Ansible是冪等的,所以當(dāng)?shù)诙螆?zhí)行檢查存儲帳戶的HttpsOnly狀態(tài)為True時,它將跳過執(zhí)行。
這里實際上有兩個額外的擴(kuò)展主題,所以我把它們留給你:
第一,其實我們可以把所有與存儲賬戶相關(guān)的運(yùn)維工作放在一個劇本里,用標(biāo)簽區(qū)分,用標(biāo)簽執(zhí)行;
其次,其實我寫的劇本很簡單,不好看。Ansibel中有很多針對Azure不同服務(wù)的模塊。也可以嘗試使用模塊,而不是直接執(zhí)行Azure CLI,讓劇本更美觀。
參考數(shù)據(jù)
#快速入門:在Azure中的Linux虛擬機(jī)上安裝AnsibleHTTPS://docs . Microsoft . com/zhcn/Azure/virtualmachines/Linux/ansi bleInstallconfigure # ansi ble使用docs.ansible.com/ansible/latest/user支持的https:// Azure模塊 guide/basic concepts.html # ansi ble https://docs.ansible.com/ansible/latest/scenario guides/guide Azure . html # Github Azure資源劇本示例https://Github . com/AzureSamples/ansi ble劇本
特別聲明:以上文章內(nèi)容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關(guān)于作品內(nèi)容、版權(quán)或其它問題請于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號密碼登錄
平臺顧問
微信掃一掃
馬上聯(lián)系在線顧問
小程序
ESG跨境小程序
手機(jī)入駐更便捷
返回頂部