【发布时间】:2016-09-06 08:46:24
【问题描述】:
我正在尝试使用 Ansible 模块管理我的 Azure 云,但没有使用 official guide。
我已经设置了服务主体并获得了凭据,然后按照建议将它们放入 $HOME/.azure/credentials 文件中:
[default]
subscription_id=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
client_id=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
secret=xxxxxxxxxxxxxxxxx
tenant=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
当开始测试剧本时,我有: "未提供订阅 ID。请设置 'AZURE_SUBSCRIPTION_ID' 或使用 '订阅 ID' 参数"
然后我设置了环境变量:
export AZURE_CLIENT_ID=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
export AZURE_SECRET=xxxxxxxxxxxxxxxxx
export AZURE_SUBSCRIPTION_ID=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
export AZURE_TENANT=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
现在我遇到了错误: "未提供 management_cert_path。请设置 'AZURE_CERT_PATH' 或使用 'management_cert_path' 参数"
我可以使用 Azure CLI 成功登录到我的应用程序:
azure account show
info: Executing command account show
data: Name : Visual Studio Enterprise: BizSpark
data: ID : xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
data: State : Enabled
data: Tenant ID : xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
data: Is Default : true
data: Environment : AzureCloud
data: Has Certificate : No
data: Has Access Token : Yes
data: User name : xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
data:
info: account show command OK
我的测试手册:
---
- hosts: localhost
connection: local
tasks:
- name: Azure VM creation
azure:
name: Test_machine
role_size: Basic_A0
image:
offer: CentOS
publisher: OpenLogic
sku: '7.1'
version: latest
location: 'West Europe'
user: admin
password: Password!
storage_account: my-storage-account
wait: yes
附言this question中列出的收据不适合我的情况。
【问题讨论】:
-
不要相信文档。仅使用
AZURE_SUBSCRIPTION_ID和AZURE_CERT_PATH,请参阅此question。 -
@KonstantinSuvorov 在发布之前我已经仔细检查了这两个链接。他们不是我的情况。这个问题不是重复的。
-
好的,您尝试使用 pem 证书了吗?
-
@KonstantinSuvorov 我不需要。我在 ARM 模式下使用 Azure,根本没有“azure account download”或“azure account import”命令。您的第二个链接可能已过时。