Dcos环境步骤搭建
1、DCOS介绍
· DC/OS(DataCenter Operating System)是以Apache Mesos 为分布式系统内核的分布式数据中心操作系统
· DC/OS可以使企业像使用一台主机一样使用分布式数据中心的多个集群资源,进行弹性地扩容与缩容
· DC/OS实现资源自动化管理、进程调度、方便内部进程通讯、简化分布式服务的安装和管理
· DC/OS提供网页界面和 CLI ,方便对集群和其中的服务进行远程地管理和监控
2、节点介绍
Dcos环境分为三个节点, bootstrapnode、master nodes、agent nodes(slave nodes)。
· bootstrap node
操作系统硬件资源符合最低CPU 2 Cores、内存16 GB RAM、硬盘60 GB HDD。并需要遵从TCP/IP协议,必须和master nodes的tcp端口80, 443, 8080, 8181, 2181, 5050要通信。
注:bootstrap 节点是不再dcos节点范畴内。
· master nodes
最小配资源 | 最大支持资源 |
Nodes: 1 | Nodes: 3 |
master nodes 最少一个节点,最多3个节点
· agent nodes(slave nodes)
最小配资源 | 最大支持资源 |
Nodes: 1 | Nodes: 6 or more |
slave nodes 一个节点,最多6个或以上节点。并且最少分区/var有10G的空间。因为docker需要的到这个,dokcer容器,镜像都是在这个目录下。
3、防火墙设置
对于RHEL 7和 CentOS 7操作系统,必须要把firewalld防火墙关闭掉,firewalld的防火墙和docker之间并不友好,注意的是不要把iptables关了,因为docker容器和宿主机之前通信是要用到iptables的功能。各个节点都要关闭firewalld。
# sudo systemctl stop firewalld &&sudo systemctl disable firewalld
4、DC/OS目录介绍
dc/os安装完成后的目录在/opt/mesosphere,该节点正确并需要存在,不能是一个单独的LVM逻辑卷或者共享存储。
Master nodes 和slave nodes存放的重要信息放在/var/lib/mesos目录
/tmp目录挂在属性不能有noexec,因为后续要在/tmp目录下创建一个目录并运行一个脚本。
注意:目录/var/lib/mesos和目录/var/lib/docker不能远程挂载。
5、端口和协议网络配置
· 所有节点相互之间能SSH连接。
· 所有节点相互之间能ICMP连接。
· 所有节点相互之间的网络能访问bootstrap node连接。
· UDP端口53必须打开。Agent node (slave node)的服务dcos-mesos-slave会使用53端口会找leader.mesos。
· 高速率访问:最低速率要10 Mbit。其中安装完后/opt/mesosphere/etc/mesos-slave-common目录里面的MESOS_EXECUTOR_REGISTRATION_TIMEOUT参数定义最低速率为10 Mbit。
6、初始化脚本配置
初始化脚本
安装在DC/OS mastersand agents 上。(请看附件)
7、docker配置
适用于所有节点的docker配置
· 1.7.x
· 1.8.x
· 1.9.x
· 1.10.x
· 1.11.x
注意重要: 版本 1.12.x 不支持。我原先就在这里跳了一个大坑。
· Virtual networks 要求 Docker1.11.。
8、sudo权限配置
更改这个文件/etc/sudoers,如下一行。如需要给yingjiahulian这个普通用户使用sudo免密码。即所有节点都操作,包括bootstrap节点。
%yingjiahulian ALL=(ALL) NOPASSWD: ALL
9、NTP开启
所有节点需要NTP时钟同步
#sudoyum install -y ntpdate ntp
#ntptime
#adjtimex –p&&timedatectl
10、安装docker
备注:从第10步开始,有些步骤是不是必须的,因为第6步的初始化脚本里的步骤包括了的。详细查看第6步的脚本内容。所有节点都需要操作,包括bootstrap节点。
查看 kernel is atleast 3.10:
1.uname -r
3.10.0-327.10.1.el7.x86_64
2. 开启 OverlayFS模块
sudo tee /etc/modules-load.d/overlay.conf <<-‘EOF‘
overlay
EOF
3. 重启并加载模块
reboot
4. 查看 OverlayFS是否开启
lsmod | grep overlay
overlay
5. 配置Docker yum 源:
sudo tee /etc/yum.repos.d/docker.repo <<-‘EOF‘
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
6. Configure systemd to run theDocker Daemon with OverlayFS:
sudo mkdir -p /etc/systemd/system/docker.service.d && sudo tee/etc/systemd/system/docker.service.d/override.conf <<- ‘EOF‘
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon --storage-driver=overlay -H fd://
EOF
7. Install the Docker engine,daemon, and service.
Important: Docker version 1.12.x isnot supported.
sudo yum install -y docker-engine-1.11.2
sudo systemctl start docker
sudo systemctl enable docker
When the process completes, you should see:
Complete!
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.serviceto/usr/lib/systemd/system/docker.service.
8. Test that Docker is properlyinstalled:
sudo docker ps
11、pull下载nginx
#该操作只在bootstrap节点上操作.
#sudo docker pull nginx
12、其他操作
#所有节点操作,包括bootstrap节点。
#sudo yum install -y tar xz unzip curl ipset
#sudo sed -is/SELINUX=enforcing/SELINUX=permissive/g /etc/selinux/config &&
sudogroupadd nogroup &&
sudo reboot
#确保LANG为en_US.utf-8。
13、dc/os安装开始
备注:13-18步都是在bootstrap节点上操作。
如下是官网的给出目录作用列表
The DC/OS installation createsthesefolders:
Folder | Description |
/opt/mesosphere | Contains all the DC/OS binaries, libraries, cluster configuration. Do not modify. |
/etc/systemd/system/dcos.target.wants | Contains the systemd services which start the things that make up systemd. They must live outside of /opt/mesospherebecause of systemd constraints. |
/etc/systemd/system/dcos.<units> | Contains copies of the units in/etc/systemd/system/dcos.target.wants. They must be at the top folder as well as inside dcos.target.wants. |
/var/lib/dcos/exhibitor/zookeeper | Contains the ZooKeeper data. |
/var/lib/docker | Contains the Docker data. |
/var/lib/dcos | Contains the DC/OS data. |
/var/lib/mesos | Contains the Mesos data. |
14、创建genconf目录
#sudo mkdir -p genconf
15、创建genconf/config.yaml文件
官网的列子是这样
#vim genconf/config.yaml
---
bootstrap_url:http://<bootstrap_ip>:<your_port>
cluster_name:‘<cluster-name>‘
exhibitor_storage_backend:static
ip_detect_filename:/genconf/ip-detect
master_discovery:static
master_list:
-<master-private-ip-1>
-<master-private-ip-2>
-<master-private-ip-3>
resolvers:
-8.8.4.4
-8.8.8.8
use_proxy:‘true‘
http_proxy:http://<user>:<pass>@<proxy_host>:<http_proxy_port>
https_proxy:https://<user>:<pass>@<proxy_host>:<https_proxy_port>
no_proxy:
-‘foo.bar.com‘
-‘.baz.com‘
我这里部署的时候文件内容
---
bootstrap_url:http://192.168.30.37:8799
cluster_name:‘bingo_cluster‘
exhibitor_storage_backend:static
ip_detect_filename:/genconf/ip-detect
master_discovery: static
master_list:
- 192.168.30.30
resolvers:
- 192.168.30.37
- 8.8.8.8
查看resolv
$ cat /etc/resolv.conf
# Generated byNetworkManager
search example
nameserver 192.168.30.37
nameserver 8.8.8.8
16、创建genconf/ ip-detect文件
# vim genconf/ip-detect
#!/usr/bin/env bash
set -onounset -o errexit
exportPATH=/usr/sbin:/usr/bin:$PATH
echo$(ip addr show eno33557248| grep -Eo ‘[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}‘ |head -1)
备注:eno33557248 为各节点通信的网卡名字
17、下载 并运行DC/OS 安装包脚本
sudo curl -O \
https://downloads.dcos.io/dcos/stable/dcos_generate_config.sh
#sudo bashdcos_generate_config.sh
运行万结构后目录结构应该这样
├──dcos-genconf.<HASH>.tar
├──dcos_generate_config.sh
├──genconf
│ ├── config.yaml
│ ├── ip-detect
18、启动nginx容器资源
#sudo docker run -d -p 8799:80 -v \
$PWD/genconf/serve:/usr/share/nginx/html:ronginx
#sudo docker images
#sudo docker ps
并查看本机8799端口是否启用
$ netstat -tlnpu|grep 8799
(No info could be read for "-p":geteuid()=1001 but you should be root.)
tcp6 0 0 :::8799 :::* LISTEN -
19、master节点配置
$sudo mkdir /tmp/dcos&& cd /tmp/dcos
$ sudo curl -O http://192.168.30.37:8799/dcos_install.sh
$ sudo bash dcos_install.shmaster
20、agent(slave)节点配置
$sudo mkdir /tmp/dcos&& cd /tmp/dcos
$ sudo curl -O http://192.168.30.37:8799/dcos_install.sh
$ sudo bash dcos_install.shslave
22、dc/os环境搭建成功
本文出自 “蚂蚱小子” 博客,谢绝转载!
原文地址:http://zxlwz.blog.51cto.com/6952946/1949813