k8s入门之虚拟化技术基本概念
Posted 爱上口袋的天空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s入门之虚拟化技术基本概念相关的知识,希望对你有一定的参考价值。
1.为什么要学习kubernetes?
以k8s为核心的云原生技术正在吃掉整个世界;无论是传统企业,互联网企业就是数字化转型;就是把服务迁移到云原生平台上面;kubernetes一定是未来企业架构唯一标准; 使用了kubernetes开发项目架构后,企业会实现降本增效;
轻装上阵
一旦使用kubernetes以后,不需要关心底层哪些和项目业务没有关系的代码,或者是模块;只需要关心项目业务即可,因此开发团队只需要一个小而精悍的团队即可;全面拥抱微服务架构
微服务架构比较难(拆分比较细),使用kubernetes技术后,只需要关心服务本身即可,不需要关心链路追踪,降级,限流……无缝迁移
项目开发(开发环境),测试(测试环境),上线(生产环境) ---- 测试环境,生产环境不一致导致上线出现问题难以解决; 使用kubernetes云原生技术架构后,可以做到服务无缝迁移;
弹性扩容
服务上线: 促销活动 ---- 流量增大 ----- 压测,预案 --- 弹性扩容
明星结婚 ---- 流量突然增大 ----- 弹性扩容
充分利用服务器计算资源
以k8s构建的云计算平台,充分调度计算机服务器资源;充分利用服务器资源;自动化运维平台
使用kubernetes构建自动化运维平台(自愈,监控,扩容,伸缩……)
2.kubernetes是什么?
服务上线部署演变历史
1、物理机服务部署模式(服务直接部署在物理机上面)
2、虚拟机部署模式(阿里云,私有云)
3、云原生模式(容器化的部署模式)
存在的问题:(使用虚拟机,容器化进行部署)
1)服务宕机后怎么办??
2)服务宕机如何恢复??
3)服务越来越多,如何管理?
需要有一套技术来管理(编排)服务?使得我们的服务以更好的组态来在服务器上运行;
Kubernetes概述
K8s 是一个开源的 ,管理容器集群的一个技术; ---- k8s用来编排(管理)容器的技术Kubernetes发展历史
Kubernetes是google公司开发的一个用来管理(编排)容器的一个技术; google公司在十几年前就开始使用服务编排技术管理器内部庞大服务网络;战略级武器: borg系统;--- 管理着庞大服务网络;
Google 公司:使用go语言参考 borg系统架构,开发了一套容器编排技术; docker公司自己开始使用kubernetes;
3.虚拟化及虚拟化基本概念及原理
- 什么是虚拟化技术?
虚拟化(英语:Virtualization)是一种资源管理技术,就是用来把物理资源(服务器,网络,硬件,CPU)进行隔离(分离)的一种技术。打破了物理资源不可分割障碍。- 虚拟化技术作用?
1)对高性能物理计算机的资源进行充分利用
2)对老旧硬件资源重组后再充分利用- 虚拟化分类
1)全虚拟化架构
在硬件上面-os,os内部可以安装多个操作系统,达到物理资源隔离
2)OS层虚拟化架(操作系统层的虚拟化)
在os系统内部,可以复制多个os系统,达到资源隔离目的。
3)硬件层虚拟化
直接在硬件上安装多个操作系统,达到物理资源隔离目的
注意:资源隔离实际上使用的调度程序,把这些资源调度分配给os,这个调度程序hypervisor
4.虚拟化技术之云计算平台
- 目前你认为有几种方式构建云计算平台?
1)物理机构建云计算机平台(机房建设,硬件选择,网络建设,环境维护...)
2)虚拟化技术构建云计算平台- OpenStack
1)开源管理项目 OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目.
2)美国国家航天局 & RackSpace 开发 ,开源
作用: 提供云平台的基础设施服务,让云平台管理,架构变得更简单- KVM(Kernel-based Virtual Machine)基于linux内核的虚拟机
KVM 虚拟机技术,已经融入到linux内核- VMWare (Virtual Machine ware)是一个“虚拟PC”虚拟机管理管理软件
5.容器技术及容器技术基本概念及原理
- 有了虚拟化技术,为什么还需要使用容器化技术构建云计算平台?
KVM虚拟化在同等CPU,内存,IO,网络,运行相同服务,占用资源非常大。
容器化技术 就是非常轻量级资源隔离技术,容器化镜像小道几KB,达到几百M,隔离性没有虚拟机彻底。- 容器化技术发展
1)1979年的UNIX Chroot ,根据目录来进行隔离。
2)FreeBSD Jails ,给目录分配一个网络地址,可以对目录进行隔离。
3)Solaris Zone ,已经实现了隔离,每一个空间都有独立存储,网络,防火墙.
4)LXC指代的是Linux Containers,通过Cgroups以及Linux Namespaces实现资源隔离。
5)Docker利用LXC实现了一套容器化技术完整一套方案,容器化就是利用Cgroups以及Linux Namespaces实现资源隔离。
总结: 容器就是运行在操作系统中的一个进程,利用Cgroups+namepspace实现进程间隔离。- docker原理
1)docker底层利用 cgroup + nampspace 实现资源隔离
2)docker创建procces容器进程,必须依赖磁盘镜像。(原始容器都是依赖centos镜像)
3)OpenStack&KVM&docker
openstack 主要用于云计算平台管理,同时提供一些基础设施一些管理服务。
KVM 虚拟化技术 --- 可以利用虚拟化技术构建云计算平台
docker 和 openstack 可以形成优势互补。
docker是一个非常轻量级的容器技术,使用容器技术构建云平台,充分利用服务资源,性能非常高
OpenStack可以管理基础设置服务。基础设施服务构建交给openstack
以上是关于k8s入门之虚拟化技术基本概念的主要内容,如果未能解决你的问题,请参考以下文章
docker 入门(二):docker 和 沙盒、虚拟机以及 Kubernetes 的关系
❤️99%的读者❤️都会收藏的Docker入门到实战的技术文章