视频笔记
【k8s教程】薪享宏福 Kubernetes v1.29 | 2024最新版!B站最强!百万播放汪洋授课,轻松拿捏k8s p02 第一章.k8s介绍说明-基础设施的变革1
讲师:汪洋老师
课程:薪享宏福 Kubernetes 系列课程
课程整体规划
第一章 介绍说明,共三个小节:
-
基础设施的变革
-
Kubernetes 的组件
-
Kubernetes 课程内容简述
本节重点讲解从行业初始到以容器为主要部署方案经历的迭代。
1. 基础设施的变革
传统方式部署
架构:硬件 -> 操作系统 -> 应用程序
示例:硬件类比 Dell R620 服务器,系统类比 CentOS,应用 Apache、MySQL、Nginx
问题:
-
安全性差。同一物理机部署 Apache 和 MySQL,若 Apache 被劫持,可访问同一物理机的 MySQL 数据目录导致数据泄露。
-
资源利用率与安全性矛盾。若为安全将应用分开部署,单机仅运行一个 Apache,资源大量闲置。
-
追求资源利用率高 → 安全性下降
-
追求安全性上升 → 机器资源利用率下降
-
此消彼长,难以兼顾
基于虚拟化的部署
架构:硬件 -> 操作系统 -> 虚拟化层 -> VM -> 应用程序
虚拟化程序可在单物理机运行多个虚拟机 VM,每个 VM 运行相对隔离的应用。
示例:左 VM 跑 MySQL,右 VM 跑 Apache + Nginx。即使 Apache 被劫持,也无法跨 VM 分享 MySQL 数据,更安全。
缺点:
-
仅相对提高资源利用率。操作系统本身消耗资源且不提供给应用,类似氧气助燃但自己不燃烧。
-
VM 数量增加,操作系统冗余消耗随之增加。企业服务器以万计时浪费巨大。
-
举例:1万台机器,每台浪费 2GB 内存,即 2万 GB 内存损失
-
虽有效提高整机利用率,但虚拟化本身占用资源,非应用消耗
以容器方案为首的部署
架构:硬件 -> 操作系统 -> 容器运行时 -> 容器 -> 应用程序
多个容器在同一操作系统下隔离运行,无需为每个实例提供完整操作系统。
优势:
-
保证应用彼此隔离
-
不随容器数量增加而产生虚拟机级 OS 浪费
-
安全性:相对传统虚拟化下降,但仍过及格线。类比安全满分10分,传统虚拟化 9-8分,容器 7-8分
-
资源利用率远高于传统虚拟化
说明:以上为单机场景。
集群化解决方式
IaaS Infrastructure as a Service
基础设施即服务,是云计算的一种分类。
实现方式:
多台物理机,每台通过虚拟化产出多台虚拟机,不同虚拟机跑不同应用。集群可提供 IaaS 场景。
传统虚拟化部署流程:
物理机 -> 操作系统 -> 虚拟化引擎 VMM -> 创建虚拟机 -> 虚拟机内运行操作系统 -> 运行应用程序
痛点:机房 1万台机器时,需人工挑选资源剩余量最多的机器部署应用,效率低下。
解决方案:OpenStack
-
当前 IaaS 方向主流框架
-
在物理机层面上组建集群/管理器
-
用户请求创建虚拟机时,OpenStack 自动从多物理机中选择资源剩余最大的机器创建并返回访问接口
-
体现 IaaS 概念:用户只需申请,平台自动化创建
华为与 OpenStack:
-
OpenStack 最早官网仅英文、韩语、日语,无中文,因贡献不足
-
近年官网出现中文翻译
-
项目贡献排名:全球第一 Red Hat,第二名华为并列美国专业 OpenStack 自动化部署上市企业
IaaS 趋势:
-
规模越大成本越低,未来云厂商只剩几家
-
就业渠道越来越窄,主要集中在阿里、华为、百度、腾讯等大厂
-
若无法进入大厂,岗位极少
PaaS Platform as a Service
平台即服务。
与 IaaS 区别:
-
IaaS:供应商返回虚拟机/系统,用户自行部署应用
-
PaaS:系统和环境无需用户部署,只需将应用扔进去即可访问,底层基于容器及虚拟化
集群化解决方案示例:
多台物理机 -> 每台运行容器运行时 -> 应用以容器方案运行
物理机需被平台统管,如 Kubernetes、Rancher、Mesos 等
三层典型模型 IaaS / PaaS / SaaS:
-
SaaS 为多租户开发场景,对运维上手不重要,本课程不讨论
-
本系列重点为以 Kubernetes 为主的 PaaS 路径
PaaS 实现方案对比:
Docker Swarm
-
Docker 公司开发的集群化管理软件,实现 PaaS
-
关键词:轻
-
学习成本轻,会 Docker 后 2-3 天可上手
-
代码轻,集成在 Docker 软件包内,docker swarm init 即可初始化集群
-
将若干台 Docker 主机抽象为整体,通过入口统一管理资源,自动选择靠谱节点运行容器
-
缺点:功能性少,需企业二次开发,具备能力企业少
-
2016-2017 年流行,2019 年厂商不再兼容支持,国内基本没落,仅小项目可见
Mesos
-
关键词:稳
-
诞生时间久,为大量企业提供支撑,推特为拥趸
-
2019 年底推特发布技术分享,宣布全面转向 Kubernetes
-
后期尝试自救,允许 Kubernetes 在其平台上调度资源,但 Kubernetes 自身资源管控已很强,无需画蛇添足
Kubernetes
-
关键词:N / 六星 / 牛
-
Google 基于之前技术迭代的集群管理软件,资源管理系统
-
在大量选项和功能需求上与竞品差距明显
AI 总结
本节系统梳理了基础设施从传统部署、虚拟化部署到容器部署的演进,以及从单机到集群的 IaaS 与 PaaS 发展路径。传统部署安全与资源利用率矛盾,虚拟化提升隔离但带来 OS 冗余开销,容器在保证足够隔离的前提下大幅提升资源利用率。集群化方面,OpenStack 代表 IaaS 自动化,未来被大厂垄断;PaaS 方向中 Docker Swarm 因轻量而早衰,Mesos 因被 Kubernetes 超越而式微,Kubernetes 以功能全面、生态强大成为当前主流的容器编排平台。