【问题标题】:Can't provide credentials to Ansible Azure module无法向 Ansible Azure 模块提供凭据
【发布时间】: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_IDAZURE_CERT_PATH,请参阅此question
  • @KonstantinSuvorov 在发布之前我已经仔细检查了这两个链接。他们不是我的情况。这个问题不是重复的。
  • 好的,您尝试使用 pem 证书了吗?
  • @KonstantinSuvorov 我不需要。我在 ARM 模式下使用 Azure,根本没有“azure account download”或“azure account import”命令。您的第二个链接可能已过时。

标签: azure ansible


【解决方案1】:

azure 模块是旧的服务管理模块,很可能在 Ansible 2.2 中被弃用。听起来您已经在使用 ARM,而您所指的指南是关于 ARM 的,因此您应该改用 azure_rm_virtualmachine 模块。

【讨论】:

    猜你喜欢
    • 2017-02-13
    • 2019-02-04
    • 2017-02-12
    • 2022-08-19
    • 2020-10-16
    • 2021-05-31
    • 2019-10-29
    • 1970-01-01
    相关资源
    最近更新 更多