Alibaba Cloud 集合
Ansible Alibaba Cloud 集合包含各种 Ansible 内容,可帮助自动化管理 Alibaba Cloud 实例。该集合由 Alibaba Cloud 团队维护。
Python 版本兼容性
此集合需要 Python 3.6 或更高版本。
安装此集合
您可以使用 Ansible Galaxy CLI 安装 Alibaba Cloud 集合:
- 创建一个包含以下内容的
requirements.txt
文件:collections: - name: https://github.com/alibaba/alibaba.alicloud.git type: git branch: master
- 运行以下命令使用
requirements.txt
文件安装 alibaba.alicloud:ansible-galaxy collection install -r requirements.txt
使用此集合
您可以通过完全限定的集合命名空间(FQCN)调用模块,例如 alibaba.alicloud.ali_vpc
,或者如果在 playbook 的 collections
关键字中列出了 alibaba.alicloud
集合,则可以通过短名称调用模块:
---
- name: 使用模块 alibaba.alicloud.ali_vpc
hosts: localhost
remote_user: root
vars:
name: "ansible-testacc-ali_vpc-module"
vpc_cidr: "172.16.0.0/12"
vpc_description: "通过 Ansible 示例 alicloud-ecs-vpc 创建新的 VPC 资源。"
roles:
- vpc
tasks:
- name: 使用用户 CIDR 创建新的 VPC
alibaba.alicloud.ali_vpc:
cidr_block: '{{ vpc_cidr }}'
vpc_name: '{{ name }}-user_cidrs'
description: '{{ vpc_description }}'
user_cidrs:
- 172.16.100.0/24
- 172.16.101.0/24
plugins/modules
模块目录中有几个文件,这些文件描述了一些可以操作阿里云产品的功能。
ali_instance.py
:在 ECS 中创建、启动、停止、重启或终止实例。将实例添加到安全组或从安全组中移除ali_disk.py
:在 ECS 中创建、挂载、卸载或删除磁盘ali_security_group.py
:创建或删除安全组ali_vpc.py
:创建或删除 VPCali_vswitch.py
:创建或删除交换机ali_route_entry.py
:创建或删除路由条目ali_slb_lb.py
:创建或删除负载均衡器ali_slb_listener.py
:为负载均衡器创建或删除监听器ali_slb_server.py
:向负载均衡器添加或从中移除后端服务器ali_ess_group.py
:创建或删除伸缩组ali_ess_configuration.py
:创建或删除伸缩配置ali_ess_instance.py
:在指定的伸缩组中添加或移除 ECS 实例ali_ess_task.py
:为伸缩活动创建或删除定时任务ali_ess_rule.py
:创建或删除伸缩规则ali_eni.py
:创建或删除弹性网卡ali_bucket.py
:创建或删除 OSS 存储桶ali_bucket_object.py
:将对象上传到 OSS 存储桶或从中下载对象
lib/ansible/module_utils
在模块工具目录中,alicloud_ecs.py 文件识别并获取 playbook 参数,并将这些参数提供给 modules/*.py。此外,该文件通过 footmark 实现 Ansible 和阿里云 API 之间的连接。
examples
有一些 playbook 用于创建一些阿里云资源或构建基础设施架构。
执行 playbook
-
在 playbook 中输入您的阿里云访问密钥或设置环境变量:
ALICLOUD_ACCESS_KEY
和ALICLOUD_SECRET_KEY
。 -
在 playbook 中输入其他资源参数。
-
执行以下 ansible-playbook 命令:
$ ansible-playbook xxx.yml
参考
Ansible 文档:https://docs.ansible.com/ansible/latest/
Ansible Alicloud:详细文档