Kubernetes是什么?
问:我们怎么扩大或缩小容器?答:我们启动另外一个容器。问:我们如何在容器间分摊负荷?如果当前服务器的负荷达到最大,那我们是否需要另外一个服务器?我们如何最大化硬件使用率?答:唔......呃......(让我搜一下)问:如果在打更新补丁的时候,不影响到所有的服务?如果服务出了问题,如何才能返回之前能正常工作的版本?
Kubernetes可以解决以上所有问题(以及更多问题!)
用一句话总结Kubernetes是什么: Kubernets是容器控制平台,可以抽象所有的底层基础设施(容器运行用到的基础设施) !
底层基础设施的抽象
Kubernetes 通过一个简单的 API 提供底层基础设施的抽象,我们可以向该 API 发送请求。这些请求可以让 Kubernetes 尽最大能力应对。例如,可以简单地要求“Kubernetes 添加映像 x 的 4 个容器。”然后 Kubernetes 会找出使用中的节点,并在内添加新的容器(如图一)
在图一中需要了解的几个概念:
- API server: 与集群交互的唯一方式. 负责启动或停止另外一个容器,或检查当前状态,日志等;
- Kubelet: 监视节点内的容器, 并与主节点交流;
- Pod: 初始阶段可以把pod当成容器;