brucellino.consul
Ansible角色 Consul
这是一个用于在支持的平台上部署 Hashicorp Consul 的 Ansible 角色,遵循 数据中心部署指南。
这个角色旨在配置一个基本映像,从 Vault 实例中安全地提供 Consul 安全资产(gossip 密钥和 CA)。
使用此角色,您可以分别为服务器和代理配置映像,然后使用这些映像启动实例以引导集群并自动加入节点。
特性
该角色提供:
- Consul 本身,包括代理和服务器模式
- 其他必要工具(
consul-template
,vault
) - 从 Vault 中读取的 Consul TLS 和 gossip 秘密
该角色设计为使用 Vault 代理来模板化 Consul 配置文件。
目前支持加入 Wi-Fi 网络的实验性功能。
要求
该角色需要一个有效的 Vault 实例,且特定路径中有 TLS 秘密和 gossip 密钥。
机器被配置为使用 Approle Role ID 进行 Vault 认证。
该角色可以应用于虚拟机、物理机和 Docker 容器。
对于 OCI 容器的支持将在我找到可靠的检测方式后推出。
角色变量
请查看 defaults/main.yml
获取默认变量。
依赖关系
没有对其他角色的依赖。
示例剧本
有关示例剧本,请参见 .github/build/playbook.yml
。
构建映像的 Packer 模板示例在 .github/build/consul.pkr.hcl
中。
许可证
MIT
作者信息
@brucellino brucellino@proton.me