一、集群环境规划
1、性能和容量指南
建议:
- 最大程度地减少主机上的 CPU 和其他资源超额订阅
- 在计划 DC/OS 主节点的主机上保持 CPU 就绪时间
* < 5%
注意:CPU 就绪时间是记录虚拟机准备好使用 CPU 但因为所有 CPU 资源都忙碌而无法安排时间的度量。
2、时间保留指南
tools.syncTime = "0"
time.synchronize.continue = "0"
time.synchronize.restore = "0"
time.synchronize.resume.disk = "0"
time.synchronize.shrink = "0"
time.synchronize.tools.startup = "0"
time.synchronize.tools.enable = "0"
time.synchronize.resume.host = "0"
DC/OS 群集需要节点之间的强大时间同步,以实现最佳功能。请检查您的 DC/OS 群集上 NTP 已启用 ,帮助确保此类强大同步。
建议:
- 禁用 VMware 工具时间同步和 配置 ESXi 主机和客户以使用可靠的 NTP 源
- 将以下行添加到虚拟机配置文件 (.vmx) 中 以禁用时间同步:
3、硬件前提条件
3.1:bootstrap 节点
- DC/OS 装置在一个
bootstrap节点 上运行,该节点带有两个核心、16 GB RAM 和 60 GB HDD。 - bootstrap 节点仅在安装和升级过程中使用,因此没有针对高性能存储或分离挂载点的具体建议。
注意:bootstrap 节点必须与群集节点分开。
3.2:管理节点要求
下表列出了管理节点的硬件要求:
| 服务器 | 最低 | 推荐 |
| 节点数 | 1* | 3 或 5 |
| 处理器 | 4 核 | 4 核 |
| 内存 | 32 GB RAM | 32 GB RAM |
| 硬盘 | 120 GB | 120 GB |
*对于业务关键部署,需要三个管理节点,而不是一个管理节点- 磁盘生产环境采用固态硬盘
3.3:代理节点要求
下表显示了代理节点的硬件要求:
| 服务器 | 最低 | 推荐 |
| 节点数 | 1 | 6 或更多 |
| 处理器 | 2 核 | 2 核 |
| 内存 | 16 GB RAM | 16 GB RAM |
| 硬盘 | 60 GB | 60 GB |
在规划代理节点的内存要求时,应确保代理已配置成可最式程序减少交换空间的使用。建议的最佳实践是优化群集性能并减少潜在资源消耗问题,以尽可能禁用群集中所有代理的内存交换。
二、安装Docker程序
所有节点需要部署安装docker程序
1、安装仓库源
#安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
#设置阿里仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2、安装Docker程序
yum -y install docker-ce
3、配置daemon.json
mkdir /data/docker
mkdir /etc/docker
cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["http://hub-mirror.c.163.com","https://a7ye1cuu.mirror.aliyuncs.com","https://docker.mirrors.ustc.edu.cn"],
"max-concurrent-downloads": 20,
"max-concurrent-uploads": 10,
"debug": true,
"live-restore": true,
"data-root": "/data/docker",
"log-opts": {
"max-size": "100m",
"max-file": "5"
}
}
EOF
4、启动Docker程序
systemctl start docker
systemctl enable docker
systemctl status docker
三、部署前准备工作
1、创建配置目录
- 在 bootstrap 节点上创建名为
genconf的目录
[root@bootstrap ~]# mkdir -p genconf
2、创建脚本文件
- 在
genconf目录下创建 ip-detect 脚本文件,在安装 DC/OS 的时候,就是通过它进行找到 Mesos master,Agent 进行自动绑定 5050, 5051 等端口的。很重要 - 使用 Mesos 管理节点的路由查找源 IP 地址,然后与该节点通信。
- 在本示例中,我们假设 Mesos 管理节点具有 IP 地址 192.168.66.12
[root@bootstrap ~]# cd genconf/
[root@bootstrap genconf]# vim ip-detect
#!/usr/bin/env bash
set -o nounset -o errexit
MASTER_IP="192.168.66.12"
echo $(ip route show to match $MASTER_IP | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | tail -1)
#授予执行权限
[root@bootstrap genconf]# chmod +x ip-detect
[root@bootstrap genconf]# ./ip-detect
192.168.66.11
3、创建配置文件
注意:下面中的注释,复制到config.yaml文件中一定要删除,以及不可有空格,不然执行下面的shell脚本会有语法报错
[root@bootstrap genconf]# vim config.yaml
---
agent_list:
- 192.168.66.13 #agent节点IP
bootstrap_url: http://<bootstrap_ip>:80
cluster_name: apache-dcos
exhibitor_storage_backend: static
ip_detect_filename: /genconf/ip-detect
log_directory: /genconf/logs
master_discovery: static
master_list:
- 192.168.66.12 #DNS解析服务器地址
oauth_enabled: 'false'
process_timeout: 10000
resolvers:
- 114.114.114.114
- 8.8.8.8
ssh_port: 22 #ssh协议端口
ssh_user: root #ssh连接用户
注意点:
以下是config.yaml中必须有的内容
1. agent_list
2. master_list
3.ssh_user
4.exhibitor_storage_backend
5.ip_detect_filename: /genconf/ip-detect
6.bootstrap_url: http://192.168.66.11:80,这种写法是为了master和agent能够访问到bootstrap节点
4、节点免密认证
- 这里需要实现工作机免密登入到master与agent节点,我这里采用root用户
[root@bootstrap ~]# ssh-keygen -t rsa
[root@bootstrap ~]# ssh-copy-id root@192.168.66.12
[root@bootstrap ~]# ssh-copy-id root@192.168.66.13
#复制工作机SSH_KEY文件到/root/genconf目录下并命名为ssh_key
[root@bootstrap ~]# cp .ssh/id_rsa /root/genconf/ssh_key && chmod 0600 /root/genconf/ssh_key
5、下载安装文件
- 下载 dcos_generate_config 文件 并将其保存到 bootstrap 节点。此文件用于创建自定义的 DC/OS 构建文件
- 可在 此处下载最新、稳定、开源的 DC/OS 生成配置文件,或在 [开源项目网站] 中查找旧版文件。
[root@bootstrap ~]# curl -O https://downloads.dcos.io/dcos/stable/dcos_generate_config.sh
四、安装部署操作
1、生成定制化安装程序
- 在 boo
文章来源(Source):浅时光博客 tstrap 节点运行 DC/OS 安装工具 shell 脚本,生成自定义 DC/OS 构建文件。安装脚本提取 Docker 容器,该容器使用通用 DC/OS 安装工具文件为群集创建自定义 DC/OS 构建文件。构建文件会输出到./genconf/serve/
[root@bootstrap ~]# bash dcos_generate_config.sh
- 执行完脚本之后,现在的目录结构应类似于,会下载一个dcos-genconf的压缩包:
2、托管 DC/OS 安装包
- 通过 NGINX Docker 容器托管 DC/OS 安装包。对于
<your-port>,请指定 bootstrap_url 中使用的端口值
[root@bootstrap ~]# docker run -d -p 80:80 -v $PWD/genconf/serve:/usr/share/nginx/html:ro nginx
3、安装Master节点
#SSH 连接到管理节点。
[root@master ~]# ssh root@192.168.66.12
#创建并导航至新目录。
[root@master ~]# mkdir /tmp/dcos && cd /tmp/dcos
#在 NGINX Docker 容器中下载 DC/OS 安装工具,其中 <bootstrap-ip> 和 <your_port> 在 bootstrap_url.中指定
[root@master dcos]# curl -O http://192.168.66.11:80/dcos_install.sh
#运行以下命令,在管理节点上安装 DC/OS
[root@master dcos]# bash dcos_install.sh master
4、安装Agent节点
- 在每个代理节点上运行以下命令,使用自定义构建文件安装 DC / OS
#SSH 连接到代理节点。
[root@bootstrap ~]# ssh root@192.168.66.13
#创建并导航至新目录。
[root@agent ~]# mkdir /tmp/dcos && cd /tmp/dcos
#在 NGINX Docker 容器中下载 DC/OS 安装工具,其中 <bootstrap-ip> 和 <your_port> 在 bootstrap_url.中指定。
[root@agent dcos]# curl -O http://192.168.66.11:80/dcos_install.sh
- 专用代理节点:
[root@agent dcos]# bash dcos_install.sh slave
- 公共代理节点:
[root@agent dcos]# bash dcos_install.sh slave_public
五、访问Web 界面
访问地址:如果没有问题,则浏览器直接输入master IP地址即可访问到面板界面
- 更改UI界面语言为中文
以上就是本次文章所有知识点,如果文章对你有帮助就动动你那发财的小手,点个赞留个言,给本站加点热度。谢谢支持!





必须 注册 为本站用户, 登录 后才可以发表评论!