【K8S 基本理论及架构原理】

1、认识虚拟化

1.1、什么是虚拟化

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

虚拟化技术是一套解决方案。完整的情况需要 CPU、主板芯片组、BIOS 和软件的支持,例如 VMM 软件或者某些操作系统本身。即使只是 CPU 支持虚拟化技术,在配合 VMM 软

件情况下,也会比完全不支持虚拟化技术的系统有更好的性能。在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件 对资源充分利用虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化(vip)、桌面虚拟化、服务虚拟化、虚拟机等等。

1.2、虚拟化种类

(1)全虚拟化架构

虚拟机的监视器(hypervisor)是类似于用户的应用程序运行在主机的 OS 之上,如VMware 的 workstation,这种虚拟化产品提供了虚拟的硬件。

(2)OS 层虚拟化架构

 

(3)硬件层虚拟化

硬件层的虚拟化具有高性能和隔离性,因为 hypervisor 直接在硬件上运行,有利于控制

VM 的 OS 访问硬件资源,使用这种解决方案的产品有 VMware ESXi 和 Xen serverHypervisor 是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的“元”操作系统,它可以协调访问服务器上的所有物理设备和虚拟机,也叫虚拟机监视器(Virtual Machine Monitor,VMM)。Hypervisor 是所有虚拟化技术的核心。当服务器启动并执行 Hypervisor 时,它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统。 宿主机Hypervisor 是所有虚拟化技术的核心,软硬件架构和管理更高效、更灵活,硬件的效能能够更好地发挥出来。常见的产品有:VMware、KVM、Xen 等等

2、OpenStack 与 KVM、VMWare

2.1、OpenStack

OpenStack:开源管理项目 OpenStack 是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它不是一个软件,而是由几个主要的组件组合起来完成一些具体的工作。

OpenStack 由以下五个相对独立的组件构成:

 OpenStack Compute(Nova)是一套控制器,用于虚拟机计算或使用群组启动虚拟机实例;

 OpenStack 镜像服务(Glance)是一套虚拟机镜像查找及检索系统,实现虚拟机镜像管理;

 OpenStack 对象存储(Swift)是一套用于在大规模可扩展系统中通过内置冗余及容错机制,以对象为单位的存储系统,类似于 Amazon S3;

 OpenStack Keystone,用于用户身份服务与资源管理以及

 OpenStack Horizon,基于 Django 的仪表板接口,是个图形化管理前端。 这个起

初由美国国家航空航天局和 Rackspace 在 2010 年末合作研发的开源项目,旨在打造易于部署、功能丰富且易于扩展的云计算平台。OpenStack 项目的首要任务是简化云的部署过程并为其带来良好的可扩展性,企图成为数据中心的操作系统,即云操作系统。

Openstack 项目层级关系:

 

IaaS:  对应 openstack:1,2

PaaS: 平台即服务—计算,存储 第四层

Saas:软件及服务---Rocket,mysql 第四层

2.2、KVM

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

2.3、VMWare

VMWare (Virtual Machine ware) VMWare (Virtual Machine ware)是一个“虚拟 PC”虚拟机管理管理软件。它的产品可以使你在一台机器上同时运行二个或更多 Windows、DOS、LINUX系统。与“多启动”系统相比,VMWare 采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。VMWare 是真正“同时”运行,多个操作系统在主系统的平台上,就象标准 Windows 应用程序那样切换。而且每个操作系统你都可以进行虚拟的分区、配置而不影响真实

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kubernetes(简称K8s)是一个开源的容器编排和管理工具,用于自动化部署、扩展和操作容器化应用程序。K8s架构原理可以通过以下几个核心组件来详解。 1. Master节点:Master节点是K8s集群的控制中心,负责管理和控制整个集群的运行。其中包括以下几个组件: - API Server:作为控制和管理的入口,接收和处理用户和其他组件的请求。 - Scheduler:负责调度任务到合适的Node节点上运行。 - Controller Manager:监控集群状态,根据需求对集群进行自动化的维护和管理。 - etcd:分布式键值存储系统,用于保存集群中的元数据信息。 2. Node节点:Node节点是集群中的工作节点,负责运行应用程序容器。每个Node节点上包含以下几个组件: - Docker或其他容器运行时:用于管理和运行容器。 - Kubelet:与Master节点通信,接收和执行Master节点下发的指令,管理容器的生命周期。 - Kube-proxy:负责实现集群中的网络代理和负载均衡。 3. Pod:Pod是K8s的最小调度和部署单元,包含一个或多个紧密相关的容器。Pod中的容器共享同一个网络命名空间和存储卷,可以通过本地的localhost互相通信。 4. Service:Service是一种抽象,定义了一组Pod的访问规则。通过Service,可以提供稳定的访问入口,使得集群内的其他组件不需要关心具体的Pod的位置和IP地址。 除了这些核心组件,K8s还有其他一些重要的特性和功能,如命名空间、标签、配置管理、水平扩展、滚动更新等,这些功能进一步增强了K8s的弹性、可靠性和可管理性。 总结起来,K8s架构原理可以归纳为Master-Node架构,通过Master节点对整个集群进行控制和管理,Node节点负责运行容器化应用程序,Pod作为最小的调度和部署单元,Service提供访问入口。这种设计使得K8s具备自动化、弹性、可伸缩和可靠的特点,广泛应用于云原生应用的部署和管理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值