k8s、dockers介绍

dockers

重点:联合文件系统、Image分层技术、微服务
k8s: 搭建minikube(安装kubectl、virtuabox)。 四个节点(node)的k8s集群,一个master主节点,三个从节点(工作结点),搭建完成,检查pod验证准确性。在上面做比如负载均衡等,就是玩具级别的验证。

  • Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的linux机器上,实现虚拟化。


    k8s、dockers介绍_第1张图片
    image.png
  • 使用联合文件系统
    1、联合文件系统(UnionFS)是一种轻量级的高性能分层文件系统,它支持将文件系统中的修改信息作为一次提交,并层层叠加,同时可以将不同目录挂载到同一个虚拟文件系统下,应用看到的是挂载的最终结果。
    2、联合文件系统是实现Docker镜像的技术基础。Docker镜像可以通过分层来进行继承。例如,用户基于基础镜像(用来生成其他镜像的基础,往往没有父镜像)来制作各种不同的应用镜像。这些镜像共享同一个基础镜像层,提高了存储效率。此外,当用户改变了一个Docker镜像(比如升级程序到新的版本),则会创建一个新的层(layer)。因此,用户不用替换整个原镜像或者重新建立,只需要添加新层即可。用户分发镜像的时候,也只需要分发被改动的新层内容(增量部分)。

*image分层技术
我们可以镜像可以分层很多个layer,并且他们都有大小和ID,我们可以看到这里有4个layer ID号,最终这个镜像是由他们layer组合而成,并且这个镜像它是只读的,它不能往里面写数据,如果想写数据怎么办呢?我们可以镜像可以分层很多个layer,并且他们都有大小和ID,我们可以看到这里有4个layer ID号,最终这个镜像是由他们layer组合而成,并且这个镜像它是只读的,它不能往里面写数据,如果想写数据怎么办呢?

  • dockers与微服务
    1、站在 Docker 的角度,软件就是容器的组合:业务逻辑容器、数据库容器、储存容器、队列容器......Docker 使得软件可以拆分成若干个标准化容器,然后像搭积木一样组合起来。
    2、这正是微服务(microservices)的思想:软件把任务外包出去,让各种外部服务完成这些任务,软件本身只是底层服务的调度中心和组装层。
    3、微服务很适合用 Docker 容器实现,每个容器承载一个服务。一台计算机同时运行多个容器,从而就能很轻松地模拟出复杂的微服务架构。

dockers与虚拟机

1、 主要解决的问题:
环境配置的难题: 操作系统的设置,各种库和组件的安装。只有它们都正确,软件才能运行。
2、 虚拟机 是一种带环境安装的解决方案。
缺点:

  • 资源占用多。虚拟机独占一部分内存和硬盘空间。
  • 冗余步骤多。虚拟机是完整的操作系统,一些系统级别的操作步骤,往往无法跳过,比如用户登录。
  • 启动慢。启动操作系统需要多久,启动虚拟机就需要多久。

3、 Linux容器 不是模拟一个完整的操作系统,而是对进程进行隔离。
由于容器是进程级别的,相比虚拟机有很多优势:

  • 启动快。容器里面的应用,直接就是底层系统的一个进程,而不是虚拟机内部的进程。
  • 资源占用少。容器只占用需要的资源,不占用那些没有用到的资源;另外,多个容器可以共享资源,虚拟机都是独享资源。
  • 体积小。容器只要包含用到的组件即可,而虚拟机是整个操作系统的打包。
    总之,容器有点像轻量级的虚拟机,能够提供虚拟化的环境,但是成本开销小得多。
k8s、dockers介绍_第2张图片
image.png
k8s、dockers介绍_第3张图片
image.png
k8s、dockers介绍_第4张图片
image.png

你可能感兴趣的:(k8s、dockers介绍)