-
安装前准备
所有机器需要安装python 2.7,go 1.5 以上版本
-
创建用户
yum -y install python-pip
pip install passlib
python -c "from passlib.hash import sha512_crypt; import getpass; print sha512_crypt.encrypt(getpass.getpass())"
---
- hosts: test
user: root
vars:
password: $6$rounds=656000$FRp.ftd4Z/fZhAhq$wF8Nzv5.UdpSenYCZvv7veG7ApbZdgD4olsBrwUYULDv116i7QBOIMx1JkmiAOHaZ.B44chCZwII1Umkk.5Kz/
name: phoenix
tasks:
- user: name={{name}}
state=present
groups="root"
password={{password}}
- name: copy sudoers file for safety
command: cp -f /etc/sudoers /etc/sudoers.tmp
- name: create sudoers file backup
command: cp -f /etc/sudoers /etc/sudoers.bak
- file: path=/etc/sudoers.tmp owner=root group=root mode=0744
- lineinfile: dest=/etc/sudoers.tmp insertafter="root *" line="{{name}} ALL=(ALL) ALL"
- name: final sudoers file check
shell: visudo -q -c -f /etc/sudoers.tmp && cp -f /etc/sudoers.tmp /etc/sudoers
-
关闭防火墙指定端口
-
更改所有机器的hosts文件
为了便于服务器之间的沟通,以及后续软件的正常使用,需要更改所有机器的hosts文件,依据一下规则
- master节点记录所有机器的hostname和ip
- slave节点记录master节点的信息和自己的信息
-
安装并配置zookeeper集群
-
安装mesos dns
两种方案
-
通过ansible复制安装包到指定机器,并更改剩余机器的 /etc/resolv.conf文件
-
安装并配置mesos和marathon集群
- hosts: test user: river vars: ansible_become_pass: root tasks: - name: yum install mesos,zookeeper yum: name=mesos state=latest sudo: yes - name: yum install marathon yum: name=marathon state=latest sudo: yes
-
安装etcd、flannel和haproxy
-
部署测试程序,保证集群的正常运转