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作为参数。
新闻热点
疑难解答