文章目录
学习k8s,首先先了解一下docker容器。
docker
docker容器是一种开放源码应用容器引擎,开发人员可以把应用打包到容器,发布到linux系统实现虚拟化。
docker三要素:容器,镜像,仓库
三者关系
仓库内部存放镜像,使用镜像生成容器。
docker镜像
这个Docker镜像,是一个特殊的文件系统。它除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(例如环境变量)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
Docker Hub
任何人都可以创建镜像,于是乎,仓库就变得越来越大。(因为每个人的镜像都要存到仓库)
(这个就类似于maven依赖了,谁都可以写一段代码,打成jar包,发到maven仓库。)
仓库越大,就越需要有人管理他们,不然如果镜像有问题呢?
这个仓库管理员 就是Docker Registry服务
最常使用的Registry公开服务,是官方的Docker Hub,这也是默认的Registry,并拥有大量的高质量的官方镜像。
k8s
而k8s,其实就是这种容器的集群管理系统。可实现自动化部署、扩展容量、维护容器集群的功能。
容器集群管理系统以 kubernetes为代表,使用 kubernetes来管理 Docker集群,也就是说, Docker可以被看作是 Kubernetes内部使用的低级组件。此外, kubernetes不仅支持 Docker,也支持 Rocket,这是另一种容器技术。
而且 Docker容器中的应用程序进程直接运行在宿主机(真实的物理机)的内核上, Docker引擎将一些各自独立的应用程序打包,它们各自独立地运行于未虚拟化的宿主硬件上,同时每个容器都没有自己的内核,显然比传统虚拟机更轻。