k8s学习
一、前言
k8s在目前的云原生平台当中基本上一家独大,随着容器市场的发展,对k8s的市场需求不断增大。
kubernetes是一款应用于集群环境当中,进行容器自动部署、扩展项目环境和管理的开源平台,提供了一种以容器为中心的基础架构。可以被应用于各种云环境当中,是一种模块化、钩子化、组合化的工具,可以实现自动布局、自动重启、自动副本和自动伸缩。
为什么要用容器?
传统的应用程序部署是利用操作系统的包管理器在主机上安装应用,这种方法的弊端在于应用程序、配置、支撑库以及生命周期等与主机操作系统纠缠在一起。当然通过虚拟机镜像可以实现可控发布,但是虚拟机比较重量化且可移植性不好。
容器部署的方式是基于操作系统级别的虚拟化而不是硬件层面的虚拟化,容器之间以及容器与主机之间都是相互隔离的,每个容器拥有自己的文件系统、共享资源等。另外,容器的构建也比虚拟机的创建要容易,一般是秒级速度。由于容器不依赖于运行平台和文件系统,因此可以跨越云和操作系统发行版实现可移植性。
k8s能干什么?
k8s可以实现物理集群或虚拟机集群的运行和调度。实现容器的挂载存储系统、分布式加密管理、实例副本创建、负载均衡、滚动升级、资源监控等。