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

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

1 整體規劃

1.1 拓撲架構

1.2 基礎設置

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

編號

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公司推出的容器化數據中心管理平臺。它的編排核心是swarm,包含2個主要組件UCP和DTR。 與K8s和Mesos DC/OS對比,DDC更加簡潔和易用;安裝包都是免費的,商業許可按節點收費。

組件

全稱

安裝節點

版本

說明

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.104192.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.101dtr.yourdomain.com 192.168.1.102jenkins.yourdomain.com 192.168.1.101

1.6 鏡像規劃

基礎鏡像

通用鏡像

應用鏡像

base

common

app

openjdk

rabbitmqmysqljhipster-registryjhipster-consolejhipster-logstashjhipster-elasticsearchjhipster-alerterjhipster-curatorjhipster-dashboardjhipster-zipkin

base-uaabase-identitybase-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.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安全認證

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章