Kubernetes是一个容器编排引擎,主要用于容器自动化部署,自动扩容和容器化应用(如docker)的管理。
不同的部署方式
传统方式: 所有的应用程序共用所有的硬件资源。如果某一个应用占用资源比较多的话,另外的应用程序就会减少到占用相同资源的机会。
虚拟部署方式:在同一个机器上部署多个不同的虚拟机,这些虚拟机之间互相不影响资源的占用。每个虚拟机都有一个自己独立的操作系统,所有这种部署方式虚拟机本身对资源的占用就比较多,而且同一个物理机器上能部署的虚拟机数量也是有限的。
容器化部署:所有的容器共享机器本身的操作系统,每个容器本身都有自身的一套文件系统,容器之间互相不影响,这种方式相对于虚拟部署方式就会更轻量。
为什么需要kubernets?
由于容器化部署越来越受到青睐,但是如果手动部署和管理这些容器,容器就会存在宕机事件,这样是不能接受的。同时手动部署也容易出现人为错误,所有kubernetes就出现了,他可以帮我们解决这些问题。
Kubernetes主要能做下面这些事情:
- 服务发现和负载均衡
- 存储编排:允许自动挂载所需的存储系统,如本地储存,公共云提供商等。
- 自动部署和回滚
- 自动完成装箱计算:允许指定每个容器所需的CPU和内存(RAM)
- 自我修复
- 密钥与配置管理: