中国搜索Kubernetes应用平台部署方案
2019-07-08邵珂蔡国华万国雷
文/邵珂 蔡国华 万国雷
1.项目背景
中国搜索kubernetes应用平台项目是一个PaaS服务平台,以kubernetes为应用基础,整合项目管理系统、CMDB管理系统以及CI/CD的整体运营平台,目的是为向用户提供一个Docker应用的统一管理平台,统一分配、管理资源。将kubernetes的资源管理接口封装为应用功能,实现可视化web管理,极大地降低了kubernetes的使用门槛。我们还计划逐步完善平台内的应用生态环境,提供丰富的组件及接口供用户调用。平台自2018年7月开始研发,10月投入上线,并持续迭代开发新版本。目前,应用平台支持并提供跨网段计算节点、flannel、calico网络、万兆网络分布式存储等资源,已有数十个项目在平台上稳定运行。
2.kubernetes介绍
Kubernetes是Google基于Borg开源的容器编排调度引擎,作为CNCF(Cloud Native Computing Foundation)最重要的组件之一,它的目标不仅仅是一个编排系统,而且提供一个规范,可以让你描述集群的架构,定义服务的最终状态,Kubernetes可以帮你将系统自动地达到和维持在这个状态。Kubernetes作为云原生应用的基石,相当于一个云操作系统。Kubernetes设计理念和功能其实就是一个类似Linux的分层架构,如下图所示。

图1 kubernetes分层设计理念
核心层:Kubernetes最核心的功能是,对外提供API构建高层的应用,对内提供插件式应用执行环境。
应用层:部署(无状态应用、有状态应用、批处理任务、集群应用等)和路由(服务发现、DNS解析等)、Service Mesh(部分位于应用层)。
管理层:系统度量(如基础设施、容器和网络的度量),自动化(如自动扩展、动态Provision等)以及策略管理(RBAC、Quota、PSP、NetworkPolicy等)、Service Mesh(部分位于管理层)。
接口层:kubectl命令行工具、客户端SDK以及集群联邦。……
