## Software
|功能 |組件 |版本|
|---|---|---|
| 操作系統 |centos7.5 |infrastructure server 以上|
|內核|kernel|3.10.0-862.11.6.el7.x86_64 |
|操作系統|ubuntu server|16.04.5 LTS 以上 |
|內核|kernel|4.13|
|k8s集群組件|kubernetes|v1.13.5|
容器|docker-ce|18.06.3.ce-1.el7.centos.x86_64|
|Docker Storage Driver|overlay|
|CNI|flanned(vxlan)|v0.10.0|
|自動化管理平臺|ansible|2.4.2.0-2.el7|
版本控制|git|1.8.3.1-14.el7_5|
|鏡像管理|harbor|v1.5.3|
|Docker Compose|version 1.6.0 or higher|For installation instructions, please refer to: https://docs.docker.com/compose/install/|
|負載均衡|Nginx-Controller|v0.19.0
|平臺監控|prometheus-operator|v0.25.0|
|中間件|rabbitmq|v3.17|
中間件|redis-cluser|v5.0.2|
*****
## windows 平臺系統依賴
* microsoft/windowsservercore:ltsc2016 因系統版權受法律限制 , windows server Docker 鏡像需要甲方自行提供。
* 在 windows server 運行 Docker 服務需要使用Docker EE 商業版本,Docker EE 安裝包需要甲方提供。
* 宿主機操作系統需要使用windows? serve?r 2016 Datacenter 版本不小于Build 14393
[windows 容器參考鏈接](https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/using-insider-container-images)
## 最小基礎硬件需求

*****
## 需求分析及實施方案
### 一鍵部署
kubernetes 集群架構設計圖

利用ansible 實現K8S 集群核心組件自動化部署; 核心組件使用容器化方式部署;
自動化部署組件清單如下:
- kube-apiserver
- kube-controller-manager
- kube-scheduler
- kube-flannel
- kube-proxy
- ingress-nginx-controller
- coredns
- etcd
不支持自動化管理windows server 2016添加為node計算節點。
**windows node 節點,官方推薦使用docker-EE商業服務版本,windows版本功能不包含在SLA 服務標準**。(非標書內容)
### HA-MODE
kube-apiserver 集群化方式部署,實現負載均衡及高可用
etcd 實現集群部署

### 容器負載均衡
在 Kubernetes 集群中,Ingress 是授權入站連接到達集群服務的規則集合,為您提供七層負載均衡能力,您可以通過 Ingress 配置提供外部可訪問的 URL、負載均衡、SSL、基于名稱的虛擬主機等。作為集群流量接入層,Ingress 的高可靠性顯得尤為重要,圖例展示ingress-nginx 集群架構。

> SLB 依賴第三方部署環境,需要第三方自行提供
## 應用發布部署
由管理平臺實現兩種方式發布管理
- 手動上傳資源包,以Deployment 方式部署容器應用
- 實現自動化CI/CD流程(標書以外需求)

### 手動上傳資源包流程
1. 用戶上傳本地XXX.zip 資源包
2. 資源包包含:可執行文件、可編譯Dockerfile文件
3. 平臺自動完成鏡像編譯,并上傳到harbor倉庫。
### 實現自動化CI/CD流程
1. pull代碼
2. 測試registry,并登陸registry.
3. 編寫應用 Dockerfile
4. 構建打包 Docker 鏡像
5. 推送 Docker 鏡像到倉庫
6. 更改 Deployment YAML 文件中參數
7. 利用 kubectl 工具部署應用
8. 檢查應用狀態
### 容器鏡像倉庫
以harbor 為鏡像倉庫平臺架構原型。二次開發容器管理平臺功能如圖
> 詳細功能參閱《容器管理平臺詳細功能說明》
### 平臺監控
以prometheus-operator 為監控平臺架構原型。二次封裝grafana 作為監控告警統一展示平臺。
> 詳細功能參閱《容器管理平臺詳細功能說明》
grafana 容器服務展示效果

### 平臺權限管理
- 登錄功能
- 平臺功能管理權限,接入甲方平臺系統。
> 平臺權限調試 待平臺功能驗收后。乙方協助甲方完成權限平臺接入
## 附件資料及備注說明
容器管理平臺設計原型圖由乙方依照甲方功能需求理解自行設計完成。
[容器管理平臺詳細功能說明](https://www.processon.com/view/link/5bb712e8e4b015327af9af33)