Docker Data Center系列(一)- 快速搭建雲原生架構的實踐環境

本系列文章演示如何快速搭建一個簡單的雲原生架構的實踐環境。
基於這個基礎架構,能夠持續部署微服務架構的應用棧,演練敏捷開發過程,提高DevOps實踐能力。html

1 總體規劃

1.1 拓撲架構

1.2 基礎設置

硬件配置
最低:2核 CPU,4G 內存,30G 硬盤。
建議:8核 CPU,16G 內存,100G 硬盤。java

編號 IP OS 主機名 角色 環境 說明
A 192.168.1.101 CentOS7.4 ddc_node01 Manager Global 運行UCP和Jenkins的節點
B 192.168.1.102 CentOS7.4 ddc_node02 Worker Global 運行DTR的節點
C 192.168.1.103 CentOS7.4 ddc_node03 Worker Data 運行有狀態服務容器的節點
D 192.168.1.104 CentOS7.4 ddc_node04 Worker Dev 運行無狀態服務容器和GFS Server的節點
E 192.168.1.105 CentOS7.4 ddc_node05 Worker Dev 運行無狀態服務容器和GFS Server的節點

1.3 DDC

DDC是Docker Data Center的簡稱,是Docker公司推出的容器化數據中心管理平臺,也稱做Docker 企業版。它的編排核心是swarm,包含2個主要組件UCP和DTR。
與K8s和Mesos DC/OS對比,DDC更加簡潔和易用;安裝包都是免費的,商業許可按節點收費。node

組件 全稱 安裝節點 版本 說明
UCP Universal Control Plane 192.168.1.101 3.0.0 管理節點,服務,鏡像,容器,網絡,數據卷等。
DTR Docker Trusted Registry 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容器提供持久化存儲。
GitLab 192.168.1.102 源碼庫。
Nexus 192.168.1.102 Maven依賴庫。
DNS 192.168.1.101 域名服務器。

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 rabbitmq
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,請參考這裏mysql

2.2 UCP安裝

安裝節點 192.168.1.101
域名設置 https://ucp.yourdomain.com
管理帳號 admin,密碼會在安裝時提示。

在安裝節點上執行命令:git

$ 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安裝文檔,請參考這裏sql

2.3 DTR安裝

安裝節點 192.168.1.102
域名設置 https://dtr.yourdomain.com
管理帳號 admin,密碼和UCP一致。

在安裝節點上執行命令:docker

$ 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安裝文檔,請參考這裏apache

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.8 192.168.1.101 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.***
maven 宿主機 3.5.3 192.168.1.101 /usr/local/maven/apache-maven-3.5.3
docker 宿主機 17.06.2-ee-10 192.168.1.101 /usr/bin/
b, 安裝jenkins
安裝模式 安裝節點 *端口
宿主機 192.168.1.101 8088

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 Repository maven安裝時設置的本地庫:/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安全認證

相關文章
相關標籤/搜索