KoolShare

 找回密码
 立即注册
搜索
查看: 2109|回复: 24

干货满满!10分钟看懂Docker和K8S

[复制链接]

88

主题

617

帖子

2464

积分

初级魔导师

Rank: 6Rank: 6

精华
0
门户文章
1
魔力币
1047
魔法值
10
注册时间
2017-2-1

AC66U

发表于 2019-1-5 19:12:15 | 显示全部楼层 |阅读模式
本文来源于微信公众号鲜枣课堂(ID:xzclasscom),作者: 小枣君,IT之家获授权转载。前情阅读:涨知识!云计算到底是怎么玩的
2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司。

这家公司主要提供基于PaaS的云计算技术服务。具体来说,是和LXC有关的容器技术。

LXC,就是Linux容器虚拟技术(Linux container)
后来,dotCloud公司将自己的容器技术进行了简化和标准化,并命名为——Docker。

Docker技术诞生之后,并没有引起行业的关注。而dotCloud公司,作为一家小型创业企业,在激烈的竞争之下,也步履维艰。
正当他们快要坚持不下去的时候,脑子里蹦出了“开源”的想法。
什么是“开源”?开源,就是开放源代码。也就是将原来内部保密的程序源代码开放给所有人,然后让大家一起参与进来,贡献代码和意见。

Open Source,开源
有的软件是一开始就开源的。也有的软件,是混不下去,创造者又不想放弃,所以选择开源。自己养不活,就吃“百家饭”嘛。
2013年3月,dotCloud公司的创始人之一,Docker之父,28岁的Solomon Hykes正式决定,将Docker项目开源。

Solomon Hykes(今年刚从Docker离职)
不开则已,一开惊人。
越来越多的IT工程师发现了Docker的优点,然后蜂拥而至,加入Docker开源社区。
Docker的人气迅速攀升,速度之快,令人瞠目结舌。
开源当月,Docker 0.1版本发布。此后的每一个月,Docker都会发布一个版本。到2014年6月9日,Docker 1.0版本正式发布。
此时的Docker,已经成为行业里人气最火爆的开源技术,没有之一。甚至像Google、微软、Amazon、VMware这样的巨头,都对它青睐有加,表示将全力支持。
Docker火了之后,dotCloud公司干脆把公司名字也改成了Docker Inc.。
Docker和容器技术为什么会这么火爆?说白了,就是因为它“轻”。
在容器技术之前,业界的网红是虚拟机。虚拟机技术的代表,是VMWareOpenStack

相信很多人都用过虚拟机。虚拟机,就是在你的操作系统里面,装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。

虚拟机,类似于“子电脑”
在“子电脑”里,你可以和正常电脑一样运行程序,例如开QQ。如果你愿意,你可以变出好几个“子电脑”,里面都开上QQ。“子电脑”和“子电脑”之间,是相互隔离的,互不影响。
虚拟机属于虚拟化技术。而Docker这样的容器技术,也是虚拟化技术,属于轻量级的虚拟化
虚拟机虽然可以隔离出很多“子电脑”,但占用空间更大,启动更慢,虚拟机软件可能还要花钱(例如VMWare)。
而容器技术恰好没有这些缺点。它不需要虚拟出整个操作系统,只需要虚拟一个小规模的环境(类似“沙箱”)。

沙箱
它启动时间很快,几秒钟就能完成。而且,它对资源的利用率很高(一台主机可以同时运行几千个Docker容器)。此外,它占的空间很小,虚拟机一般要几GB到几十GB的空间,而容器只需要MB级甚至KB级。

容器和虚拟机的对比
正因为如此,容器技术受到了热烈的欢迎和追捧,发展迅速。
我们具体来看看Docker。
大家需要注意,Docker本身并不是容器,它是创建容器的工具,是应用容器引擎。
想要搞懂Docker,其实看它的两句口号就行。
第一句,是“Build, Ship and Run”。

也就是,“搭建、发送、运行”,三板斧。
举个例子:
我来到一片空地,想建个房子,于是我搬石头、砍木头、画图纸,一顿操作,终于把这个房子盖好了。

结果,我住了一段时间,想搬到另一片空地去。这时候,按以往的办法,我只能再次搬石头、砍木头、画图纸、盖房子。
但是,跑来一个老巫婆,教会我一种魔法。
这种魔法,可以把我盖好的房子复制一份,做成“镜像”,放在我的背包里。

等我到了另一片空地,就用这个“镜像”,复制一套房子,摆在那边,拎包入住。

怎么样?是不是很神奇?
所以,Docker的第二句口号就是:“Build once,Run anywhere(搭建一次,到处能用)”。
Docker技术的三大核心概念,分别是:
  • 镜像(Image)
  • 容器(Container)
  • 仓库(Repository)

我刚才例子里面,那个放在包里的“镜像”,就是Docker镜像。而我的背包,就是Docker仓库。我在空地上,用魔法造好的房子,就是一个Docker容器
说白了,这个Docker镜像,是一个特殊的文件系统。它除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(例如环境变量)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
也就是说,每次变出房子,房子是一样的,但生活用品之类的,都是不管的。谁住谁负责添置。
每一个镜像可以变出一种房子。那么,我可以有多个镜像呀!
也就是说,我盖了一个欧式别墅,生成了镜像。另一个哥们可能盖了一个中国四合院,也生成了镜像。还有哥们,盖了一个非洲茅草屋,也生成了镜像。。。
这么一来,我们可以交换镜像,你用我的,我用你的,岂不是很爽?

于是乎,就变成了一个大的公共仓库。
负责对Docker镜像进行管理的,是Docker Registry服务(类似仓库管理员)。
不是任何人建的任何镜像都是合法的。万一有人盖了一个有问题的房子呢?
所以,Docker Registry服务对镜像的管理是非常严格的。
最常使用的Registry公开服务,是官方的Docker Hub,这也是默认的Registry,并拥有大量的高质量的官方镜像。
好了,说完了Docker,我们再把目光转向K8S。
就在Docker容器技术被炒得热火朝天之时,大家发现,如果想要将Docker应用于具体的业务实现,是存在困难的——编排、管理和调度等各个方面,都不容易。于是,人们迫切需要一套管理系统,对Docker及容器进行更高级更灵活的管理。
就在这个时候,K8S出现了。
K8S,就是基于容器的集群管理平台,它的全称,是kubernetes。

Kubernetes这个单词来自于希腊语,含义是舵手或领航员。K8S是它的缩写,用“8”字替代了“ubernete”这8个字符。
和Docker不同,K8S的创造者,是众人皆知的行业巨头——Google
然而,K8S并不是一件全新的发明。它的前身,是Google自己捣鼓了十多年的Borg系统
K8S是2014年6月由Google公司正式公布出来并宣布开源的。
同年7月,微软、Red Hat、IBM、Docker、CoreOS、Mesosphere和Saltstack等公司,相继加入K8S。
之后的一年内,VMware、HP、Intel等公司,也陆续加入。
2015年7月,Google正式加入OpenStack基金会。与此同时,Kuberentes v1.0正式发布。
目前,kubernetes的版本已经发展到V1.13。
K8S的架构,略微有一点复杂,我们简单来看一下。
一个K8S系统,通常称为一个K8S集群(Cluster)
这个集群主要包括两个部分:
  • 一个Master节点(主节点)
  • 一群Node节点(计算节点)


一看就明白:Master节点主要还是负责管理和控制。Node节点是工作负载节点,里面是具体的容器。
深入来看这两种节点。
首先是Master节点。

Master节点包括API Server、Scheduler、Controller manager、etcd。
API Server是整个系统的对外接口,供客户端和其它组件调用,相当于“营业厅”。
Scheduler负责对集群内部的资源进行调度,相当于“调度室”。
Controller manager负责管理控制器,相当于“大总管”。
然后是Node节点

Node节点包括Docker、kubelet、kube-proxy、Fluentd、kube-dns(可选),还有就是Pod
Pod是Kubernetes最基本的操作单元。一个Pod代表着集群中运行的一个进程,它内部封装了一个或多个紧密相关的容器。除了Pod之外,K8S还有一个Service的概念,一个Service可以看作一组提供相同服务的Pod的对外访问接口。这段不太好理解,跳过吧。
Docker,不用说了,创建容器的。
Kubelet,主要负责监视指派到它所在Node上的Pod,包括创建、修改、监控、删除等。
Kube-proxy,主要负责为Pod对象提供代理。
Fluentd,主要负责日志收集、存储与查询。
是不是有点懵?唉,三言两语真的很难讲清楚,继续跳过吧。
Docker和K8S都介绍完了,然而文章并没有结束。
接下来的部分,是写给核心网工程师甚至所有通信工程师看的
从几十年前的1G,到现在的4G,再到将来的5G,移动通信发生了翻天覆地的变化,核心网亦是如此。
但是,如果你仔细洞察这些变化,会发现,所谓的核心网,其实本质上并没有发生改变,无非就是很多的服务器而已。不同的核心网网元,就是不同的服务器,不同的计算节点。
变化的,是这些“服务器”的形态和接口:形态,从机柜单板,变成机柜刀片,从机柜刀片,变成X86通用刀片服务器;接口,从中继线缆,变成网线,从网线,变成光纤。
就算变来变去,还是服务器,是计算节点,是CPU。
既然是服务器,那么就势必会和IT云计算一样,走上虚拟化的道路。毕竟,虚拟化有太多的优势,例如前文所说的低成本、高利用率、充分灵活、动态调度,等等。
前几年,大家以为虚拟机是核心网的终极形态。目前看来,更有可能是容器化。这几年经常说的NFV(网元功能虚拟化),也有可能改口为NFC(网元功能容器化)。
以VoLTE为例,如果按以前2G/3G的方式,那需要大量的专用设备,分别充当EPC和IMS的不同网元。

VoLTE相关的网元
而采用容器之后,很可能只需要一台服务器,创建十几个容器,用不同的容器,来分别运行不同网元的服务程序。

这些容器,随时可以创建,也可以随时销毁。还能够在不停机的情况下,随意变大,随意变小,随意变强,随意变弱,在性能和功耗之间动态平衡。
简直完美!
5G时代,核心网采用微服务架构,也是和容器完美搭配——单体式架构(Monolithic)变成微服务架构(Microservices),相当于一个全能型变成N个专能型。每个专能型,分配给一个隔离的容器,赋予了最大程度的灵活。

精细化分工
按照这样的发展趋势,在移动通信系统中,除了天线,剩下的部分都有可能虚拟化。核心网是第一个,但不是最后一个。虚拟化之后的核心网,与其说属于通信,实际上更应该归为IT。核心网的功能,只是容器中普通一个软件功能而已。
至于说在座的各位核心网工程师,恭喜你们,马上就要成功转型啦!


评分

3

查看全部评分

12

主题

385

帖子

695

积分

高级魔法师

Rank: 4

精华
0
门户文章
0
魔力币
567
魔法值
0
注册时间
2016-12-14
发表于 2019-1-5 23:21:02 | 显示全部楼层
还是期待大神出教程,希望能用上docker迅雷。

6

主题

274

帖子

218

积分

中级魔法师

Rank: 3Rank: 3

精华
0
门户文章
0
魔力币
183
魔法值
0
注册时间
2016-10-27
QQ
发表于 2019-1-6 00:58:38 来自手机 | 显示全部楼层
学习了 谢谢 支持一下

0

主题

19

帖子

66

积分

初级魔法师

Rank: 2

精华
0
门户文章
0
魔力币
64
魔法值
0
注册时间
2018-11-11
发表于 2019-1-6 09:33:06 | 显示全部楼层
这个厉害了!

1

主题

41

帖子

470

积分

中级魔法师

Rank: 3Rank: 3

精华
0
门户文章
0
魔力币
459
魔法值
0
注册时间
2016-10-24
发表于 2019-1-6 09:53:49 | 显示全部楼层
看了干货稍微懂一点了

5

主题

278

帖子

467

积分

中级魔法师

Rank: 3Rank: 3

精华
0
门户文章
0
魔力币
414
魔法值
5
注册时间
2017-8-6
发表于 2019-1-6 22:11:30 | 显示全部楼层
不明觉厉啊。。。。。

11

主题

466

帖子

1092

积分

大魔法师

Rank: 5Rank: 5

精华
0
门户文章
0
魔力币
950
魔法值
0
注册时间
2016-7-5

DDOS纪念勋章

发表于 2019-1-6 22:42:56 | 显示全部楼层
技术在进步啊.不学习很快就跟不上了.

49

主题

410

帖子

3414

积分

初级魔导师

Rank: 6Rank: 6

精华
0
门户文章
3
魔力币
813
魔法值
30
注册时间
2016-6-7
发表于 2019-1-7 10:53:04 | 显示全部楼层
vmware 现在也有 基于应用的 虚拟了。。
我想设置有图片的签名
SpeedTEST Result

40

主题

160

帖子

421

积分

中级魔法师

Rank: 3Rank: 3

精华
0
门户文章
0
魔力币
317
魔法值
0
注册时间
2017-2-15
发表于 2019-1-7 11:40:06 | 显示全部楼层
看不懂,最好有手把手的图文教程!!

0

主题

13

帖子

30

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
29
魔法值
0
注册时间
2017-11-8
发表于 2019-1-7 17:32:17 | 显示全部楼层
docker简单理解就是个沙箱,资源都是从系统中隔离的,像堆积木一样。

26

主题

761

帖子

7783

积分

高级魔导师

Rank: 8Rank: 8

精华
0
门户文章
0
魔力币
7490
魔法值
0
注册时间
2015-9-14

DDOS纪念勋章R6300R8500EA7500

发表于 2019-1-8 08:35:59 | 显示全部楼层
看看,了解一下、
赖床分子

4

主题

146

帖子

207

积分

中级魔法师

Rank: 3Rank: 3

精华
0
门户文章
0
魔力币
180
魔法值
0
注册时间
2017-11-15
发表于 2019-1-8 11:08:18 | 显示全部楼层
用了docker一段时间了,感谢楼主科普,看懂1/10...
RB4011iGS+hAP ac^2+cAP ac

0

主题

15

帖子

26

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
24
魔法值
0
注册时间
2018-12-26
发表于 2019-1-8 13:17:31 | 显示全部楼层
需要消化一下的,写得很      秒懂

7

主题

363

帖子

779

积分

高级魔法师

Rank: 4

精华
0
门户文章
0
魔力币
674
魔法值
0
注册时间
2017-2-3

R7000

发表于 2019-1-8 15:12:59 | 显示全部楼层
谢谢分享  谢谢

30

主题

658

帖子

1306

积分

大魔法师

Rank: 5Rank: 5

精华
0
门户文章
0
魔力币
972
魔法值
0
注册时间
2015-5-4

R8500DDOS纪念勋章

发表于 2019-1-8 16:42:39 | 显示全部楼层
最后 只留下了天线  和寡姐的超体结局一样 最后 剩个U盘留给你

1

主题

12

帖子

59

积分

初级魔法师

Rank: 2

精华
0
门户文章
0
魔力币
57
魔法值
0
注册时间
2017-12-8
发表于 2019-1-9 06:52:59 | 显示全部楼层
厉害了,恶补啊

6

主题

377

帖子

1636

积分

大魔法师

Rank: 5Rank: 5

精华
0
门户文章
0
魔力币
1511
魔法值
0
注册时间
2016-5-5

DDOS纪念勋章

发表于 2019-1-9 08:35:45 | 显示全部楼层
喜欢这种满满干货的文章

1

主题

19

帖子

118

积分

初级魔法师

Rank: 2

精华
0
门户文章
0
魔力币
114
魔法值
0
注册时间
2015-9-16
发表于 2019-1-9 12:06:29 | 显示全部楼层
群晖里面有个,一直不会用,谢谢分享。

0

主题

135

帖子

473

积分

中级魔法师

Rank: 3Rank: 3

精华
0
门户文章
0
魔力币
452
魔法值
0
注册时间
2016-10-7
发表于 2019-1-9 12:17:37 | 显示全部楼层
写得很棒,有点兴趣想深入了解一下

0

主题

80

帖子

41

积分

魔法学徒

Rank: 1

精华
0
门户文章
0
魔力币
33
魔法值
0
注册时间
2019-1-9
发表于 2019-1-10 12:49:05 | 显示全部楼层
读懂不容易,看晕了

联系我们|手机版|KoolShare ( 沪ICP备13045430号 )

GMT+8, 2019-1-19 13:29 , Processed in 0.086405 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表