mesos
ansible-mesos - Ansible Playbook для Mesos
Роль ansible-mesos поддерживает установку и настройку кластера Mesos с возможностью выбора между мастер, слейв или комбинацией мастер-слейв. Она поддерживает Ubuntu и RedHat/Centos.
Также можно задавать конкретные слейв-исполнители, чтобы использовать нативную поддержку Docker.
Установка
ansible-galaxy install JasonGiedymin.mesos
Зависимости
Java и Zookeeper
- https://github.com/geerlingguy/ansible-role-java ИЛИ https://github.com/AnsibleShipyard/ansible-java
- https://github.com/AnsibleShipyard/ansible-zookeeper
Требования
Версия Ansible не ниже 1.7
Переменные роли
---
mesos_install_mode: "master" # {master|slave|master-slave}
mesos_version: "1.0.1"
# Debian
mesos_package_version: "2.0.93"
mesos_os_distribution: "{{ ansible_distribution | lower }}"
mesos_os_version: "{{ ansible_distribution_version.split('.') | join('') }}"
mesos_apt_url: "http://{{ mesos_repo_host }}/{{ ansible_distribution | lower }}"
mesos_package_full_version: "{{ mesos_version }}-{{ mesos_package_version }}.{{ mesos_os_distribution }}{{ mesos_os_version }}"
mesos_apt_package: "mesos={{ mesos_package_full_version }}"
# RedHat: URL для репозиториев EPEL и Mesosphere yum
epel_repo: "https://dl.fedoraproject.org/pub/epel/{{ os_version_major }}/{{ ansible_architecture }}/{{ epel_releases[os_version_major] }}"
mesosphere_yum_repo: "https://repos.mesosphere.com/el/{{ os_version_major }}/noarch/RPMS/{{ mesosphere_releases[os_version_major] }}"
# Настройки конфигурационного файла
mesos_cluster_name: "mesos_cluster"
mesos_ip: "{{ ansible_default_ipv4.address }}"
mesos_hostname: "{{ ansible_hostname }}"
mesos_master_port: "5050"
mesos_slave_port: "5051"
mesos_log_location: "/var/log/mesos"
mesos_ulimit: "-n 8192"
mesos_work_dir: "/var/mesos"
mesos_quorum: "1"
zookeeper_client_port: "2181"
zookeeper_hostnames: "{{ mesos_hostname }}:{{ zookeeper_client_port }}"
mesos_zookeeper_masters: "zk://{{ zookeeper_hostnames }}/mesos"
mesos_owner: root
mesos_group: root
# Контейнеризатор
mesos_containerizers: "docker,mesos"
mesos_executor_timeout: "5mins"
# SSL
mesos_ssl_enabled: false
mesos_ssl_support_downgrade: false
mesos_ssl_key_file: # Когда включен SSL, это должно указывать на файл ключа SSL
mesos_ssl_cert_file: # Когда включен SSL, это должно указывать на файл сертификата SSL
mesos_option_prefix: "MESOS_"
# Дополнительные настройки
mesos_additional_configs: []
# Например:
# - name: FOO
# value: bar
# Дополнительные настройки для мастера
mesos_master_additional_configs: []
# Например:
# - name: FOO
# value: bar
# Дополнительные настройки для слейва
mesos_slave_additional_configs: []
# Например:
# - name: FOO
# value: bar
Пример Playbook
- name: Java + Zookeeper + Mesos [master-slave]
hosts: all
sudo: yes
roles:
- role: geerlingguy.java
- role: AnsibleShipyard.ansible-zookeeper
- role: ansible-mesos
mesos_install_mode: master-slave
Docker требуется только на слейв-узлах и не устанавливается по умолчанию.
Чтобы использовать Docker с Mesos, убедитесь, что он установлен на слейв-узлах.
Вы можете установить mesos_containerizers: "docker,mesos"
для слейв-узлов.
Лицензия
Лицензия Apache
AnsibleShipyard
Наши сопутствующие плейбуки
Информация об авторах
@AnsibleShipyard/developers и другие.
Установить
ansible-galaxy install AnsibleShipyard/ansible-mesos
Лицензия
apache-2.0
Загрузки
831
Владелец
Ansible Roles with a touch of Docker