Docker Data Center系列(一)- 快速搭建云原生架构的实践环境

本系列文章演示如何快速搭建一个简单的云原生架构的实践环境。
基于这个基础架构,可以持续部署微服务架构的应用栈,演练敏捷开发过程,提升DevOps实践能力。

1 整体规划

1.1 拓扑架构

1428428-20181023200332887-1979491785.png

1.2 基础设置

硬件配置
最低:2核 CPU,4G 内存,30G 硬盘。
建议:8核 CPU,16G 内存,100G 硬盘。

编号IPOS主机名角色环境说明
A192.168.1.101CentOS7.4ddc_node01ManagerGlobal运行UCP和Jenkins的节点
B192.168.1.102CentOS7.4ddc_node02WorkerGlobal运行DTR的节点
C192.168.1.103CentOS7.4ddc_node03WorkerData运行有状态服务容器的节点
D192.168.1.104CentOS7.4ddc_node04WorkerDev运行无状态服务容器和GFS Server的节点
E192.168.1.105CentOS7.4ddc_node05WorkerDev运行无状态服务容器和GFS Server的节点

1.3 DDC

DDC是Docker Data Center的简称,是Docker公司推出的容器化数据中心管理平台,也称作Docker 企业版。它的编排核心是swarm,包含2个主要组件UCP和DTR。
与K8s和Mesos DC/OS对比,DDC更加简洁和易用;安装包都是免费的,商业许可按节点收费。

组件全称安装节点版本说明
UCPUniversal Control Plane192.168.1.1013.0.0管理节点,服务,镜像,容器,网络,数据卷等。
DTRDocker Trusted Registry192.168.1.1022.5.0管理内部docker镜像库。

1.4 配套组件

组件名安装节点说明
Jenkins192.168.1.101配置CICD任务。
GlusterFS192.168.1.104
192.168.1.105
为mysql容器提供持久化存储。
GitLab192.168.1.102源码库。
Nexus 192.168.1.102Maven依赖库。
DNS 192.168.1.101域名服务器。

1.5 域名配置

自定义域名yourdomain.com
CNAMEucp.yourdomain.com 192.168.1.101
dtr.yourdomain.com 192.168.1.102
jenkins.yourdomain.com 192.168.1.101

1.6 镜像规划

基础镜像通用镜像应用镜像
basecommonapp
openjdkrabbitmq
mysql
jhipster-registry
jhipster-console
jhipster-logstash
jhipster-elasticsearch
jhipster-alerter
jhipster-curator
jhipster-dashboard
jhipster-zipkin
base-uaa
base-identity
base-gateway

2 组件安装

2.1 准备工作

安装UCP和DTR时会从docker公共镜像库下载几十个镜像文件,如果不能访问store.docker.com,可以先把镜像文件下载到本地,然后离线安装。
如何离线安装UCP和DTR,请参考这里

2.2 UCP安装

安装节点192.168.1.101
域名设置https://ucp.yourdomain.com
管理账号admin,密码会在安装时提示。

在安装节点上执行命令:

 $ docker container run --rm -it --name ucp -v /var/run/docker.sock:/var/run/docker.sock docker/ucp:3.0.0 install --host-address 192.168.1.101 --interactive

更加完整的UCP安装文档,请参考这里

2.3 DTR安装

安装节点192.168.1.102
域名设置https://dtr.yourdomain.com
管理账号admin,密码和UCP一致。

在安装节点上执行命令:

$ docker run -it --rm docker/dtr:2.5.0 install --dtr-external-url https://dtr.yourdomain.com --ucp-node tx-aaw001 --ucp-username admin --ucp-url https://ucp.yourdomain.com --ucp-insecure-tls

更加完整的DTR安装文档,请参考这里

2.4 获取DTR认证

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

2.5 GlusterFS安装

安装模式安装位置
宿主机192.168.1.104 (master)
192.168.1.105

​更加完整的GlusterFS安装文档,请参考这里

2.6 Jenkins安装

a, 安装软件包
软件包安装模式版本安装节点安装路径
openjdk宿主机1.8192.168.1.101/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.***
maven宿主机3.5.3192.168.1.101/usr/local/maven/apache-maven-3.5.3
docker宿主机17.06.2-ee-10192.168.1.101/usr/bin/
b, 安装jenkins
安装模式安装节点*端口
宿主机192.168.1.1018088

Jenkins安装明细,请参考这里

c, Jenkins全局设置
菜单项目内容
系统管理 - 插件管理搜索gitlab, git, maven,docker相关的插件直接安装重要插件:Maven Integration,Maven Artifact ChoiceListProvider (Nexus),GitLab,Gitlab Hook,Build Authorization Token Root,CloudBees Docker Build and Publish,Docker-build-step,Docker。
系统管理 - 配置配置gitlab插件和git插件参考这里
系统管理 - 系统配置Maven项目配置 - Local Maven Repositorymaven安装时设置的本地库:/var/lib/maven/repo
系统管理 - 全局工具配置Maven Configuration - Default settings provider/usr/local/maven/apache-maven-3.5.4/conf/settings.xml
Maven Configuration - Default global settings provider/usr/local/maven/apache-maven-3.5.4/conf/settings.xml
JDK - JDK安装/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.***
Maven - Maven安装/usr/local/maven/apache-maven-3.5.4/
Git - Git安装/usr/local/git/bin/git
注意:路径里包括可执行文件的名字(最后那个git)
Docker - Docker 安装name: docker17.06.2-ee-10,Installation root: /usr/bin/
d, 创建Jenkins任务

更加完整的任务配置说明,请参考这里

系列文章

Docker Data Center系列(一) - 快速搭建云原生架构的实践环境
Docker Data Center系列(二) - UCP安装指南
Docker Data Center系列(三) - DTR安装指南
Docker Data Center系列(四) - 离线安装UCP和DTR
Docker Data Center系列(五) - 使用自定义的TLS安全认证

转载于:https://www.cnblogs.com/yorkwu/p/9230352.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值