Kubernetes(K8s)+Docker | 助力极海走得更远

对于技术小白来说,初看这个标题就会产生这样的疑问,什么是K8s?什么又是Docker?这两个又是怎么帮助极海走的更远的呢?

故事还要从头说起,早在四月份,极海空间规划辅助编制平台(下文简称“规划平台”)正式上线。
(消息传送门:https://mp.weixin.qq.com/s/m9JNJvgWi9dNuH3KHUNFqQ

规划平台是为规划师提供的高效产品,以云加端的方式落地,是国内率先推出基于微服务集群+容器技术的高效架构的规划领域平台。

而这里, “微服务集群 + 容器技术” ,转换成实打实的技术语言,极海则是采用了 “K8s集群技术 + Docker容器技术” 。

1.容器———改写软件交付方式

容器技术(Linux Container,LXC)是一种内核轻量级的操作系统层虚拟化技术,是把应用程序打包成容器运行,是应用程序级别的虚拟化。容器具有:

  • 极其轻量。容器仅打包应用程序、配置和依赖库,所占存储少,一般为MB级别。
  • 秒级启动。容器启动时间为秒级,虚拟机为分钟级,可大大减少开发、测试、部署的时间。
  • 易于移植。一次构建、随处部署,完全离线的环境也是如此。
  • 接近原生。在容器内运行的应用程序,性能接近原生,远高于在虚拟机内运行的程序。

分层的概念、一次编译随处部署的特性,使得Docker在容器技术的竞争中胜出。Docker通过容器镜像,直接将一个应用运行所需的完整环境,即整个操作系统的文件系统打包进去,如果容器间拥有相同的镜像层还可以进行共用,大大提高了部署效率;且镜像一旦编译完成,便可以在任何Docker环境中运行,我们再也不用像过去一样,因用户环境差异还要数次进行漫长的部署调试。Docker容器镜像已经成为了现代软件交付与分发的事实标准。

2.微服务集群——软件灵活化管理

在使用Docker容器技术的同时,大家发现将Docker真正实现具体业务时较为困难,容器的编排、管理和调度等各个方面,人们迫切需要一套自动化的管理系统,对Docker容器进行高级、灵活的管理。

K8s,就是基于容器的集群管理平台。

K8s是Google开源的容器集群管理系统(谷歌内部:Borg)。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。

K8s是一个完备的分布式系统支撑平台,具有完备的集群管理能力,多扩多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和发现机制、內建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制以及多粒度的资源配额管理能力。同时K8s提供完善的管理工具,涵盖了包括开发、部署测试、运维监控在内的各个环节。

3.“微服务集群 + 容器技术”——让极海走得更远
极海已经在软件实施的道路上熟练的掌握了 “微服务集群 + 容器技术”。

1.实施微服务架构,把软件程序按照功能模块划分为粒度适中的微服务,提升迭代效率;
2.通过Docker技术,以容器镜像的方式交付分发微服务,提升交付效率;
3.是采用K8s作为容器编排和管理工具,实现整个平台的高可靠、易扩展性、易维护的云原生能力。K8s是整个“云原生”理念落地的关键与核心所在。

极海云架构如下图所示。

空间规划已经进入的新的时代,“规划编制”是规划工作的首要环节,是构筑智慧国土空间规划的先发基础。伴随“大智移云”技术逐渐成熟,推动智慧国土空间规划编制工作,如何能优质快速地实现规划编制业务的数字化工作状态,成为当前时间紧、任务重的工作要求。

基于 “微服务集群 + 容器技术” ,极海能够快速响应,以极海云为基础,已经研制并建立了一套集数据管理、空间数据分析、专题图制作为一体的空间规划辅助编制平台。为规划编制人员优化规划编制工作流程,打造高效协同工作模式,从根本上满足和保障智慧规划编制质量和效率。