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

Kubernetes是Google开发的开源容器编排系统,用于管理和服务部署。它解决了传统虚拟化技术的资源浪费问题,实现了服务无缝迁移、弹性扩容和自动化运维。通过Kubernetes,企业可以轻量级地实现微服务架构,降低运维成本,提高效率。同时,Kubernetes与虚拟化技术如KVM和OpenStack结合,提供了更加高效、灵活的云计算平台。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;

  4. kubernetes具有以下特性:

  •  服务发现和负载均衡
    Kubernetes 可以使用 DNS 名称或自己的 IP 地址公开容器,如果进入容器的流量很大, Kubernetes 可以负载均衡并分配网络流量,从而使部署稳定。
  • 存储编排
    Kubernetes 允许你自动挂载你选择的存储系统,例如本地存储、公共云提供商等。
  • 自动部署和回滚
    你可以使用 Kubernetes 描述已部署容器的所需状态,它可以以受控的速率将实际状态 更改为期望状态。例如,你可以自动化 Kubernetes 来为你的部署创建新容器, 删除现有容器并将它们的所有资源用于新容器。
  • 自动完成装箱计算
    Kubernetes 允许你指定每个容器所需 CPU 和内存(RAM)。 当容器指定了资源请求时,Kubernetes 可以做出更好的决策来管理容器的资源。
  • 自我修复
    Kubernetes 重新启动失败的容器、替换容器、杀死不响应用户定义的 运行状况检查的容器,并且在准备好服务之前不将其通告给客户端。
  • 密钥与配置管理

        Kubernetes 允许你存储和管理敏感信息,例如密码、OAuth 令牌和 ssh 密钥。 你可以在不重建容器镜像的情况下部署和更新密钥和应用程序配置,也无需在堆栈配置中暴露密钥。

Kubernetes 为你提供了一个可弹性运行分布式系统的框架。 Kubernetes 会满足你的扩展要求、故障转移、部署模式等。 例如,Kubernetes 可以轻松管理系统的 Canary 部署。

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

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值