#k8s# 为何会产生k8s?
很久很久以前,每个系统要申请独立的硬件资源。由于各系统高峰和低谷的资源利用情况不一样,闲置的资源像内存碎片一样无法使用,资源分配僵化,全局硬件利用率不高。Google这种体量的公司首受其害,里面的一帮大佬就琢磨着,资源应该极为弹性,所有的资源都应该在一个池子里,谁想用就拿去,用完了就还回来,这就是云计算的雏形。这个想法过于前瞻,以至于一些以卖药为生的大佬不看好,屡次当众嘲讽,并提出框搜索的概念还击。要实现这个fancy的想法,第一个问题是如何保证资源隔离,各个系统共享资源时不能相互影响。第二个问题是,程序运行环境千千万,怎样统一打包格式便于灵活部署。得益于linux提供的一些底层特性,Docker解决了这两个问题。最后一个问题就是,怎么把这些东西串起来。那么多融合成资源池的机器怎么管理,资源怎么管理,哪台机器现在用了多少,还有多少。怎样执行更高级的资源分配策略。解决了这些,你就能用配置文件或者命令完成某某程序用某某硬件规格部署1000个实例这样的操作了。至于这1000个实例部署在哪些机器上,某机器坏了怎么办,更新时怎么保证服务不down,就不需要人来操心了。