Docker Data Center系列(二)- UCP安裝指南

本系列文章演示如何搭建一個mini的雲平臺和DevOps實踐環境。
基於這套實踐環境,能夠部署微服務架構的應用棧,演練提高DevOps實踐能力。html

1 系統要求

1.1 硬件和軟件要求

  • Linux內核版本3.10或更高
  • Docker EE Engine版本17.06.2-ee-8; 的值n在-ee-*後綴必須是8或更高
  • 靜態IP地址

1.2 最低配置

  • 管理節點 8GB RAM
  • 工做節點 4GB RAM
  • 3GB 可用磁盤空間

1.3 推薦配置

  • 管理節點 16GB RAM
  • 管理節點 4個vCPU
  • 25-100GB 可用磁盤空間

1.4 操做系統支持

  • CentOS 7.4 (本文中默認使用的操做系統)
  • Red Hat Enterprise Linux 7.0, 7.1, 7.2, or 7.3
  • Ubuntu 14.04 LTS or 16.04 LTS
  • SUSE Linux Enterprise 12

1.5 其它

  • 同步時區和時間
  • 一致的主機名策略
  • 內部的DNS

1.6 版本適配

  • docker 17.06.2.ee.8+
  • UCP 3.0.2 : DTR 2.5.3
  • UCP 3.0.0 : DTR 2.5.1

注:DDC從UCP 3.0.0開始同時支持swarm和k8s。node

1.7 網絡要求

安裝過程當中UCP節點須要能下載docker官網的資源,若是不能訪問,可經過其它機器下載軟件包,而後執行離線安裝。
如何離線安裝UCP,請參考這裏linux

1.8 使用的端口

在主機上安裝UCP時,須要打開一系列端口以傳入流量。這些端口都將接收來自一組主機的流量,根據主機來源的不一樣,端口可分爲三個Scope:web

  • External:流量經過終端用戶交互從集羣外部到達。
  • Internal:流量從同一集羣中的其餘主機到達。
  • Self:流量只從同一主機上的進程到達。
Hosts Port Scope Purpose
managers, workers TCP 179 Internal Port for BGP peers, used for kubernetes networking
managers TCP 443 (configurable) External, Internal Port for the UCP web UI and API
managers TCP 2376 (configurable) Internal Port for the Docker Swarm manager. Used for backwards compatibility
managers TCP 2377 (configurable) Internal Port for control communication between swarm nodes
managers, workers UDP 4789 Internal Port for overlay networking
managers TCP 6443 (configurable) External, Internal Port for Kubernetes API server
managers, workers TCP 6444 Self Port for Kubernetes API reverse proxy
managers, workers TCP, UDP 7946 Internal Port for gossip-based clustering
managers, workers TCP 10250 Internal Port for Kubelet
managers, workers TCP 12376 Internal Port for a TLS authentication proxy that provides access to the Docker Engine
managers, workers TCP 12378 Self Port for Etcd reverse proxy
managers TCP 12379 Internal Port for Etcd Control API
managers TCP 12380 Internal Port for Etcd Peer API
managers TCP 12381 Internal Port for the UCP cluster certificate authority
managers TCP 12382 Internal Port for the UCP client certificate authority
managers TCP 12383 Internal Port for the authentication storage backend
managers TCP 12384 Internal Port for the authentication storage backend for replication across managers
managers TCP 12385 Internal Port for the authentication service API
managers TCP 12386 Internal Port for the authentication worker
managers TCP 12387 Internal Port for the metrics service
managers TCP 12388 Internal Internal Port for the Kubernetes API Server
a, 若是沒有firewalld,先要安裝firewalld
$ yum install firewalld
b, 開啓防火牆
$ systemctl start firewalld.service
c, 查看端口是否開放
$ firewall-cmd --zone=public --query-port=443/tcp
d, 開放端口
$ firewall-cmd --zone=public --add-port=443/tcp --permanent
e, 重載策略
$ firewall-cmd --reload

2 安裝UCP

2.1 驗證系統要求

安裝UCP的第一步是確保具有UCP安裝運行的全部要求。docker

2.2 安裝Docker EE

確保在全部節點上安裝相同的Docker EE版本。
若是是建立已安裝Docker EE的虛擬機模板,請確保/etc/docker/key.json文件未包含在虛擬機映像中。配置虛擬機時,從新啓動Docker守護程序以生成新/etc/docker/key.json文件。json

CentOS7 安裝 Docker EE,請參考這裏瀏覽器

2.3 安裝UCP

a, SSH到要安裝UCP的主機。
b, 運行以下命令:
# Pull the latest version of UCP
$ docker image pull docker/ucp:3.0.2

# Install UCP
$ docker container run --rm -it --name ucp \
  -v /var/run/docker.sock:/var/run/docker.sock \
  docker/ucp:3.0.2 install \
  --host-address <node-ip-address> \  # 安裝UCP的主機IP
  --interactive

安裝命令會以交互模式運行,安裝過程當中會提示輸入必要的配置值,主要是管理員登陸名和密碼等。安全

安裝完成後,訪問UCP首頁https://<node-ip-address>服務器

使用管理員登陸名和密碼登陸,登陸成功後會進入默認主頁儀表盤網絡

注意:

  • host-address 最好用IP;
  • 安裝過程當中可能須要登陸store.docker.com, 用本身的註冊帳號登陸;
  • 安裝過程當中的輸入值也能夠在命令中以參數方式提供,具體請參考官方文檔。

2.4 受權

a, 轉到Docker Store併購買Docker EE訂閱,購買或免費試用許可。
b, 在UCP Web UI中,導航到管理員設置頁面,在左側菜單中,單擊許可證

c, 單擊上傳許可證,彈出窗口中選擇已經下載好的(.lic)文件,UCP會使用新文件進行更新。

2.5 其它UCP命令

a, 更新UCP
$ docker image pull docker/ucp:3.0.2
    
$ docker container run --rm -it --name ucp -v /var/run/docker.sock:/var/run/docker.sock docker/ucp:3.0.2 upgrade --interactive
b, 重啓UCP
$ docker container run -it --rm --name ucp -v /var/run/docker.sock:/var/run/docker.sock docker/ucp:3.0.2 restart
c, 卸載UCP
$ docker container run --rm -it -v /var/run/docker.sock:/var/run/docker.sock --name ucp docker/ucp:3.0.2 uninstall-ucp --interactive

3 配置UCP

3.1 加入新節點

a, 在UCP Web UI中,導航到共享的資源下的節點頁面,而後單擊添加節點按鈕添加新節點。

b, 在「 添加節點頁面中,選擇節點類型LINUX。其它都默認。
c, 單擊複製圖標

複製docker swarm join節點用於加入羣集的命令。

d, 對於要加入羣集的每一個節點,使用ssh登陸並運行復制的join命令。join命令完成後,該節點將顯示在UCP Web UI中的節點頁面上。

3.2 配置自定義TLS安全認證

全部UCP服務都使用HTTPS,以確保客戶端和UCP之間的全部通訊是加密的。默認狀況下,這是使用不受客戶端工具(如Web瀏覽器)信任的自簽名TLS證書完成的。
所以,當訪問UCP時,瀏覽器會警告不信任UCP或UCP具備無效證書。

能夠將UCP配置爲使用本身的TLS證書,以便瀏覽器和客戶端工具自動信任它。

a, 在UCP Web UI中,導航到管理員設置頁面。
b, 在左側菜單中,單擊證書

c, 上傳證書和密鑰
  • cacert.pem:CA證書。
  • server.pem:服務器證書。
  • server.key:私鑰。

如何爲UCP生成證書和密鑰,請參考這裏

d, 最後,單擊保存使更改生效。

系列文章

Docker Data Center系列(一) - 快速搭建雲原生架構的實踐環境
Docker Data Center系列(二) - UCP安裝指南
Docker Data Center系列(三) - DTR安裝指南
Docker Data Center系列(四) - 離線安裝UCP和DTR
Docker Data Center系列(五) - 使用自定義的TLS安全認證

相關文章
相關標籤/搜索