0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么有了Docker还要Kubernetes

Wildesbeast ? 来源:Go语言中文网 ? 作者:JayL ? 2020-02-12 12:16 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

“一千个读者眼里有一千个哈姆雷特”。同样的话也适用于 Kubernetes,同样的系统在不同的开发人员眼中也是不同的,甚至在不同阶段对于它的理解也截然不同。

在尚未开始使用Kubernetes之前,我认为它是一套非常复杂的系统,各种抽象概念以及复杂的安装过程。差点因为安装不顺,打算就此放弃。理由很简单:既然有了 Docker,为什么还要 Kubernetes?

之所以觉得Kubernetes系统复杂、难,关键是不知道它到底是干啥的?再加上老版本繁琐的安装过程,愿意啃它是需要一点毅力的。现在,就通过一张简单的对比图告诉你,它到底干了啥!

单看图示上部分,发生的变化仅仅是HOST换成了POD,底层网络由真实网络换成了覆盖网络,即虚拟网络。对于APP应用开发者而言, 即使你完全不懂容器技术也没关系.这是Kubernetes的厉害之处,它提供的抽象层对于APP应用开发者而言是完全透明的。应用在POD中和在HOST主机上并没有本质区别。

还是老问题:既然有了 Docker,为什么还要 Kubernetes?

回答这个问题,得从为什么需要引入Docker这个问题先开始。你会说,因为需要容器化部署。那为什么需要容器化部署呢?就这个问题还可以走得更远一点。这里我就偷懒了,先打住。看看容器化部署后出现的新问题,即容器实例越来越多。因为容器实例越来越多,就像鸡蛋太多需要一个篮子来装一样,Kubernetes就是那个篮子。当然这不是一个简单的篮子,此处也不扩展了。

标准答案就是:因为有了 Docker,所以才要Kubernetes。是不是感觉进入一个loop,我也这感觉。

从图中也可以看出,Docker容器技术是Kubernetes平台的基础。容器技术主要作用是隔离,通过对系统的关键资源的隔离,实现了主机抽象。Kubernetes平台则是在抽象主机的基础上,实现了集群抽象。

用一句话做个总结,就是:

容器,提供应用级的系统抽象;Kubernetes,提供应用级的集群抽象。

小结

一篇短文,希望可以帮到还徘徊在Kubernetes大门之外的初学者。当然,新版本Kubernetes已经非常容易安装了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • APP
    APP
    +关注

    关注

    33

    文章

    1587

    浏览量

    74634
  • Docker
    +关注

    关注

    0

    文章

    522

    浏览量

    13162
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    生产环境中Kubernetes容器安全的最佳实践

    随着容器化技术的快速发展,Kubernetes已成为企业级容器编排的首选平台。然而,在享受Kubernetes带来的便利性和可扩展性的同时,安全问题也日益凸显。本文将从运维工程师的角度,深入探讨生产环境中Kubernetes容器
    的头像 发表于 07-14 11:09 ?202次阅读

    docker无法启用怎么解决?

    mengxing@mengxing-virtual-machine:/etc/docker$ sudo systemctl daemon-reload
    发表于 06-23 07:17

    Docker Volume管理命令大全

    Docker Volume管理命令大全
    的头像 发表于 05-28 17:14 ?325次阅读

    Kubernetes Helm入门指南

    Helm 是 Kubernetes 的包管理工具,它允许开发者和系统管理员通过定义、打包和部署应用程序来简化 Kubernetes 应用的管理工作。Helm 的出现是为了解决在 Kubernetes
    的头像 发表于 04-30 13:42 ?2591次阅读
    <b class='flag-5'>Kubernetes</b> Helm入门指南

    Docker Compose的常用命令

    大家好,今天给大家分享Docker Compose的常用命令,以及docker-compose文件的属性。Docker Compose 是一个用于定义和运行多容器 Docker 应用应
    的头像 发表于 04-30 13:40 ?595次阅读

    Docker常用命令大全

    Docker 是一种开源的应用容器引擎,广泛应用于开发、部署和运行分布式应用。掌握 Docker 常用命令对于开发人员和运维人员来说非常重要。本文将为大家整理常用的Docker 命令,并按照功能分为多个部分,帮助你高效使用
    的头像 发表于 04-22 12:47 ?482次阅读

    【技术案例】Android in Docker

    Docker介绍Docker是一个开源的容器化平台,用于打包、分发和运行应用程序。它通过将应用及其所有依赖打包到独立的容器中,确保应用在不同环境中一致运行。Docker提供快速部署、隔离性强和高效
    的头像 发表于 04-02 16:33 ?854次阅读
    【技术案例】Android in <b class='flag-5'>Docker</b>

    Portainer的安装与使用

    Portainer 是一个开源的 DockerKubernetes 管理工具,提供一个直观的 Web 界面,用于简化容器、镜像、网络、卷等资源的管理。
    的头像 发表于 03-18 16:48 ?562次阅读
    Portainer的安装与使用

    Kubernetes包管理工具Helm的安装和使用

    Helm 可以帮助我们管理 Kubernetes 应用程序 - Helm Charts 可以定义、安装和升级复杂的 Kubernetes 应用程序,Charts 包很容易创建、版本管理、分享和分布。
    的头像 发表于 03-13 16:06 ?1320次阅读

    基于Docker镜像逆向生成Dockerfile

    在本文中, 我们将通过理解Docker镜像如何存储数据, 以及如何使用工具查看镜像方方面面的信息来逆向工程一个Docker镜像; 以及如何使用Python的Docker API来构建一个类似Dedockify的工具来创建Dock
    的头像 发表于 03-10 09:45 ?763次阅读
    基于<b class='flag-5'>Docker</b>镜像逆向生成Dockerfile

    Kubernetes Pod常用管理命令详解

    Kubernetes Pod常用管理命令详解
    的头像 发表于 02-17 14:06 ?635次阅读
    <b class='flag-5'>Kubernetes</b> Pod常用管理命令详解

    Kubernetes的CNI网络插件之flannel

    Kubernetes设计网络模型,但却将它的实现讲给网络插件,CNI网络插件最重要的功能就是实现Pod资源能够跨主机通信。
    的头像 发表于 01-02 09:43 ?913次阅读

    k8s和docker区别对比,哪个更强?

    DockerKubernetes(K8s)是容器化技术的两大流行工具。Docker关注构建和打包容器,适用于本地开发和单主机管理;而K8s则提供容器编排和管理平台,适用于多主机或云环境,具备自动化
    的头像 发表于 12-11 13:55 ?818次阅读

    docker和k8s部署在云平台性能要求盘点

    DockerKubernetes在云平台部署时有各自的性能要求。Docker需要足够的CPU、内存和存储资源,以及快速的网络带宽和优化的镜像大小。而Kubernetes则强调集群管理
    的头像 发表于 11-05 10:47 ?634次阅读

    Docker运行环境安装

    作者:京东科技 林中 Docker是一个开放的平台,用于开发、发布和运行应用程序。Docker分离了应用程序和运行应用的基础设施,从而实现软件的快速交付。利用docker提供的一系列
    的头像 发表于 10-29 11:28 ?783次阅读