trfore.omada_install
Ansible角色: omada_install
在RedHat/CentOS和Debian/Ubuntu上安装Omada SDN控制器。
这个角色使用最新的tar包从https://www.tp-link.com/us/support/download/omada-software-controller/安装最新的Omada SDN控制器软件。
如果你想手动下载tar包到你的Ansible控制主机,请将文件Omada_SDN_Controller_v5.*.*_Linux_x64.tar.gz
下载到你的files
目录,并在你的剧本中设置以下两个变量:
omada_tar_src: Omada_SDN_Controller_v5.*.*_Linux_x64.tar.gz
omada_tar_src_remote: false
请参阅“示例剧本”部分以获取有效示例。此角色不配置Omada控制器,它使用默认配置值。它设定服务以非根用户身份运行,你可以通过将omada_non_root
设置为false
来更改这一点。
安装角色
你可以使用Ansible Galaxy CLI安装此角色:
ansible-galaxy role install trfore.omada_install
测试的平台和版本
- MongoDB社区版:
4.4.x
- Omada SDN:
5.x.x
- CentOS Stream 8
- Debian 10
- Ubuntu 20.04
需求
MongoDB社区版,
mongodb-org >=4.4.0
,可以通过包管理器安装的角色可用 -trfore.mongodb_install
。Apache Commons Daemon,
jsvc >= 1.1.0
,可以安装最新二进制文件的角色可用 -trfore.jsvc
。你可以通过创建一个
requirements.yml
文件并运行ansible-galaxy install -r requirements.yml
来安装这些角色。# requirements.yml --- roles: - name: trfore.jsvc - name: trfore.mongodb_install - name: trfore.omada_install
注:对于Ubuntu 20.04目标,此角色安装OpenJDK 11。虽然
jsvc
可以通过APT获得,但它的版本为< 1.1.0
,仅能与OpenJDK 8一起使用。如果你希望使用这个旧版本,请在你的剧本中将omada_dependencies
设置为以下内容(请参见下面的“示例剧本”部分):omada_dependencies: ["curl", "openjdk-8-jre-headless", "jsvc"]
角色变量
可用变量如下所示,并附有默认值(请参见defaults/main.yml
):
变量 | 默认值 | 描述 | 必需 |
---|---|---|---|
omada_tar_src | URL | Omada SDN tar文件,URL或相对路径 | 否 |
omada_tar_src_remote | true |
布尔值,如果从URL下载则为true |
否 |
omada_tar_dir | /var/tmp |
目标主机上用于提取和安装Omada SDN的临时目录 | 否 |
omada_tar_folder | 自动 | 从omada_tar_src 变量确定 |
自动 |
omada_non_root | true |
布尔值,配置Omada SDN以非根用户身份运行 | 否 |
omada_remove_tar_folder | false |
布尔值,是否移除远程主机上的临时目录 | 否 |
操作系统特定的变量如下所示,并附有默认值(请参见vars/main.yml
):
变量 | 默认值 | 描述 | 必需 |
---|---|---|---|
omada_dependencies | ["curl", "openjdk-11-jre-headless"] |
Omada SDN所需的包(Debian) | 否 |
omada_dependencies | ["curl", "java-11-openjdk-headless.x86_64"] |
Omada SDN所需的包(RHEL) | 否 |
依赖项
- Apache Commons Daemon,
jsvc >= 1.1.0
- MongoDB社区版
mongodb-org >=4.4.0
示例剧本
- hosts: servers
become: true
roles:
- name: 安装MongoDB社区版
role: trfore.mongodb_install
- name: 安装jsvc二进制文件
role: trfore.jsvc
- name: 安装Omada SDN
role: trfore.omada_install
post_tasks:
- name: 测试Omada SDN是否正在运行
tags: ["omada", "test"]
ansible.builtin.uri:
url: https://127.0.0.1:8043/login
status_code: 200
validate_certs: false
register: result
until: result.status == 200
retries: 12
delay: 10
- 如果你手动下载tar文件。
- hosts: servers
become: true
vars:
omada_tar_src: Omada_SDN_Controller_v5.*.*_Linux_x64.tar.gz
omada_tar_src_remote: false
roles:
- name: 安装MongoDB社区版
role: trfore.mongodb_install
- name: 安装jsvc二进制文件
role: trfore.jsvc
- name: 安装Omada SDN
role: trfore.omada_install
- 如果你想使用APT安装OpenJDK JRE 8和jsvc(仅限Ubuntu 20.04)
- hosts: servers
become: true
vars:
omada_dependencies: ["curl", "openjdk-8-jre-headless", "jsvc"]
roles:
- name: 安装MongoDB社区版
role: trfore.mongodb_install
- name: 安装Omada SDN
role: trfore.omada_install
when: ansible_distribution == 'Ubuntu'
许可证
MIT
作者信息
Taylor Fore (https://github.com/trfore)
相关角色
Github | Ansible Galaxy |
---|---|
ansible-role-jsvc | trfore.jsvc |
ansible-role-mongodb-install | trfore.mongodb_install |
ansible-role-omada-install | trfore.omada_install |
参考资料
Omada
- https://www.tp-link.com/us/support/download/omada-software-controller/
- https://www.tp-link.com/us/support/faq/3272/
- 以非根身份运行Omada SDN
- Omada SDN端口列表
- Omada控制器 - 站点迁移
ansible-galaxy install trfore.omada_install