inux開發人員經常使用 Python 完成小塊的工作,因為你可以編寫腳本的情況很容易。它已經成為完成配置和部署等小任務的一個流行方式。Windows Azure,微軟的云,也沒有什么不同。通過 Python SDK 所提供的可用性,Python 成為 Windows Azure 的頭等公民。讓我們看看我們如何能夠使用Python無需其它而只需一個Windows Azure訂閱就可以用編程方式從 vmdepot 部署一個映像到 Windows Azure上。
建立一個管理證書
任何與 Windows Azure 的交互都需要兩個東西:
我們假設你使用 Linux 運行這個腳本(如果不是,請和我聯系,我會告訴你如何使用 Windows 來做同樣的事情)。 如果沒有安裝OpenSSL,請從root提示使用如下命令:
yum install openssl
以下將創建一個 .pem 文件,之后可被翻譯成一個 .cer 文件,并導出和上傳到Windows Azure。
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout elasta.pem -out elasta.pem
用下面命令導出 .cer:
openssl x509 -inform pem -in elasta.pem -outform der -out elasta.cer
這樣你就得到它了,一個可以上傳到你的 Windows Azure 訂閱的管理證書。當做完這個時,你應該已經能夠以編程方式使用 Windows Azure 了。
用你的微軟帳戶或者 Windows Azure 活動目錄憑據登錄到 Windows Azure。管理門戶位于https://manage.windowsazure.com 。
選擇設置標簽:
從菜單中選擇管理證書:
下方的應用工具條包含一個上傳按鈕:
選擇這個按鈕,上傳前面導出的 .cer 文件:
在“結果”面板中你應該會看到類似這樣的證書入口。
為了有助于解釋這篇文章,我已經寫了一個Python腳本,可在這里下載:
https://github.com/elastacloud/python-vmdepot-deploy
你可以閱讀安裝說明獲知如何使用腳本。本文的目的是帶你領略 Windows Azure 的 Python API 的一些能夠幫你開發完全自動化部署的關鍵功能。
要使用 Windows Azure 中的任何服務管理功能,我們需要一個服務管理對象:
self.sms = ServiceManagementService(vars.subscription_id, vars.certificate_path)
這對我們接下來要做的很有用。正如你能看到的,這需要一個證書和訂閱ID作為參數。
新聞熱點
疑難解答