K8S 带来了什么?有什么益处?
细化分工:
- 开发 不再需要去关心线上环境的基础设施(什么系统、什么基础库等等)
- 运维 不再需要去关心开发所提供的程序需要怎样的基础设施,比如系统、基础库等等
这使得这两者的工作可以解耦。开发只需要关心实现好业务逻辑,描述好所需要的资源数量(比如某个服务需要运行多少个实例,一共要求多少 CPU 及内存);运维只需要维护好稳定的 k8s 集群,使得资源调试能正常工作。
适应微服务架构:微服务架构所产生的服务数量多,不同服务对 scaling 的需求不一致,k8s 可以比较好的处理。
继承自容器技术的益处:
- 各服务方便的、隔离的运行环境
- 开发环境与线上环境一致
但值得注意的是,k8s 从设计理念上,并不一定需要搭配容器技术来使用。它的核心是资源调度,而容器是当前环境下适合用来包裹程序及其资源需要的技术。如果有另外一种技术也可以达成相应目标,它也可以被调度。