既然有了Docker, 为什么还要Kubernetes ?

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

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

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

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

既然有了Docker, 为什么还要Kubernetes ?

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

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

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

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

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

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

  • 容器,提供应用级的主机抽象;Kubernetes,提供应用级的集群抽象。

小结

一篇短文,因为写另外一篇文章触发的简单总结。希望可以帮到还徘徊在Kubernetes大门之外的初学者。当然,新版本Kubernetes已经非常容易安装了。

责任编辑:未丽燕 来源: Dockone.in
相关推荐

2024-07-11 10:41:07

HTTPSHTTP文本传输协议

2023-01-12 09:01:01

MongoDBMySQL

2022-07-19 08:01:32

HTTP协议RPC

2023-09-07 08:07:56

goHTTP网络

2022-06-07 08:39:35

RPCHTTP

2020-11-25 09:36:17

HTTPRPC远程

2023-12-11 12:03:14

Python工具元组

2021-09-14 08:50:38

Kubernetes容器Docker

2021-12-20 10:30:33

forforEach前端

2022-09-13 08:44:02

IP网络MAC地址

2024-04-16 08:26:18

IP地址MAC地址

2022-07-12 08:56:18

公平锁非公平锁Java

2023-10-28 00:02:55

2020-11-30 15:40:40

技术资讯

2021-03-16 08:35:14

Kubernetes Docker容器

2022-10-08 00:00:00

websocket协议HTTP

2015-09-01 09:28:55

calayeruiview区别

2019-11-20 10:39:35

iPhone缓存清理

2021-06-04 05:21:19

KubernetesDocker容器

2020-09-16 06:51:37

Java线程JVM
点赞
收藏

51CTO技术栈公众号