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

  • 时间:
  • 浏览:0
  • 来源:10分6合-10分彩平台_10分快3网投平台

IT之家注:本文来源于微信公众号鲜枣课堂(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版本发布。此后的每另另4个 月,Docker后该发布另另4个 版本。到2014年6月9日,Docker 1.0版本正式发布。

此时的Docker,前一天成为行业里人气最火爆的开源技术,这麼之一。甚至像Google、微软、Amazon、VMware这麼 的巨头,都对它青睐有加,表示将全力支持。

Docker火了前一天,dotCloud公司干脆把公司名字也改成了Docker Inc.。

Docker和容器技术为那先 会这麼火爆?说白了,本来我 前一天它“轻”。

在容器技术前一天,业界的颜值男是虚拟机。虚拟机技术的代表,是VMWareOpenStack

相信本来我人都用过虚拟机。虚拟机,本来我 在你的操作系统里面,装另另4个 软件,为什让通过你这俩 软件,再模拟一台甚至多台“子电脑”出来。

虚拟机,相似于“子电脑”

在“子电脑”里,让人和正常电脑一样运行线程池,相似开QQ。前一天你愿意,让人变出好几次“子电脑”,里面都开上QQ。“子电脑”和“子电脑”之间,是相互隔离的,互不影响。

虚拟机属于虚拟化技术。而Docker这麼 的容器技术,也是虚拟化技术,属于轻量级的虚拟化

虚拟机我觉得 能都还能不能 隔离出本来我“子电脑”,但占用空间更大,启动太快了 ,虚拟机软件前一天前要花钱(相似VMWare)。

而容器技术恰好这麼那先 缺点。它不前要虚拟出整个操作系统,只前要虚拟另另4个 小规模的环境(相似“沙箱”)。

沙箱

它启动时间太快了 ,几秒钟就能完成。为什让,它对资源的利用率很高(一台主机能都还能不能 并肩运行几千个Docker容器)。此外,它占的空间很小,虚拟机一般要几GB到几十GB的空间,而容器只前要MB级甚至KB级。

容器和虚拟机的对比

正前一天这麼,容器技术受到了热烈的欢迎和追捧,发展太快了 。

亲戚我门具体来看看Docker。

亲戚我门前要注意,Docker三种并后该容器,它是创建容器的工具,是应用容器引擎。

愿意搞掂Docker,我觉得 看它的两句口号就行。

第一句,是“Build, Ship and Run”。

也本来我 ,“搭建、发送、运行”,三板斧。

举个例子:

我来到一片空地,想建个房子,于是我搬石头、砍木头、画图纸,一顿操作,终于把你这俩 房子盖好了。

结果,我住了一段时间,想搬到另一片空地去。这前一天,按以往的妙招,我这麼再次搬石头、砍木头、画图纸、盖房子。

为什让,跑来另另4个 老巫婆,教会我三种魔法。

你这俩 魔法,能都还能不能 把我盖好的房子复制一份,做成“镜像”,放进我的背包里。

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

为什会 样?是后该很神奇?

本来我,Docker的第二句口号本来我 :“Build once,Run anywhere(搭建一次,到处能用)”。

Docker技术的三大核心概念,分别是:

  • 镜像(Image)

  • 容器(Container)

  • 仓库(Repository)

我刚才例子里面,那个放进包里的“镜像”,本来我 Docker镜像。而我的背包,本来我 Docker仓库。我在空地上,用魔法造好的房子,本来我 另另4个 Docker容器

说白了,你这俩 Docker镜像,是另另4个 特殊的文件系统。它除了提供容器运行时所需的线程池、库、资源、配置等文件外,还中含了之后 为运行时准备的之后 配置参数(相似环境变量)。镜像不中含任何动态数据,其内容在构建前一天本来我 会被改变。

也本来我 说,每次变出房子,房子是一样的,但生活用品相似的,后该不管的。谁住谁负责添置。

每另另4个 镜像能都还能不能 变出三种房子。这麼,帮我有多个镜像呀!

也本来我 说,我盖了另另4个 欧式豪宅别墅图片 ,生成了镜像。这麼 哥们前一天盖了另另4个 中国四合院,也生成了镜像。还有哥们,盖了另另4个 非洲茅草屋,也生成了镜像。。。

这麼一来,亲戚我门能都还能不能 交换镜像,你用我的,我用你的,我觉得 很爽?

于是乎,就变成了另另4个 大的公共仓库。

负责对Docker镜像进行管理的,是Docker Registry服务(相似仓库管理员)。

后该任何人建的任何镜像后该合法的。万一另一个人盖了另另4个 有什么的什么的问题 的房子呢?

本来我,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的架构,略微有之后 比较复杂,亲戚我门简单来看一下。

另另4个 K8S系统,通常称为另另4个 K8S集群(Cluster)

你这俩 集群主要包括另另4个 主次:

  • 另另4个 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最基本的操作单元。另另4个 Pod代表着集群中运行的另另4个 线程池,它内部人员封装了另另4个 或多个紧密相关的容器。除了Pod之外,K8S还有另另4个 Service的概念,另另4个 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),大概另另4个 全能型变成N个专能型。每个专能型,分配给另另4个 隔离的容器,赋予了最大程度的灵活。

精细化分工

按照这麼 的发展趋势,在移动通信系统中,除了天线,剩下的主次后该前一天虚拟化。核心网是第另另4个 ,但后该最后另另4个 。虚拟化前一天的核心网,与其说属于通信,实际上更应该归为IT。核心网的功能,本来我 容器中普通另另4个 软件功能而已。

至于说在座的各位核心网工程师,恭喜亲戚我门,马上就要成功转型啦!