从Kubernetes容器编排技术火热想到的
2021-11-09阅读 95

随着敏捷开发(Agile Development)和开发运维一体化(DevOps)等良好实践逐渐在软件开发领域成为主流,从事软件开发的行业或企业为了逐步适应每次敏捷迭代需交付最小可运行产品(MVP)的产品增量的内在诉求,他们必然要考虑如何把现有的巨石架构所需开发的新功能特性拆解成可以纳入某次迭代交付的产品增量。从而敏捷开发方法的普及无形中加持了企业系统在架构解耦方面的内在诉求。

当产品增量在某次迭代被开发出来后,最好能够实现如DevOps提倡的一次编译,多次的在不同环境间无差别的部署,即所谓的Build One, Run Anywhere。基于云原生的容器化部署和基于Kubernetes的容器编排产品的应用正好完美的解决了DevOps的自动化部署的场景化诉求。

Kubernetes的原意是古希腊文字舵手的意思,目前它是最为流行的容器编排产品。该产品是由著名的互联网公司Google于2015年向市场开源。Kubernetes也称K8S,因为K和S之间有八个字母而得名。以下为Kubernetes(K8S)的整体架构概览图:

我们可以透过容器部署和容器编排工具火热的现象看到其价值的核心本质所在,现通过如下几点总结来整体阐述:

   1、故障隔离域的诉求:目前IT运维的故障域正在从传统的服务器到虚拟机,再到容器。也就是实现充分解耦的应用模块可以做到基于容器的自动化部署,由于容器的部署会自带应用所运行的用户空间的环境,所以容器可以实现基于容器镜像实例在不同环境间的无差别部署。并且,容器之间彼此的运行环境是逻辑隔离的,单个容器所导致的故障损坏不会影响别的容器的正常运行。从而运维可以很好的实现故障诊断和基于容器为单位的秒级恢复,提升了业务应用的可用性和业务数据的可靠性;

   2、替换代替安装的诉求:为了尽快恢复业务,可以采取基于容器为单位的应用模块的秒级​自动替换,从而实现了业务应用的高度容错机制。相较于基于物理服务器的安装配置和虚拟机的镜像或快照回滚,容器的自动重启和替换是一种性价比最优的方案;

  3、简化IT运维的诉求:目前云用户更多关注其应用本身的开发逻辑的实现而不是IT基础设施的搭建和运维,这更加符合其业务价值的切身利益。把承载业务应用的容器的全生命周期的管理交给专业的容器编排产品Kubernetes则显得那样的恰如其分。目前很多云厂商如阿里或华为都适时推出基于Kubernetes版的容器服务,进而提供高性能和可伸缩的容器应用管理服务,支持企业级Kubernetes容器化应用的全生命周期管理。比如某云厂商的云容器实例(Cloud Container Instance)提供基于Kubernetes的无服务器(Serverless)的容器服务,兼容K8S和容器(Docker)原生接口,即用户无需关注集群和服务器,而只要通过简单配置即可快速创建容器负载。

总之,Kubernetes容器编排技术的火热是有其业务价值快速交付和IT运维变革的内在诉求的。业务上云应用云原生的容器化部署服务也会逐渐成为一个必选的最佳实践。