关于java:k8s-和-Docker-是什么关系

35次阅读

共计 1622 个字符,预计需要花费 5 分钟才能阅读完成。

这篇文章次要介绍了 k8s 和 Docker 关系简略阐明, 本文利用图文解说的很透彻,有须要的同学能够钻研下

最近我的项目用到 kubernetes(以下简称 k8s,k 和 s 之间有 8 个字母)。

尽管之前也有简略应用过,但最近发现 k8s 概念较多,命令也有些不够用了,故想借此机会写点货色,更全面意识并应用 k8s。

本篇文章目标: 让你更全面理解 k8s 概念,以及学到在工作中罕用的操作。整体更偏差于原理和利用。在正式开始 k8s 之前,咱们先看看 k8s 和 Docker 的关系,别离从虚拟化角度、部署形式角度叙述 why use 容器,话不多说,开干。

目前发现并没有将 kubernetes 和 Docker 技术产生背景和需要进行比拟的文章,本文从最纯正的官网定义角度登程并开展,论述二者产生背景及与传统技术比照。

简要介绍:

官网定义 1 :Docker 是一个开源的利用容器引擎,开发者能够打包他们的利用及依赖到一个可移植的容器中,公布到风行的 Linux 机器上,也可实现虚拟化。

官网定义 2 :k8s 是一个开源的容器集群管理系统,能够实现容器集群的自动化部署、主动扩缩容、保护等性能。

与传统技术比照:

接下来咱们看两张经典的图:

一、从虚拟化角度:

上图是 Docker 容器(可用 k8s 治理的玩意儿)与传统虚拟化形式的不同之处:传统的虚构技术在将物理硬件虚构成多套硬件后,须要在每套硬件上都部署一个操作系统,接着在这些操作系统上运行相应的应用程序。

而 Docker 容器内的应用程序过程间接运行在宿主机 (实在物理机) 的内核上,Docker 引擎将一些各自独立的应用程序和它们各自的依赖打包,互相独立间接运行于未经虚拟化的宿主机硬件上,同时各个容器也没有本人的内核,显然比传统虚拟机更轻便。每个集群有多个节点,每个节点可运行多个容器,咱们的 kuberbete 就是治理这些应用程序所在的小运行环境(container)而生。

二、从部署角度

留神,大家别把这幅图与下面 Docker 的那张图混同了,图 1 是从虚拟化角度,阐明了为利用提供必要的运行环境所须要做的虚拟化操作(即:传统:虚构出的虚拟机装操作系统、Docker:容器引擎治理下的容器)。

而图 2 是在这些具体运行环境上进行实在利用部署时的状况,传统形式是将所有利用间接部署在同一个物理机器节点上,这样每个 App 的依赖都是完全相同的,无奈做到 App 之间隔离,当然,为了隔离,咱们也能够通过创立虚拟机的形式来将 App 部署到其中(就像图 1 上半局部那样),但这样太过沉重,故比虚拟机更轻便的 Docker 技术呈现,当初咱们通过部署 Container 容器的技术来部署利用,全副 Container 运行在容器引擎上即可。

既然厌弃虚拟机沉重,想用 Docker,那好,你用吧,怎么用呢?手动一个一个创立?当然不,故 kubernetes 技术便呈现了,以 kubernetes 为代表的容器集群管理系统,这时候就该上场表演了。

说白了,咱们用 kubernetes 去治理 Docker 集群,即能够将 Docker 看成 Kubernetes 外部应用的低级别组件。另外,kubernetes 不仅仅反对 Docker,还反对 Rocket,这是另一种容器技术。心愿我这篇文章中简略的形容能让你对两者有所了解和意识。

更多 Docker 系列教程请关注公众号浏览以前的文章。

原文链接:https://blog.csdn.net/yanghao…

版权申明:本文为 CSDN 博主「Harlan60」的原创文章,遵循 CC 4.0 BY-SA 版权协定,转载请附上原文出处链接及本申明。

近期热文举荐:

1.600+ 道 Java 面试题及答案整顿(2021 最新版)

2. 终于靠开源我的项目弄到 IntelliJ IDEA 激活码了,真香!

3. 阿里 Mock 工具正式开源,干掉市面上所有 Mock 工具!

4.Spring Cloud 2020.0.0 正式公布,全新颠覆性版本!

5.《Java 开发手册(嵩山版)》最新公布,速速下载!

感觉不错,别忘了顺手点赞 + 转发哦!

正文完
 0