1. 为什么会出现这一套体系
想象一下各大公司都有着自己需要运行的服务器,应用程序,数据库系统等。这些应用随着时间的流逝,所需要的计算资源和存储资源越来越多,数据库需要存储设备来存储数据,应用程序需要更多的CPU来计算,总不能每次扩增都在自家机房里添置设备,所以,就有很多公司开始提供存储设备服务和容器(计算资源)服务。众多的厂商提供的api都有差异,我购买了这些服务后,还需要花时间来学习这些产品的维护方法(尤其体现在存储设备上),如果一家公司购买了不同厂商的存储服务,那光是掌握这几家的设备API都很费事。基于这样的需求下,产生了kubernetes(作为示例的容器管理平台) + CSI(container storage interface) + opensds 这样一套组合。
2. 什么是kubernetes
首先是kubernetes ,Kubernetes是一种容器编排系统,又称k8s,是google整理了15年来borg的运行经验构建的新的开源产品。主要用于管理云上的多个主机上的容器化应用,简单来说就是管理你买的容器(这个容器我理解为装载运行可执行应用程序的环境)。那我们为什么要用容器呢?简简单单买个服务器不好吗?a. 为什么我要用容器(container)
对于我的一个想要运行的应用程序,可能它不需要完整的操作系统平台(linux、windows等),也不需要很多的资源(一块4核cpu可以运行上千个这样的程序)。所以划分单个虚拟机来给我这个程序实在是太浪费了。容器在这样的条件下出现了,它只配置了运行需要的应用程序最基础的也是必须的环境和计算资源,一台家用pc的配置就可以搭建成千上万个容器。并且,我容器之间是完全隔离的,彼此都不知道对方的存在,有着自己的文件系统。而且容器中的程序出了问题,也能很好的状态回撤之类的。