人们普遍认为“云计算”一词非常熟悉。
作为信息技术发展的主流趋势,它经常出现在我们面前。除此以外,还有这些概念性术语– OpenStack,Hypervisor,KVM,Docker,K8S等。
这些概念都属于云计算技术领域。
对于初学者而言,了解这些概念的具体含义并非易事。
因此,今天的文章将为您提供一个易于理解的介绍,解释这些云计算概念及其之间的关系,并希望能帮助您入门。
什么是云计算?
发明计算机时,没有网络。每台计算机(PC)都是一台计算机。
该独立单元包括诸如CPU,内存,硬盘和图形卡之类的硬件。用户将操作系统和应用程序软件安装在一台计算机上以完成其工作。
之后,借助网络,在独立服务器和独立服务器之间,您可以交换信息并一起工作。
然后,独立服务器的性能变得越来越强,服务器出现了。已经发现,可以将一些服务器集中放置在计算机室中,然后允许它们通过网络访问和使用计算机室中的计算机资源。
后来,小型网络变成了大型网络,并且有了Internet。小型机房已变成大型机房,并且有一个IDC(Internet数据中心)。
随着越来越多的计算机资源和应用程序服务(例如应用程序,例如网页,电影)汇集在一起,它变成了“云计算”。数不清的大型机房已变成“乌云”。
如何实施云计算?
云计算的概念很简单。坦率地说,它是集中计算机资源并将其放在网络上。但是,云计算的实现非常复杂。
例如,如果您只是将服务器放置在公司的小型机房中,打开FTP下载服务,然后将其用于几个同事之间的电影共享,则非常简单。
如果是一个购物节,数十亿用户访问在线商店,每天数十个PB(1PB = 1024TB = 1024×1024GB),每秒数百GB的流量……这个问题不是几个服务器和一个服务器。少数网络电缆可以解决。
这时,有必要设计一种具有超大容量,超高并发(同时访问),超快速和安全性的云计算系统,以满足业务平稳运行的需求。这就是云计算的复杂性。
刚才说过,我们将计算机资源放在云中。此计算机资源实际上分为几个级别:
级
它是级别的硬件资源,包括CPU(计算资源),硬盘(存储资源)和网卡(网络资源)。
第二级
为了更高级,我不会直接使用CPU,硬盘或网卡。我希望您可以安装操作系统(例如Windows,Linux)并安装数据库软件。我将再次使用它。
第三级
更高级的是,您不仅必须安装基本的操作系统,还必须安装特定的应用程序软件,例如FTP服务器软件,在线视频服务器软件等,我可以直接使用该服务。
这三个级别是人们经常听到的IaaS,Paas和SaaS。
目前,亚马逊AWS,阿里云,华为云等主流云计算服务提供商都是白色的,提供了以上三个层次的云资源。您想要什么,他们提供什么。您想要多少,他们提供多少。
Amazon AWS和华为如何提供如此多样化和多层的云计算服务?
是手动安排吗?
如果您想要八核CPU,16GB RAM,500GB硬盘服务器,AWS会临时安排工程师来帮助您组装?
如果要安装CentOS 7.2(类似于Linux的操作系统),MySQL 5.5.60(数据库系统),阿里还可以暂时让工程师帮助您安装配置吗?
这显然是不可能的,无法负担人力,也无法等待时间。
结果,有各种各样的软件和平台负责快速呼叫和资源的集中管理。
什么是虚拟化?
如果要管理物理资源,步是“虚拟化”。
虚拟化是云计算的基础。简而言之,虚拟化是单个物理服务器上多个“虚拟服务器”的操作。这种虚拟服务器也称为虚拟机(VM,Virtual Machine)。
从表面上看,这些虚拟机是独立的服务器,但实际上,它们共享物理服务器的CPU,内存,硬件,网卡和其他资源。
一台物理机器,通常称为“主机”。虚拟机称为“来宾”。
谁来完成虚拟资源虚拟化工作?
它是的管理程序。
系统管理程序是“超级管理程序”,也称为VMM(虚拟机监视器)。它不是特定的软件,而是一类软件的总称。
系统管理程序分为两大类:
在类中,管理程序直接在物理机上运行。虚拟机在管理程序之上运行。在第二类中,在物理机上安装了常规操作系统(例如Linux或Windows),然后在常规操作系统上安装了管理程序,以生成和管理虚拟机。
像VMware,KVM,Xen,Virtual Box一样,都属于管理程序。
每个人都应该熟悉VMware,即VMware Workstation。学习Linux时,许多人在Windows下安装WMware,然后创建Linux虚拟机。
但是,真正强大的功能是KVM(基于内核的虚拟机)。它是当前,欢迎的虚拟化解决方案。
虚拟机监控程序软件(例如KVM)实际上提供了一种虚拟化功能,可以模拟CPU的运行,并且级别较低。但是,它的用户交互不好,使用起来也不方便。
因此,为了更好地管理虚拟机,需要诸如OpenStack的云管理平台。
关于OpenStack,它有点像一家商店,负责管理出售给用户的商品(计算资源,存储资源,网络资源等),但它本身并不生产商品(不具有虚拟化功能), ,来自KVM。当然,如果您不使用KVM,则可以使用其他虚拟机管理程序,例如Xen。
什么是容器?
什么是Docker和K8S?
之前我们介绍了虚拟化。使用虚拟化一段时间后,人们发现它存在一些问题:
有时,不同的用户只想运行一些简单的程序并运行一个小的过程。为了不互相影响,必须构建虚拟机。如果您构建虚拟机,显然浪费会有点大,操作会更复杂,并且需要很长时间。
此外,有时,如果要迁移自己的服务程序,则需要迁移整个虚拟机。显然,迁移过程可能很复杂。
有没有办法变得更灵活,更快?
是的,这引入了“容器”。
容器也已虚拟化,但属于“轻量级”虚拟化。其目的与虚拟机相同,目的是创建“隔离环境”。但是,它与虚拟机有很大的不同–虚拟机在操作系统级别是资源隔离,而容器本质上是进程级资源隔离。
虚拟化VS容器
Docker是用于创建容器的工具,它是应用程序容器引擎。
与传统虚拟机相比,Docker具有快速,二阶和资源高效的优势(一个主机可以同时运行数千个Docker容器)。此外,它占用少量空间,虚拟机的成本通常为几GB到数十GB,并且容器仅需要MB甚至KB。
除了Docker创建容器外,我们还需要一个工具来协调容器。
该工具是K8S。
K8S是Kubernetes。Kubernetes这个词很长,所以每个人都在中间缩写8个字母并变成K8S。
K8S是一个容器集群管理系统,主要职责是容器编排–启动容器,自动化部署,扩展和管理容器应用程序以及回收容器。
简而言之,K8S有点像保姆。它负责管理容器在哪台机器上运行,监视容器中的问题,控制容器与外界之间的通信等等。
除了K8S,还有许多容器管理平台,例如Compose,Marathon,Swarm,Mesos等。
Docker和K8S是应用程序层,而不是基础结构和物理资源,因此它们属于PaaS。
所有评论仅代表网友意见,与本站立场无关。