Share Feedback to help us keep improving.
6.16. OpenStack
使用此凭证类型连接到 OpenStack 云。自动化控制器使用 OpenStack SDK 与 OpenStack 云交互。在创建 OpenStack 云凭证时,控制器会提示您输入以下信息:
- 用户名 :用于向 OpenStack 云进行身份验证的用户名。
- Password: 向 OpenStack 云进行身份验证的密码。
- 项目名称 :连接到 OpenStack 云时要使用的项目名称(也称为租户名称)。
- Auth URL: OpenStack 云的身份验证 URL。
- Cloud name : OpenStack clouds.yaml 文件中定义的云名称。
- 区域名称 (可选):连接到 OpenStack 云时要使用的区域名称。
- 域名 (可选):连接到 OpenStack 云时要使用的域名。
- 项目域名 (可选):连接到 OpenStack 云时要使用的项目域名。
- 验证 SSL 证书 :选择此选项以验证 OpenStack 云提供的 SSL/TLS 证书。清除这个选项以禁用 SSL/TLS 证书验证。
以下示例 playbook 调用 nova_compute Ansible OpenStack 云模块并需要凭证:
-
auth_url -
username -
password -
项目名称
这些字段通过环境变量 OS_CLIENT_CONFIG_FILE 提供给 playbook,它指向控制器基于云凭证内容的 YAML 文件。以下示例 playbook 将 YAML 文件加载到 Ansible 变量空间中:
- OS_CLIENT_CONFIG_FILE 示例:
clouds:
devstack:
auth:
auth_url: http://devstack.yoursite.com:5000/v2.0/
username: admin
password: your_password_here
project_name: demo
- Playbook 示例:
- hosts: all
gather_facts: false
vars:
config_file: "{{ lookup('env', 'OS_CLIENT_CONFIG_FILE') }}"
nova_tenant_name: demo
nova_image_name: "cirros-0.3.2-x86_64-uec"
nova_instance_name: autobot
nova_instance_state: 'present'
nova_flavor_name: m1.nano
nova_group:
group_name: antarctica
instance_name: deceptacon
instance_count: 3
tasks:
- debug: msg="{{ config_file }}"
- stat: path="{{ config_file }}"
register: st
- include_vars: "{{ config_file }}"
when: st.stat.exists and st.stat.isreg
- name: "Print out clouds variable"
debug: msg="{{ clouds|default('No clouds found') }}"
- name: "Setting nova instance state to: {{ nova_instance_state }}"
local_action:
module: nova_compute
login_username: "{{ clouds.devstack.auth.username }}"
login_password: "{{ clouds.devstack.auth.password }}"
6.16.1. Amazon Web Services 复制链接链接已复制到粘贴板!
Amazon Web Services (AWS)云凭证在 playbook 执行过程中作为以下环境变量公开(在作业模板中,选择您的设置所需的云凭证):
-
AWS_ACCESS_KEY_ID -
AWS-SECRET_ACCESS_KEY
每个 AWS 模块在通过控制器运行时都会隐式使用这些凭证,而无需设置 aws_access_key_id 或 aws_secret_access_key 模块选项。
6.16.2. Google 复制链接链接已复制到粘贴板!
使用此凭证类型向 Google Cloud Platform 服务进行身份验证。自动化控制器支持 Google Cloud 凭证,用于管理 Google Cloud 资源的 Ansible 模块。
Google 云凭证在 playbook 执行过程中作为以下环境变量公开(在作业模板中,选择您的设置所需的云凭证):
-
GCE_EMAIL -
GCE_PROJECT -
GCE_CREDENTIALS_FILE_PATH
每个 Google 模块在通过控制器运行时都会隐式使用这些凭证,而无需设置 service_account_email、project_id 或 pem_file 模块选项。
6.16.3. Azure 复制链接链接已复制到粘贴板!
自动化控制器包括用于管理 Microsoft Azure 云资源的内置支持。
Azure 云凭证在 playbook 执行过程中作为以下环境变量存在(在作业模板中,选择您的设置所需的云凭证):
-
AZURE_SUBSCRIPTION_ID -
AZURE_CERT_PATH
每个 Azure 模块在使用自动化控制器运行时使用这些凭证,而无需设置 subscription_id 或 management_cert_path 模块选项。
6.16.4. VMware 复制链接链接已复制到粘贴板!
自动化控制器与 VMware vSphere 集成,以管理虚拟机(VM)作为其基础架构的一部分。此集成允许用户在 VMware 环境中自动进行调配、管理和停用虚拟机。
VMware 云凭证在 playbook 执行过程中作为以下环境变量公开(在作业模板中,选择您的设置所需的云凭证):
-
VMWARE_USER -
VMWARE_PASSWORD -
VMWARE_HOST
以下示例 playbook 演示了这些凭证的使用情况:
- vsphere_guest:
vcenter_hostname: "{{ lookup('env', 'VMWARE_HOST') }}"
username: "{{ lookup('env', 'VMWARE_USER') }}"
password: "{{ lookup('env', 'VMWARE_PASSWORD') }}"
guest: newvm001
from_template: yes
template_src: linuxTemplate
cluster: MainCluster
resource_pool: "/Resources"
vm_extra_config:
folder: MyFolder