entercloudsuite.haproxy
Ansible 角色:HAProxy
注意:ansible-haproxy
的开发现在在 https://github.com/automium/ansible-haproxy 上进行。
在 Ubuntu 16.04 (Xenial) 上安装 HAProxy
需求
此角色需要 Ansible 2.4 或更高版本。
角色变量
该角色大部分变量在 defaults/main.yml
中定义。
示例剧本
使用默认变量运行:
- hosts: all
roles:
- role: entercloudsuite.haproxy
haproxy_user: haproxyuser
haproxy_pass: haproxypass
haproxy_conf: |
listen web
mode http
bind *:80
default-server port 80
server web-0 1.1.1.1:80 check
测试
测试使用 Molecule 进行。
安装 Molecule 或使用 docker-compose run --rm molecule
来运行本地 Docker 容器,基于 enterclousuite/molecule 项目,从那里你可以使用 molecule
。
- 运行
molecule create
在本地引擎上启动目标 Docker 容器。 - 使用
molecule login
登录到正在运行的容器。 - 编辑角色文件。
- 在 molecule/default/requirements.yml 文件中添加其他所需角色(外部)。
- 编辑 molecule/default/playbook.yml。
- 在 molecule/default/tests 文件夹下使用 goos 验证器定义基础设施测试。
- 准备好后,使用
molecule converge
运行 Ansible 剧本,并使用molecule verify
执行测试套件。
注意,converge 过程首先会对角色进行语法检查。
使用命令molecule destroy
销毁 Docker 容器。
要通过一个命令运行所有步骤,可以运行 molecule test
。
如果要将角色目标指向虚拟机,可以使用 playbook_deploy.yml 文件,例如,运行以下命令:ansible-playbook ansible-haproxy/molecule/default/playbook_deploy.yml -i VM_IP_OR_FQDN, -u ubuntu --private-key private.pem
。
许可证
MIT