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

1.为什么要学习kubernetes?

k8s入门之虚拟化技术基本概念_第1张图片

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

k8s入门之虚拟化技术基本概念_第2张图片

  • 轻装上阵
    一旦使用kubernetes以后,不需要关心底层哪些和项目业务没有关系的代码,或者是模块;只需要关心项目业务即可,因此开发团队只需要一个小而精悍的团队即可;
    k8s入门之虚拟化技术基本概念_第3张图片

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

  • 无缝迁移

    项目开发(开发环境),测试(测试环境),上线(生产环境) ---- 测试环境,生产环境不一致导致上线出现问题难以解决; 使用kubernetes云原生技术架构后,可以做到服务无缝迁移;
    k8s入门之虚拟化技术基本概念_第4张图片

  • 弹性扩容

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

                     明星结婚  ---- 流量突然增大 ----- 弹性扩容
    k8s入门之虚拟化技术基本概念_第5张图片

  • 充分利用服务器计算资源
    以k8s构建的云计算平台,充分调度计算机服务器资源;充分利用服务器资源;
    k8s入门之虚拟化技术基本概念_第6张图片

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

2.kubernetes是什么?

  1. 服务上线部署演变历史
    k8s入门之虚拟化技术基本概念_第7张图片
     

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

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

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

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

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

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

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

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

  2. Kubernetes概述
    k8s入门之虚拟化技术基本概念_第8张图片
    K8s 是一个开源的 ,管理容器集群的一个技术; ---- k8s用来编排(管理)容器的技术
    k8s入门之虚拟化技术基本概念_第9张图片

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

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

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

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

  1. 什么是虚拟化技术?
    虚拟化(英语:Virtualization)是一种资源管理技术,就是用来把物理资源(服务器,网络,硬件,CPU)进行隔离(分离)的一种技术。打破了物理资源不可分割障碍。
  2. 虚拟化技术作用?
    1)对高性能物理计算机的资源进行充分利用
    2)对老旧硬件资源重组后再充分利用
    k8s入门之虚拟化技术基本概念_第10张图片
  3. 虚拟化分类
    1)全虚拟化架构
          在硬件上面-os,os内部可以安装多个操作系统,达到物理资源隔离
          k8s入门之虚拟化技术基本概念_第11张图片
    2)OS层虚拟化架(操作系统层的虚拟化)
         在os系统内部,可以复制多个os系统,达到资源隔离目的。
         k8s入门之虚拟化技术基本概念_第12张图片
    3)硬件层虚拟化
         直接在硬件上安装多个操作系统,达到物理资源隔离目的
         k8s入门之虚拟化技术基本概念_第13张图片
    注意:资源隔离实际上使用的调度程序,把这些资源调度分配给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 ,根据目录来进行隔离。
         k8s入门之虚拟化技术基本概念_第14张图片
    2)FreeBSD Jails ,给目录分配一个网络地址,可以对目录进行隔离。
        k8s入门之虚拟化技术基本概念_第15张图片
    3)Solaris Zone ,已经实现了隔离,每一个空间都有独立存储,网络,防火墙.
        k8s入门之虚拟化技术基本概念_第16张图片
    4)LXC指代的是Linux Containers,通过Cgroups以及Linux Namespaces实现资源隔离。
        k8s入门之虚拟化技术基本概念_第17张图片 
        k8s入门之虚拟化技术基本概念_第18张图片
    5)Docker利用LXC实现了一套容器化技术完整一套方案,容器化就是利用Cgroups以及Linux Namespaces实现资源隔离。
        k8s入门之虚拟化技术基本概念_第19张图片
        k8s入门之虚拟化技术基本概念_第20张图片
    总结: 容器就是运行在操作系统中的一个进程,利用Cgroups+namepspace实现进程间隔离。    
  3. docker原理
     1)docker底层利用 cgroup + nampspace 实现资源隔离
     2)docker创建procces容器进程,必须依赖磁盘镜像。(原始容器都是依赖centos镜像)
     3)OpenStack&KVM&docker
           openstack 主要用于云计算平台管理,同时提供一些基础设施一些管理服务。
           KVM 虚拟化技术 --- 可以利用虚拟化技术构建云计算平台
          docker 和 openstack 可以形成优势互补。
             docker是一个非常轻量级的容器技术,使用容器技术构建云平台,充分利用服务资源,性能非常高
             OpenStack可以管理基础设置服务。基础设施服务构建交给openstack

 

你可能感兴趣的:(docker)