容器云计算技术学习--Docker和K8S

虚拟化技术已经走过了三个时代,没有容器化技术的演进就不会有 Docker 技术的诞生

(1)物理机时代:多个应用程序可能会跑在一台机器上。

(2)虚拟机时代:一台物理机器安装多个虚拟机(VM),一个虚拟机跑多个程序。

(3)容器化时代:一台物理机安装多个容器实例(container),一个容器跑多个程序。

容器化时代

容器化解决了软件开发过程中一个令人非常头疼的问题,用一段对话描述:

测试人员:你这个功能有问题。
开发人员:我本地是好的啊。

开发人员编写代码,在自己本地环境测试完成后,将代码部署到测试或生产环境中,经常会遇到各种各样的问题。明明本地完美运行的代码为什么部署后出现很多 bug,原因有很多:不同的操作系统、不同的依赖库等,总结一句话就是因为本地环境和远程环境不一致。

容器化技术正好解决了这一关键问题,它将软件程序和运行的基础环境分开。开发人员编码完成后将程序打包到一个容器镜像中,镜像中详细列出了所依赖的环境,在不同的容器中运行标准化的镜像,从根本上解决了环境不一致的问题。

Docker

传统的虚拟技术,在将物理硬件虚拟成多套硬件后,需要再每套硬件上都部署一个操作系统,接着在这些操作系统上运行相应的应用程序。虚拟机,就是在你的操作系统里面装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。

在“子电脑”里,你可以和正常电脑一样运行程序,例如开QQ。如果你愿意,你可以变出好几个“子电脑”,里面都开上QQ。“子电脑”和“子电脑”之间,是相互隔离的,互不影响。虚拟机属于虚拟化技术。传统方式是将所有应用直接部署在同一个物理机器节点上,这样每个App的依赖都是完全相同的,无法做到App之间隔离,当然,为了隔离,我们也可以通过创建虚拟机的方式来将App部署到其中但这样太过繁重,故比虚拟机更轻便的Docker技术出现,而Docker这样的容器技术,也是虚拟化技术,属于轻量级的虚拟化。

虚拟机虽然可以隔离出很多“子电脑”,但占用空间更大,启动更慢,虚拟机软件可能还要花钱(例如VMWare)。而容器技术恰好没有这些缺点。它不需要虚拟出整个操作系统,只需要虚拟一个小规模的环境(类似“沙箱”)。注意,Docker本身并不是容器,它是创建容器的工具,是应用容器引擎。

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

镜像(Image)

这个Docker镜像,是一个特殊的文件系统。它除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(例如环境变量)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。

容器(Container)

仓库(Repository)

负责对Docker镜像进行管理的,是Docker Registry服务(类似仓库管理员)。不是任何人建的任何镜像都是合法的。万一有人盖了一个有问题的房子呢?所以,Docker Registry服务对镜像的管理是非常严格的。

现在我们通过部署Container容器的技术来部署应用,全部Container运行在容器引擎上即可。既然嫌弃虚拟机繁重,想用Docker,那好,你用吧,怎么用呢?手动一个一个创建?当然不,故Kubernetes技术便出现了,以Kubernetes为代表的容器集群管理系统。我们用Kubernetes去管理Docker集群,即可以将Docker看成Kubernetes内部使用的低级别组件。另外,kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术。

Kubernetes(K8S)

就是基于容器的集群管理平台

Master节点主要还是负责管理和控制。Node节点是工作负载节点,里面是具体的容器。  

Node节点 

基本对象: PodServiceVolumeNamespaceLable

我们通过 Master 对每个节点 Node 发送命令。简单来说,Master 就是管理者,Node 就是被管理者。
Node 可以是一台机器或者一台虚拟机。在 Node 上面可以运行多个 Pod,Pod 是 Kubernetes 管理的最小单位,同时每个 Pod 可以包含多个容器(Docker)。pod是k8s调度的最小单元,一个 pod 包含一组容器,但一个 pod 不会跨越多个工作节点

pod相当于逻辑主机,每个pod都有自己的ip地址,pod内的容器共享相同的ip和端口空间
默认情况下,每个容器的文件系统与其他容器完全隔离
可以理解为:容器组,同时pod相当于逻辑主机,进入pod后仿佛进入一个linux主机,命令都可用(linux系统下),该“主机”内又有很多容器,进入后又仿佛是又进了一个linux主机。
 

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华为是容器技术投入最早,是容器生态(CNCF/OCI)和技术(Kubernetes/Docker)的领导者和主要贡献者。国内唯一CNCF/OCI基金会的初创会员、白金会员,国内唯一K8S社区技术指导委员成员,12个Maintainer席位Kubernetes社区贡献国内第一,全球第四,参与容器格式及运行规范的定义与实现、积极贡献联邦集群、亲和反亲和等重要特性。华为CCE在裸金属容器集群、windows容器、集群高可用、自动化运维、容器网络/存储、异构计算(ARM、GPU、FPGA)能力方面具有差异化竞争力优势。国内首发裸金属容器应对游戏高性能场景;独家提供ARM容器服务支撑低成本APP测试场景全球首发云容器实例服务CCI :更快的弹性,更高的资源利用率;国内首发windows容器、帮助企业实现海量Windows应用轻松容器化上云自研iCAN容器网络:实现高性能容器网络和大规模高效部署;自研Fuxi容器存储:实现有状态应用和分布式中间件容器化部署华为CCE产品成熟度高,容器化经验丰富,在大企业、游戏、生物基因、科学计算、金融、媒资、能源、旅游等领域有2+年成熟商用实践内部实践:流程IT系统、网管系统、消费者云VMALL商城、CCE服务后台管理面等都基于容器化改造,稳定商用外部客户:大众、欧洲原子能科学计算云、咪咕互娱、广东农信、管家婆、图灵生物、蓝鲸传媒、龙渊科技、复华文旅、新奥等。华为容器服务2015年率先在合营云德电商用,阿里基于K8S的容器服务2017年推出公测,腾讯的容器服务2017年4月上线商用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值