shelleg.ansible_role_portainer
ansible-role-portainer
======================= Portainer - Docker 最酷的用户界面 http://portainer.io/
此角色通过 Docker 容器安装 Portainer
角色中的任务
- 确保 pip 安装了 docker-py
- 移除现有容器 [如果
remove_existing_container: true
] - 移除持久数据 [如果
remove_persistent_data: true
] - 部署 Portainer 容器到主机 [定义 persistent_data_path]
- 配置管理员用户密码
- 生成认证令牌
- 定义端点 [字典 | 列表]
- 配置 Portainer 设置 [Jinja2 模板]
- 配置注册中心 [Jinja2 模板]
需求
curl
docker
(服务 + Python 包)
角色变量
名称 | 描述 | 默认值 |
---|---|---|
configure_settings | 用模板覆盖默认的 Portainer 设置 | false |
configure_registry | 为 Portainer 配置一个 Docker 注册中心 | false |
remove_persistent_data | 移除主机上的持久数据目录 | false |
remove_existing_container | 移除名为 'portainer' 的现有容器 | false |
persistent_data_path | 用于存储持久数据的路径 | /opt/portainer:/data |
auth_method | 使用 LDAP 或独立方式 [2 表示 LDAP,1 表示独立] | |
registry_type | 1(Quay.io),2(Azure 容器注册中心)或 3(自定义注册中心) | |
version | 要使用的 portainer 版本 | 提交时 'develop' 是支持 LDAP 的版本 |
请查看 'defaults' 中的 main.yml 以获取完整列表 |
运行角色
ansible-playbook -i myinventory ./playbooks/deploy-portainer.yml
Playbook 示例
---
- hosts: myhosts
become: true
vars:
pip_install_packages:
- name: docker
vars_files:
- vars/portainer.yml
roles:
- geerlingguy.docker
- geerlingguy.pip
- portainer