• kubernetes与docker


    什么是Docker和kubernetes?

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

    • kubernetes:是一个开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。

    Docker与传统技术比较

    1.虚拟化

    • 传统虚拟技术在将物理硬件虚拟成多套硬件后,需要再每套硬件上都部署一个操作系统,接着在这些操作系统上运行相应的应用程序。

    • Docker容器内的应用程序进程直接运行在宿主机(真实物理机)的内核上,Docker引擎将一些各自独立的应用程序和它们各自的依赖打包,相互独立直接运行于未经虚拟化的宿主机硬件上,同时各个容器也没有自己的内核。

    2.部署

    • 传统技术就是虚拟出的虚拟机装操作系统。

    • Docker是在容器引擎管理下的容器。

        举个不恰当例子:一块很大的蛋糕,要求把这个蛋糕分成8份,每份上面的装饰都不一样。传统技术就是,把蛋糕切成8份分给8个蛋糕师,蛋糕师再设计烹制好后拼接起来;而Docker就好比是,蛋糕师将已经做好的蛋糕样式,像倒模一般的放在主蛋糕上,就利用整个主蛋糕,而不是像前面那种方式,先分配资源给蛋糕师。

        上面这个图是在这些具体运行环境上进行真实应用部署时的情况,传统方式是将所有应用直接部署在同一个物理机器节点上,这样每个App的依赖都是完全相同的,无法做到App之间隔离,当然,为了隔离,我们也可以通过创建虚拟机的方式来将App部署到其中,但这样太过繁重,故比虚拟机更轻便的Docker技术出现,现在我们通过部署Container容器的技术来部署应用,全部Container运行在容器引擎上即可。这个时候为了管理这些容器,就出现了以kubernetes为代表的容器集群管理系统.

    kubernetes就是管理Docker集群,即可以将Docker看成Kubernetes内部使用的低级别组件。 详细介绍见:[https://www.bootwiki.com/note/docker-k8s-10-minutes.html](https://www.bootwiki.com/note/docker-k8s-10-minutes.html)
  • 相关阅读:
    模拟死锁
    B站学习斯坦福大学Swift 语言教程 iOS11 开发【第一集】踩到的几个坑(XCode 13.2.1版本)
    数学之美番外篇:平凡而又神奇的贝叶斯方法
    joj 1753: Street Numbers
    二叉树的三种遍历(递归+非递归)
    joj 1905: Freckles
    joj 2630: A Pair of Graphs(同构图的判定)
    vue3.x 中获取dom元素
    defineProperty 和 Proxy 的区别
    vue 按钮的防抖和节流
  • 原文地址:https://www.cnblogs.com/cc-xiao5/p/12331326.html
Copyright © 2020-2023  润新知