k8s-01-前置知识

1、什么是虚拟化:

	虚拟化(英语:Virtualization)是一种资源管理技术,
是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破
实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的
新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算
能力和资料存储。
	
	简单说就是:虚拟化技术就是对物理资源(网络、硬件、CPU、内存)进行隔离一种技术。
叫做虚拟化技术。可以充分利用计算机的计算资源

2、虚拟化的作用:

	充分利用高性能计算机资源:如果没有虚拟机化技术,在使用高性能计算机时候,存在大量的计算资源的浪费。使用虚拟化技术对物理资源进行隔离,
把隔离的资源进行分配使用。虚拟化技术实际上就是对物理硬件资源的一种调度。

3、现有的一些虚拟化技术对比Docker的容器化技术:
常见虚拟化技术简介:

KVM(Kernel-based Virtual Machine)基于内核的虚拟机 KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(Intel VT或AMD-V)的Linux的全虚拟化解决方案。它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。 KVM最大的好处就在于它是与Linux内核集成的,所以速度很快。

Docker :这个太广为人知了,就不多介绍了。

虚拟化KVM: 物理硬件隔离,隔离的更彻底
	KVM利用 Hypervisor 虚拟化技术来模拟 CPU、内存等硬件资源,这样就可以在宿主机上建立一个 Guest OS(虚拟机)。

Docker : 进程级别隔离
	Docker提供了一种程序运行的容器,同时保证这些容器相互隔离。虚拟机也有类似的功能,但是它通过Hypervisor创建了一个完整的操作系统栈。
不同于虚拟机的方式,Docker依赖于Linux自带的LXC(Linux Containers)技术。LXC利用了Linux可以对进程做内存、CPU、网络隔离的特性。
Docker镜像不需要新启动一个操作系统,因此提供了一种轻量级的打包和运行程序的方式。而且Docker能够直接访问硬件,
从而使它的I/O操作比虚拟机要快得多。

4、Docker的缺陷:

docker部署服务(微服务架构:按照模块进行拆分,服务非常多………),导致对应的docker容器也越来越多………,同时面临很严重的问题,管理庞大容器资源非常困难。所以需要一种编排工具来对其进行同意的管理和协调。

4.1、常见的编排技术:

docker-compose:组件可以批量的创建容器,管理容器。粗颗粒度
Swarm:docker公司自己的开发,我也不知道为什么不用...........
mesos:针对不同的运行框架采用相对独立的调度系统,Apache的开源项目
kubernetes:google公司开发的,kubernetes的前身是Borg系统(Google在十几年前已经开发的应用来进行容器化管理)

5、云原生(由于这两者密不可分,在此提一下)

云原生:简而言之就是为了让应用程序(项目,MySQL、ELK……)都运行在云上容器中,这样技术就叫做云原生。
对应的一些思维理念:
	1、iaas 【Infrastructure as a service 基础设施即服务】
	2、paas 【platform as a service 平台即服务】
		在iaas基础上安装一些软件:基础服务软件---Mysql,RocketMQ,Elk...作为基础服务。
	3、caas 【container as a service 容器就是一个服务。软件,服务都运行在容器中】
	4、saas 【software as a service】
	5、faas 【function as a service功能服务】
	6、service mesh【服务网格】	
	7、serverless 【无服务器,全部上云........

版权声明:本文为weixin_45438044原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。