## 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 server 2016 Datacenter 版本不小于Build 14393
[windows 容器参考链接](https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/using-insider-container-images)
## 最小基础硬件需求
![](https://box.kancloud.cn/53cda934353490ecce05c6959219eae3_471x284.jpg)
*****
## 需求分析及实施方案
### 一键部署
kubernetes 集群架构设计图
![](http://assets.processon.com/chart_image/5ad55cefe4b04721d61f6f0b.png?_=1543213715200)
利用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 实现集群部署
![image](https://raw.githubusercontent.com/kubernetes-incubator/kubespray/master/docs/figures/loadbalancer_localhost.png)
### 容器负载均衡
在 Kubernetes 集群中,Ingress 是授权入站连接到达集群服务的规则集合,为您提供七层负载均衡能力,您可以通过 Ingress 配置提供外部可访问的 URL、负载均衡、SSL、基于名称的虚拟主机等。作为集群流量接入层,Ingress 的高可靠性显得尤为重要,图例展示ingress-nginx 集群架构。
![image](http://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/assets/img/7250/15350771711101_zh-CN.png)
> SLB 依赖第三方部署环境,需要第三方自行提供
## 应用发布部署
由管理平台实现两种方式发布管理
- 手动上传资源包,以Deployment 方式部署容器应用
- 实现自动化CI/CD流程(标书以外需求)
![image](http://on-img.com/chart_image/5b85fa2ae4b0d4d65beb7c06.png?_=1539174099476)
### 手动上传资源包流程
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://box.kancloud.cn/eefe28cca9ead3673fe1e548cfe04b0a_1793x655.png)
### 平台权限管理
- 登录功能
- 平台功能管理权限,接入甲方平台系统。
> 平台权限调试 待平台功能验收后。乙方协助甲方完成权限平台接入
## 附件资料及备注说明
容器管理平台设计原型图由乙方依照甲方功能需求理解自行设计完成。
[容器管理平台详细功能说明](https://www.processon.com/view/link/5bb712e8e4b015327af9af33)