kubernetes和docker关系简单说明

author author     2023-04-11     343

关键词:

参考技术A 最近项目用到kubernetes(以下简称k8s,k和s之间有8个字母)。虽然之前也有简单使用过,但最近发现k8s概念较多,命令也有些不够用了,故想借此机会写点东西,更全面认识并使用k8s。本篇文章目的:让你更全面了解k8s概念,以及学到在工作中常用的操作。整体更偏向于原理和应用。在正式开始k8s之前,我们先看看k8s和Docker的关系,分别从虚拟化角度、部署方式角度叙述why use容器,话不多说,开干。

目前发现并没有将kubernetes和Docker技术产生背景和需求进行比较的文章,本文从最纯正的官方定义角度出发并展开,阐述二者产生背景及与传统技术对比。

简要介绍:

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

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

与传统技术对比:

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

一、从虚拟化角度:

图1

上图是Docker容器(可用k8s管理的玩意儿)与传统虚拟化方式的不同之处,传统的虚拟技术,在将物理硬件虚拟成多套硬件后,需要再每套硬件上都部署一个操作系统,接着在这些操作系统上运行相应的应用程序。而Docker容器内的应用程序进程直接运行在宿主机(真实物理机)的内核上,Docker引擎将一些各自独立的应用程序和它们各自的依赖打包,相互独立直接运行于未经虚拟化的宿主机硬件上,同时各个容器也没有自己的内核,显然比传统虚拟机更轻便。 每个集群有多个节点,每个节点可,我们的kuberbete就是管理这些应用程序所在的小运行环境(container)而生。

二、从部署角度

图2

注意,大家别把这幅图与上面Docker的那张图混淆了,图1是从虚拟化角度,说明了为应用提供必要的运行环境所需要做的虚拟化操作(即:传统:虚拟出的虚拟机装操作系统、Docker:容器引擎管理下的容器)。

而图2是在这些具体运行环境上进行真实应用部署时的情况,传统方式是将所有应用直接部署在同一个物理机器节点上,这样每个App的依赖都是完全相同的,无法做到App之间隔离,当然,为了隔离,我们也可以通过创建虚拟机的方式来将App部署到其中(就像图1上半部分那样),但这样太过繁重,故比虚拟机更轻便的Docker技术出现,现在我们通过部署Container容器的技术来部署应用,全部Container运行在容器引擎上即可。既然嫌弃虚拟机繁重,想用Docker,那好,你用吧,怎么用呢?手动一个一个创建?当然不,故kubernetes技术便出现了,以kubernetes为代表的容器集群管理系统,这时候就该上场表演了。

说白了,我们用kubernetes去管理Docker集群,即可以将Docker看成Kubernetes内部使用的低级别组件。另外,kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术。希望我这篇文章中简单的描述能让你对两者有所理解和认识。

docker和k8s的关系

Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg),它主要用于 容器编排 启动容器、自动化部署、扩展和管理容器应用和回收容器。k8s的目标是让部署容器化的应用简单并且高效,k8s提供了应用部署、规划... 查看详情

docker从入门到初步掌握(代码片段)

提纲:Docker和Kubernetes关系本人开始今天分享之前想提以前简单的问题,大家可以试试回答。Kubernetes和Docker关系?Kubernetes的作用是管理容器,docker一旦变多,重启,容器通信等一系列过程就需要一个工具来进行管理,这就... 查看详情

2.docker和k8s(kubernetes)有啥关系

参考技术A首先看看k8s[中间8个字母,数过了(逃](Kubernetes)是什么以及为啥会出现这个东西。总的来说,k8s的出现和使用容器进行部署的趋势是分不开的。总的来说,app的部署大致分为三个阶段。最传统的方式中,所有app公用一个... 查看详情

docker入门(二):docker和沙盒、虚拟机以及kubernetes的关系

参考技术A做开发的基本都听说过沙盒(Sandbox)和虚拟机(VirtualMachine,简称VM),如今容器技术很火,其中以docker最受大家欢迎。作为一种集群管理工具,K8s最近也是火的不要不要的。我们经常会讲docker和K8s联系起来,那么两者之间... 查看详情

docker-compose到kubernetes的迁移工具!(代码片段)

...发了Kompose这一工具,他能够自动把DockerCompose应用转换为Kubernetes描述文件。利用一个简单的komposeup 命令,就可以在Kubernetes集群上启动Compose应用。我们非常乐于将其捐献给KubernetesIncubator。下面介绍一下这一工具的开发动机和... 查看详情

docker&kubernetes❀docker容器技术笔记链接梳理

Docker的在线安装、离线安装、配置镜像加速器、配置文件参数详解Docker镜像与容器相关操作基础命令详解Dockerimage镜像原理解析与分层理论说明DockerDatavolume数据卷的使用与原理说明DockerFile保留关键字基本使用方法与相关解释Docke... 查看详情

docker简单说明

前段时间工作需要,简单的研究了下docker。侧重点放在docker的镜像定制方面,后续会研究下k8s的使用。Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试... 查看详情

helm架构-每天5分钟玩转docker容器技术(161)

...chart和release。chart是创建一个应用的信息集合,包括各种Kubernetes对象的配置模板、参数定义、依赖关系、文档说明等。chart是应用部署的自包含逻辑单元。可以将chart想象成apt、yum中的软件安装包。release是chart的运行实例,代表... 查看详情

helm架构-每天5分钟玩转docker容器技术(161)

...chart和release。chart是创建一个应用的信息集合,包括各种Kubernetes对象的配置模板、参数定义、依赖关系、文档说明等。chart是应用部署的自包含逻辑单元。可以将chart想象成apt、yum中的软件安装包。release是chart的运行实例,代表... 查看详情

超全k8s集群构建指南,建议收藏

参考技术A1.什么是kubernetes Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg)。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的... 查看详情

docker&kubernetes❀dockerimage镜像原理解析与分层理论说明(代码片段)

文章目录1、联合文件系统-UnionFS2、Docker镜像加载原理2.1Bootfs2.2Rootfs3、分层的镜像3.1容器服务特点4、Commit操作补充镜像Image是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含... 查看详情

docker&kubernetes❀dockercompose使用方法与相关解释(代码片段)

文章目录1、概念说明2、服务安装3、使用教程3.1常见命令:3.2Compose.yml属性1、概念说明Docker提倡概念是一个容器一个进程,假设一个服务需要多个进程组成,那么就需要多个容器组成一个系统,相互分工和配合对... 查看详情

docker&kubernetes❀dockercompose使用方法与相关解释(代码片段)

文章目录1、概念说明2、服务安装3、使用教程3.1常见命令:3.2Compose.yml属性1、概念说明Docker提倡概念是一个容器一个进程,假设一个服务需要多个进程组成,那么就需要多个容器组成一个系统,相互分工和配合对... 查看详情

k8s和docker区别是啥?

Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg),它主要用于 容器编排 启动容器、自动化部署、扩展和管理容器应用和回收容器。k8s的目标是让部署容器化的应用简单并且高效,k8s提供了应用部署、规划... 查看详情

谷歌的 Borg 和谷歌的 Kubernetes 和 Docker 有啥区别

】谷歌的Borg和谷歌的Kubernetes和Docker有啥区别【英文标题】:What\'sthedifferencebetweenGoogle\'sBorgandGoogle\'sKubernetesandDocker谷歌的Borg和谷歌的Kubernetes和Docker有什么区别【发布时间】:2015-11-3004:29:08【问题描述】:据我所知,Google的Kubern... 查看详情

docker和k8s面试总结

...cmd和entryPoint差异?copy和add的差异?简单讲下swam/compose?2kubernetes常见面试题如下每一点可根据回答进行适当深入2.1什么是k8s?1为什么用k8s解决了什么问题?2k8s有哪些组件,有什么作用?【同:Master节点和Node节点都用哪些组件】3... 查看详情

kubernetes和jenkins——基于kubernetes构建jenkins持续集成平台

基于Kubernetes/K8S构建Jenkins持续集成平台Kubernetes+Docker+Jenkins持续集成架构图Kubernetes+Docker+Jenkins持续集成方案好处Kubeadm安装KubernetesKubernetes的架构安装环境准备安装Docker、kubelet、kubeadm、kubectl安装Docker安装kubelet、 查看详情

k8s和docker区别是啥?

...布到流行的Linux机器上,也可以实现虚拟化。3、k8s的全称kubernetes。它是一个完整的分布式系统支撑平台,集群管理功能齐全。Kubernetes同时提供完善的管理工具,涵盖了开发、部署、测试、运行监控等各个环节。4、Docker是一种开... 查看详情