zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    LeetCode Power of Three
    LeetCode Nim Game
    LeetCode,ugly number
    LeetCode Binary Tree Paths
    LeetCode Word Pattern
    LeetCode Bulls and Cows
    LeeCode Odd Even Linked List
    LeetCode twoSum
    549. Binary Tree Longest Consecutive Sequence II
    113. Path Sum II
  • 原文地址:https://www.cnblogs.com/cc-xiao5/p/12331326.html
Copyright © 2011-2022 走看看