k8s入门之虚拟化技术基本概念

Posted 爱上口袋的天空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s入门之虚拟化技术基本概念相关的知识,希望对你有一定的参考价值。

1.为什么要学习kubernetes?

以k8s为核心的云原生技术正在吃掉整个世界;无论是传统企业,互联网企业就是数字化转型;就是把服务迁移到云原生平台上面;kubernetes一定是未来企业架构唯一标准; 使用了kubernetes开发项目架构后,企业会实现降本增效;

  • 轻装上阵
    一旦使用kubernetes以后,不需要关心底层哪些和项目业务没有关系的代码,或者是模块;只需要关心项目业务即可,因此开发团队只需要一个小而精悍的团队即可;

  • 全面拥抱微服务架构
    微服务架构比较难(拆分比较细),使用kubernetes技术后,只需要关心服务本身即可,不需要关心链路追踪,降级,限流……

  • 无缝迁移

    项目开发(开发环境),测试(测试环境),上线(生产环境) ---- 测试环境,生产环境不一致导致上线出现问题难以解决; 使用kubernetes云原生技术架构后,可以做到服务无缝迁移;

  • 弹性扩容

    服务上线: 促销活动  ---- 流量增大 ----- 压测,预案 --- 弹性扩容

                     明星结婚  ---- 流量突然增大 ----- 弹性扩容

  • 充分利用服务器计算资源
    以k8s构建的云计算平台,充分调度计算机服务器资源;充分利用服务器资源;

  • 自动化运维平台
    使用kubernetes构建自动化运维平台(自愈,监控,扩容,伸缩……)

2.kubernetes是什么?

  1. 服务上线部署演变历史

     

    1、物理机服务部署模式(服务直接部署在物理机上面)

    2、虚拟机部署模式(阿里云,私有云)

    3、云原生模式(容器化的部署模式)

    存在的问题:(使用虚拟机,容器化进行部署)

           1)服务宕机后怎么办??

           2)服务宕机如何恢复??

           3)服务越来越多,如何管理?

    需要有一套技术来管理(编排)服务?使得我们的服务以更好的组态来在服务器上运行;

  2. Kubernetes概述

    K8s 是一个开源的 ,管理容器集群的一个技术; ---- k8s用来编排(管理)容器的技术

  3. Kubernetes发展历史
    Kubernetes是google公司开发的一个用来管理(编排)容器的一个技术; google公司在十几年前就开始使用服务编排技术管理器内部庞大服务网络;

    战略级武器: borg系统;--- 管理着庞大服务网络;

    Google 公司:使用go语言参考 borg系统架构,开发了一套容器编排技术; docker公司自己开始使用kubernetes;

3.虚拟化及虚拟化基本概念及原理

  1. 什么是虚拟化技术?
    虚拟化(英语:Virtualization)是一种资源管理技术,就是用来把物理资源(服务器,网络,硬件,CPU)进行隔离(分离)的一种技术。打破了物理资源不可分割障碍。
  2. 虚拟化技术作用?
    1)对高性能物理计算机的资源进行充分利用
    2)对老旧硬件资源重组后再充分利用
  3. 虚拟化分类
    1)全虚拟化架构
          在硬件上面-os,os内部可以安装多个操作系统,达到物理资源隔离
          
    2)OS层虚拟化架(操作系统层的虚拟化)
         在os系统内部,可以复制多个os系统,达到资源隔离目的。
         
    3)硬件层虚拟化
         直接在硬件上安装多个操作系统,达到物理资源隔离目的
         
    注意:资源隔离实际上使用的调度程序,把这些资源调度分配给os,这个调度程序hypervisor

4.虚拟化技术之云计算平台

  1. 目前你认为有几种方式构建云计算平台?
    1)物理机构建云计算机平台(机房建设,硬件选择,网络建设,环境维护...)
    2)虚拟化技术构建云计算平台
  2. OpenStack
    1)开源管理项目 OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目.
    2)美国国家航天局 & RackSpace 开发 ,开源
    作用: 提供云平台的基础设施服务,让云平台管理,架构变得更简单
  3. KVM(Kernel-based Virtual Machine)基于linux内核的虚拟机
    KVM 虚拟机技术,已经融入到linux内核
  4. VMWare (Virtual Machine ware)是一个“虚拟PC”虚拟机管理管理软件

5.容器技术及容器技术基本概念及原理

  1. 有了虚拟化技术,为什么还需要使用容器化技术构建云计算平台?
    KVM虚拟化在同等CPU,内存,IO,网络,运行相同服务,占用资源非常大。
    容器化技术 就是非常轻量级资源隔离技术,容器化镜像小道几KB,达到几百M,隔离性没有虚拟机彻底。
  2. 容器化技术发展
    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实现进程间隔离。    
  3. docker原理
     1)docker底层利用 cgroup + nampspace 实现资源隔离
     2)docker创建procces容器进程,必须依赖磁盘镜像。(原始容器都是依赖centos镜像)
     3)OpenStack&KVM&docker
           openstack 主要用于云计算平台管理,同时提供一些基础设施一些管理服务。
           KVM 虚拟化技术 --- 可以利用虚拟化技术构建云计算平台
          docker 和 openstack 可以形成优势互补。
             docker是一个非常轻量级的容器技术,使用容器技术构建云平台,充分利用服务资源,性能非常高
             OpenStack可以管理基础设置服务。基础设施服务构建交给openstack

 

以上是关于k8s入门之虚拟化技术基本概念的主要内容,如果未能解决你的问题,请参考以下文章

从零开始入门 K8s | 深入剖析 Linux 容器

docker 入门(二):docker 和 沙盒、虚拟机以及 Kubernetes 的关系

docker&k8s&openstack基本概念和理解

❤️99%的读者❤️都会收藏的Docker入门到实战的技术文章

❤️99%的读者❤️都会收藏的Docker入门到实战的技术文章

虚拟化技术之docker技术详解