1 整体规划
1.1 拓扑架构
1.2 基础设置
编号 | IP | OS | 主机名 | 角色 | 环境 |
A | 192.168.1.101 | CentOS7.4 | ddc_node01 | Manager | Global |
B | 192.168.1.102 | CentOS7.4 | ddc_node02 | Worker | Data |
C | 192.168.1.103 | CentOS7.4 | ddc_node03 | Worker | Data |
D | 192.168.1.104 | CentOS7.4 | ddc_node04 | Worker | Dev |
E | 192.168.1.105 | CentOS7.4 | ddc_node05 | Worker | Dev |
1.3 DDC组件
组件名 | 安装节点 | 版本 | 说明 |
UCP | 192.168.1.101 | 3.0.0 | 管理节点,服务,镜像,容器,网络,数据卷等。 |
DTR | 192.168.1.102 | 2.5.0 | 管理私有docker镜像库。 |
1.4 配套组件
组件名 | 安装节点 | 说明 |
Jenkins | 192.168.1.101 | 配置CICD任务。 |
GlusterFS | 192.168.1.104, 192.168.1.105 | 为mysql容器提供持久化存储。 |
GitLib | 公司内网服务器 | 源码库。 |
Nexus | 公司内网服务器 | Maven依赖库。 |
DNS | 公司内网服务器 | 如果公司没有,在任意节点上装一个DNS Server。 |
1.5 域名配置
自定义域名 | yourdomain.com |
CNAME | ucp.yourdomain.com 192.168.1.101 dtr.yourdomain.com 192.168.1.102 jenkins.yourdomain.com 192.168.1.101 |
1.6 镜像规划
基础镜像 | 通用镜像 | 应用镜像 |
base | common | app |
openjdk | redis mysql jhipster-registry jhipster-console jhipster-logstash jhipster-elasticsearch jhipster-alerter jhipster-curator jhipster-dashboard jhipster-zipkin |
microservice1 microservice2 micorservice3 |
2 组件安装
2.1 准备工作
安装UCP和DTR时会从docker公共镜像库下载几十个镜像文件,如果不能访问store.docker.com,可以先把镜像文件下载到安装节点上,点击这里下载镜像资源。
2.2 UCP安装
安装节点 | 192.168.1.101 (root) |
安装命令 | docker container run --rm -it --name ucp -v /var/run/docker.sock:/var/run/docker.sock \ |
访问地址 | https://ucp.yourdomain.com |
登录账号 | admin, 密码会在安装时提示设置。 |
注意:安装完成后,要生成并上传CA证书。参考这里。
2.3 DTR安装
安装节点 | 192.168.1.102 (root) |
安装命令 | docker run -it --rm docker/dtr:2.5.0 install \ |
访问地址 | https://dtr.yourdomain.com |
登录账号 | 和UCP一致 |
2.4 安装CA认证
因为UCP会从DTR上拉取镜像来启动服务,UCP要获取DTR的CA证书;安装完UCP和DTR后,在UCP节点上执行以下命令:
curl -k https://dtr.devops.rootcloud.com/ca -o /etc/pki/ca-trust/source/anchors/dtr.devops.rootcloud.com.crt |
update-ca-trust |
systemctl restart docker.service |
更加完整的DDC安装文档,请参考这里。
2.5 GlusterFS安装
安装模式 | 安装位置 |
宿主机(非容器化) | 192.168.1.104 (master) 192.168.1.105 |
具体安装配置,参考这里。
2.6 Jenkins安装
a, 安装jdk,maven,docker。
组件 | 安装模式 | 版本 | 安装节点 | 安装路径 |
openjdk | 宿主机 | 1.8 | /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.*** | |
maven | 宿主机 | 3.5.3 | /usr/local/maven/apache-maven-3.5.3 |
openjdk安装明细,请参考这里; maven安装明细,请参考这里。
b, 安装jenkins
安装模式 | 安装节点 | 端口 |
宿主机 | 192.168.1.101 | 8088 |
c, Jenkins全局设置
菜单 | 项目 | 值 |
系统管理 - 插件管理 | 搜索gitlib, git, maven,docker相关的插件 | 直接安装 |
系统管理 - 配置 | 配置gitlib插件和git插件 | 参考这里 |
系统管理 - 系统配置 | Maven项目配置 - Local Maven Repository | maven安装时设置的本地库: /var/lib/maven/repo |
系统管理 - Global Tool Configuration | Maven Configuration - Default settings provider | /usr/local/maven/apache-maven-3.5.3/conf/settings.xml |
Maven Configuration - Default global settings provider | /usr/local/maven/apache-maven-3.5.3/conf/settings.xml | |
JDK - JDK安装 | /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.*** | |
Git | /usr/local/git | |
Maven - Maven安装 | /usr/local/maven/apache-maven-3.5.3/ | |
Docker - Docker 安装 | name: docker1.17 |
c, 创建Jenkins任务,请参考这里。