Ansible Mesos Playbook 使用教程
1. 项目的目录结构及介绍
mhamrah/ansible-mesos-playbook/
├── .gitignore
├── Ansiblefile
├── Ansiblefile.lock
├── LICENSE.txt
├── README.md
├── Vagrantfile
├── ansible.cfg.sample
├── common.yml
├── hosts.sample
├── mesos_primaries.yml
├── mesos_workers.yml
└── playbook.yml
.gitignore
: 用于指定Git版本控制系统忽略的文件和目录。Ansiblefile
: 用于定义Ansible的依赖关系。Ansiblefile.lock
: 锁定文件,记录当前使用的依赖版本。LICENSE.txt
: 项目的许可证文件。README.md
: 项目说明文档。Vagrantfile
: 用于定义Vagrant虚拟机的配置。ansible.cfg.sample
: Ansible配置文件的示例。common.yml
: 公共任务文件。hosts.sample
: 主机配置文件的示例。mesos_primaries.yml
: 用于配置Mesos主节点的任务文件。mesos_workers.yml
: 用于配置Mesos工作节点的任务文件。playbook.yml
: 主Playbook文件,用于启动Mesos集群。
2. 项目的启动文件介绍
playbook.yml
playbook.yml
是主Playbook文件,用于启动Mesos集群。它包含了配置Mesos主节点和工作节点的任务,以及相关的依赖服务如Marathon、Consul和HAProxy。
---
- name: Setup Mesos Cluster
hosts: all
become: yes
roles:
- role: geerlingguy.java
- role: AnsibleShipyard.ansible-zookeeper
- role: ansible-mesos
mesos_install_mode: master-slave
mesos_containerizers: "docker,mesos"
3. 项目的配置文件介绍
ansible.cfg.sample
ansible.cfg.sample
是Ansible配置文件的示例,包含了Ansible运行时的各种配置选项。
[defaults]
inventory = hosts.sample
roles_path = librarian_roles
hosts.sample
hosts.sample
是主机配置文件的示例,定义了Mesos集群中的主机和组。
[mesos_masters]
master1 ansible_host=192.168.1.1
[mesos_workers]
worker1 ansible_host=192.168.1.2
worker2 ansible_host=192.168.1.3
common.yml
common.yml
是公共任务文件,包含了在所有节点上执行的通用任务。
---
- name: Ensure Java is installed
apt:
name: openjdk-8-jdk
state: present
mesos_primaries.yml
mesos_primaries.yml
用于配置Mesos主节点的任务。
---
- name: Configure Mesos Primary Nodes
hosts: mesos_primaries
become: yes
tasks:
- name: Install Mesos Master
apt:
name: mesos
state: present
mesos_workers.yml
mesos_workers.yml
用于配置Mesos工作节点的任务。
---
- name: Configure Mesos Worker Nodes
hosts: mesos_workers
become: yes
tasks:
- name: Install Mesos Slave
apt:
name: mesos
state: present
以上是 mhamrah/ansible-mesos-playbook
项目的主要目录结构、启动文件和配置文件的介绍。通过这些文件,可以快速部署和管理一个Mesos集群。