Azure 運(yùn)維篇 通過(guò) Ansible 批量更改 Azure 資源,azure開(kāi)發(fā)教程Azure運(yùn)維篇通過(guò)Ansible批量更改Azure資源。本文主要介紹如何通過(guò)Ansible的Playbook批量更改Azure中的資源。在這里,首先,選擇Ansible的原因是你寫(xiě)不出復(fù)雜的Shell腳本。如果有大神看到這篇文章,......
本文主要介紹如何通過(guò)Ansible的Playbook批量更改Azure中的資源。在這里,首先,選擇Ansible的原因是你寫(xiě)不出復(fù)雜的Shell腳本。如果有大神看到這篇文章,請(qǐng)自動(dòng)右轉(zhuǎn)哈哈。
在這個(gè)實(shí)驗(yàn)中,我們其實(shí)做了一件比較簡(jiǎn)單但是很實(shí)用的事情,將所有沒(méi)有HttpsOnly的存儲(chǔ)賬號(hào)設(shè)置為HttpsOnly,只支持Https訪問(wèn),使得訪問(wèn)更加安全。
當(dāng)我們環(huán)境中有許多存儲(chǔ)帳戶時(shí),必須通過(guò)腳本來(lái)完成。腳本可以通過(guò)多種方式實(shí)現(xiàn),比如Azure CLIPowerShellPython、Ansible或者Terraform。
構(gòu)建運(yùn)行Ansible的環(huán)境
建議創(chuàng)建一個(gè)VM來(lái)完成以后的運(yùn)維工作。這種虛擬機(jī)可以在平時(shí)關(guān)閉,節(jié)省成本,并在需要時(shí)開(kāi)始執(zhí)行任務(wù)。除了在機(jī)器上安裝Ansible之外,包括Grafana在內(nèi)的很多未來(lái)的運(yùn)維工具也可以放在這臺(tái)機(jī)器上,讓這臺(tái)機(jī)器的利用效率更高。
#創(chuàng)建一個(gè)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。
為所有存儲(chǔ)帳戶準(zhǔn)備可行的行動(dòng)手冊(cè)并僅更改https
Ansible的一個(gè)概念叫做劇本,劇本執(zhí)行一組任務(wù),完成一件事。如果想進(jìn)一步了解學(xué)習(xí)Ansible的知識(shí)和結(jié)構(gòu),請(qǐng)參考文末的Ansible文檔。
在此示例中,使用的劇本azure storageaccount ops.yml如下:
name:將所有存儲(chǔ)帳戶設(shè)置為http only hosts:localhost連接:localhost任務(wù): name:列出訂閱中的所有存儲(chǔ)帳戶命令:az存儲(chǔ)帳戶列表register:allStorageAccountsname:將所有存儲(chǔ)帳戶的http only更新為True命令:az存儲(chǔ)帳戶updat en { { item . name } }g { { item . resource group } }httpsonly True with items:{ { allStorageAccounts . stdout from JSON } } when:item . enablehttpstrafficonly
在LInux VM中創(chuàng)建一個(gè)文件夾azureops/ansible,將azurestorageaccountops.yml放入其中。
#執(zhí)行可行的行動(dòng)手冊(cè)非常簡(jiǎn)單
ansi bleplaybook ~/azure ops/ansi ble/azure storage account ops . yml
Ansible是冪等的,所以當(dāng)?shù)诙螆?zhí)行檢查存儲(chǔ)帳戶的HttpsOnly狀態(tài)為True時(shí),它將跳過(guò)執(zhí)行。
這里實(shí)際上有兩個(gè)額外的擴(kuò)展主題,所以我把它們留給你:
第一,其實(shí)我們可以把所有與存儲(chǔ)賬戶相關(guān)的運(yùn)維工作放在一個(gè)劇本里,用標(biāo)簽區(qū)分,用標(biāo)簽執(zhí)行;
其次,其實(shí)我寫(xiě)的劇本很簡(jiǎn)單,不好看。Ansibel中有很多針對(duì)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)容僅代表作者本人觀點(diǎn),不代表ESG跨境電商觀點(diǎn)或立場(chǎng)。如有關(guān)于作品內(nèi)容、版權(quán)或其它問(wèn)題請(qǐng)于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號(hào)密碼登錄
平臺(tái)顧問(wèn)
微信掃一掃
馬上聯(lián)系在線顧問(wèn)
小程序
ESG跨境小程序
手機(jī)入駐更便捷
返回頂部