简介
dcos,不错的东西,想安装么??嘿嘿
安装当然要装docker了, 注意这个地方安装1.6以上的就好,关键是接下来要用cli的方式安装,因为下面的地方会有冲突:
1. web安装的方式,会对某个docker的文件进行覆盖,会使用-H fd://这种方式
2. docker在某个版本之后已经没有了-H了
为啥还要采用web安装的方式来?
因为会帮助你生成配置文件。
用cli安装的方式简单不?
就照着下面的命令打,出了问题也会有提示,可以不用重新来过。
node的添加简单么?
在boot角色的安装的地方,就是你打 bash xxx.sh之后,除了自动解压出来的tar文件之外,还有genconf这个文件夹,而且这个文件夹下面还有个serve文件将,这个文件夹一定要保存好了, 以后在安装agent的时候,直接拷贝过去,然后运行 bash dcos_install.sh slave,如果安装master,那么就把slave替换成master。
如果安装失败该咋办?
删掉重新来。删文件就是下面有一大串rm -rf,大胆的删,别犹豫,因为官方也没有提供一个uninstall的好方法。
安装docker
# 使用docker1.11
rm -f *.rpm
yum remove -y docker*
rsync -avzP soft.ops.ac.cn::ops1970/dcos/docker-1.11.2/*.rpm .
rpm -Uvh *.rpm
# 打开overlayfs
tee /etc/modules-load.d/overlay.conf <<-'EOF'
overlay
EOF
# 调整docker启动参数
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
EOF
#
systemctl daemon-reload
systemctl restart docker
安装dcos(web方式)获取配置文件
安装dcos(cli方式)正式安装
cd ~
rsync -avzP soft.ops.ac.cn::ops1970/dcos/1.7/dcos_generate_config.sh .
# cli install
bash dcos_generate_config.sh --genconf
bash dcos_generate_config.sh --install-prereqs
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 EOF
systemctl daemon-reload
systemctl start docker
bash dcos_generate_config.sh --preflightsudo bash dcos_generate_config.sh --deploy
bash dcos_generate_config.sh --postflight
#
http://192.168.126.16:8181/exhibitor/v1/ui/index.html
http://192.168.126.16/ dcos管理界面
添加node
# 清空过去安装的痕迹,或者说清空dcos服务
rm -rf /opt/mesosphere*
rm -rf /var/lib/zookeeper
rm -rf /etc/mesos*
rm -rf /opt/dcos-prereqs.installed
rm -rf /etc/systemd/system/dcos*
rm -rf /usr/lib/systemd/system/marathon.service
systemctl daemon-reload
# 准备安装使用的文件
cd /opt
rm -rf dcos_install_tmp
mkdir -p dcos_install_tmp
rsync -avzP soft.ops.ac.cn::ops1970/dcos/1.7/dcos-install.tar .
tar -xf dcos-install.tar -C dcos_install_tmp
# 部署detectip
mkdir -p /opt/mesosphere/bin
echo '
#!/bin/bash
IPDETECT=`ifconfig eno16777736|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
echo "$IPDETECT"
' >> /opt/mesosphere/bin/detect_ip
## 开始安装slave
cd dcos_install_tmp
bash dcos_install.sh slave
dcos状态检查
systemctl status dcos-mesos-slave
cli安装
# 安装
# install cli
pip install virtualenv
mkdir dcos && cd dcos
curl -O https://downloads.dcos.io/dcos-cli/install.sh
bash install.sh /opt/dcli http://192.168.126.16
dcos auth login
cli操作repo的添加和删除
测试的时候可以把dcos_install.sh加入set -x
dcos package repo list
dcos packagfe search nginx
dcos package repo remove lingqueyun
dcos package repo add [--index=<index>] <repo-name> <repo-url>
marathon-dns
# dcos默认安装
http://blog.csdn.net/zouyee/article/details/51088665
marathon-lb
dcos package install marathon-lb
# 参考
https://github.com/mesosphere/marathon-lb
https://mesosphere.com/blog/2015/12/04/dcos-marathon-lb/
https://mesosphere.com/blog/2015/12/13/service-discovery-and-load-balancing-with-dcos-and-marathon-lb-part-2/
marathon 与 nginx 配合打造内部nginx
文件 options.json
{
"marathon-lb":{
"name":"marathon-lb-internal",
"haproxy-group":"internal",
"bind-http-https":false,
"role":""
}
}
dcos package install –options=options.json marathon-lb
文件 nginx-internal.json
# 内部 -nginx配置
# nginx-internal.json
{
"id": "nginx-internal",
"container": {
"type": "DOCKER",
"docker": {
"image": "nginx:1.9.14",
"network": "BRIDGE",
"portMappings": [
{ "hostPort": 0, "containerPort": 80, "servicePort": 10001 }
],
"forcePullImage":true
}
},
"instances": 1,
"cpus": 0.1,
"mem": 65,
"healthChecks": [{
"protocol": "HTTP",
"path": "/",
"portIndex": 0,
"timeoutSeconds": 10,
"gracePeriodSeconds": 10,
"intervalSeconds": 2,
"maxConsecutiveFailures": 10
}],
"labels":{
"HAPROXY_GROUP":"internal"
}
}
nginx上线
dcos package install –options=nginx-internal.json nginx-internal
测试 :
curl http://marathon-lb-internal.marathon.mesos:10001/
TO BE Continue