【K8S系列】第十四讲:初识K8s架构之服务器的变迁

news2024/11/15 8:47:20

目录

序言

1简介

1.1 物理机时代

物理服务器的缺点

1.2 虚拟机 

虚拟机优缺点 

1.3 容器时代 

1.4 总结

 2 容器编排

2.1 什么是容器编排


 

 

序言

人生犹如一股奔流,没有暗礁,激不起美丽的浪花。

三言两语,不如细心探索

今天学习一下K8s架构相关内容,希望此文,能帮助读者对K8s架构有一个初步的了解

文章标记颜色说明:

  • 黄色:重要标题
  • 红色:用来标记结论
  • 绿色:用来标记一级论点
  • 蓝色:用来标记二级论点

1简介

在介绍K8S架构之前,先介绍一下服务器的演变过程:

  • 物理机时代
  • 虚拟机时代
  • 容器化时代

1.1 物理机时代

物理服务器是指独立服务器,也就是指物理上的单独服务器,

物理服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似

物理机,对应采购的服务器设备,又叫裸设备,是相对于虚拟机而言的对实体计算机的称呼。物理机提供给虚拟机以硬件环境

 

物理服务器的缺点

  • 部署慢 :每台服务器都要安装操作系统、相关的应用程序所需要的环境,各种配置
  • 成本高:物理服务器的价格十分昂贵
  • 资源浪费硬件资源不能充分利用
  • 迁移成本高:扩展和迁移需要重新配置一模一样的环境
  • 产品性能:难以确保获得持续可控的产品性能
  • 管理能力高:日趋复杂的业务管理能力
  • 扩展能力低:服务环境缺乏灵活的业务弹性

1.2 虚拟机 

虚拟机,与现在流行的“云计算”的概念的有着紧密联系

虚拟机的概念在IaaS层,即基础设施即服务部分,

在几百上千台物理机上部署虚拟化软件,如vmware等等,使得他们的表现就像一台巨大的计算机。

同时它还具有灵活性和解耦性,可以在一台物理机上部署10台虚拟机,使得一台物理机的表现就像10台性能略差的服务器,当不需要他们时,

又可以随时的回收资源重新分配。

 

虚拟机优缺点 

虚拟机时代很好的解决了物理机时代的缺点,虚拟机时代的优缺点:

优点:

  • 易部署-集中化管理:每台物理机可部署多台虚拟机,且可以通过模板,快照等方式,快速部署,成本低
  • 资源池-提高硬件利用率:开出来的虚拟机可作为资源池备用,充分压榨服务器性能
  • 资源隔离:每个虚拟机都有独立分配的内存磁盘等硬件资源,虚拟机之间不会互相影响
  • 易扩展-高可靠性:把操作系统和应用程序与服务器硬件分离开来,增强的灵活性,随时都能在一个物理机上创建或销毁虚拟机

缺点:

  • 降低性能:当一台物理机上并行运行多个虚拟机时,物理机资源的使用率越高,虚拟机性能下降的越剧烈
  • 实施配置复杂,管理复杂:IT管理员并不能很好的排查并解决虚拟化使用过程中的问题
  • 建设成本不低:前期建设成本甚至有可能超过单买PC机的价格。

1.3 容器时代 

容器,也是虚拟层的概念,相对虚拟机而言,容器更加轻量级。容器技术的代表就是docker

虚拟机中需要模拟一台物理机的所有资源,比如要模拟出有多少CPU、网卡、显卡等等,这些都是在软件层面通过计算资源实现的,这就给物理机凭空增加了不必要的计算量。

容器仅仅在操作系统层面向上,对应用的所需各类资源进行了隔离。

这也是为何微服务、PaaS和Docker如此火爆的原因,

  • 资源消耗少
  • 迁移部署简单
  • 成本低

注意:容器可以建在物理机和虚拟机上。一个物理机可以建很多个容器。每个容器都是一个小系统。比虚拟机消耗更少

 优点:

  • 更高效的利用硬件资源:所有容器共享主机操作系统内核,不需要安装操作系统。
  • 一致的运行环境:相同的镜像产生相同的行为
  • 更小:较虚拟机而言,容器镜像更小,因为不需要打包操作系统
  • 更快:容器能达到秒级启动,其本质是主机上的一个进程

1.4 总结

  • 一台物理机上可以部署多个虚拟机
  • 一个虚拟机,可以运行多个容器
  • 资源的利用单元,越来越小

 2 容器编排

容器时代,成千上万的容器运行,需要按照一定的管理规则,这就延伸出了容器编排

2.1 什么是容器编排

容器编排是指自动化容器的部署、管理、扩展和联网

容器编排可以为需要部署和管理成百上千个容器和主机的企业提供便利。

容器编排可以实现自动化和管理任务:

  • 置备和部署
  • 配置和调度
  • 资源分配
  • 容器可用性
  • 根据平衡基础架构中的工作负载而扩展或删除容器
  • 负载平衡和流量路由
  • 监控容器的健康状况
  • 根据运行应用的容器来配置应用
  • 保持容器间交互的安全

容器编排工具提供了用于大规模管理容器和微服务架构的框架。容器生命周期的管理有许多容器编排工具可用。

一些常见的方案包括:Kubernetes、Docker Swarm 和 Apache Mesos。

Kubernetes 是一个最初由 Google 工程师开发和设计的开源容器编排工具。2015 年,Google 将 Kubernetes 项目捐赠给新成立的云原生计算基金会。

 Kubernetes 编排功能,可以构建跨多个容器的应用服务、跨集群调度容器、扩展这些容器,并长期持续管理它们的健康状况。

Kubernetes 可以省去应用容器化过程的许多手动部署和扩展操作。可以将运行 Linux 容器的多组主机(物理机或虚拟机)聚集在一起,由 Kubernetes 平台来轻松高效地管理这些集群。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/377126.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ROS从入门到精通2-6:Rviz可视化进阶(画坐标轴、直线、平面、圆柱等)

目录0 专栏介绍1 Rviz可视化2 环境配置3 使用方法4 测试用例0 专栏介绍 本专栏旨在通过对ROS的系统学习,掌握ROS底层基本分布式原理,并具有机器人建模和应用ROS进行实际项目的开发和调试的工程能力。 🚀详情:《ROS从入门到精通》…

因《狂飙》张颂文,吐槽广东人比内地人聪明,周杰才是地域黑鼻祖

最近一段时间,电视剧《狂飙》落下帷幕,但是关于这部电视剧的争议,却从来就没有停止过。尤其是主演张颂文,更是受到了大家的关注,不但圈住了很多的粉丝,影视圈很多同行也对他赞许有加。 自古以来同行是冤家&…

SSM-SpringBoot(快速启动,yaml配置)

1 SpingBoot简介 1.1 创建SpringBoot项目 创建 层次 boot程序最基本的架子 开发 RestController RequestMapping("/books") public class BookController {GetMapping("/{id}")public String getById(PathVariable Integer id){System.out.println(&qu…

亚马逊云科技张文翊:云计算正成为企业数字化的“技术底座”

在走进经济筑底重启回升的2023年,我们该如何直面这场需要时间验证的修复之旅?亚马逊全球副总裁、亚马逊云科技大中华区执行董事张文翊与《经济观察报》App的“企业家说2023”栏目展开对谈,分享亚马逊云科技如何立于云端,帮助企业上…

Java及JVM简介

世界上没有最好的编程语言,只有最适用于具体应用场景的编程语言 懂得JVM内部的内存结构、工作机制,是设计高扩展性应用和诊断运行时问题的基础,也是Java工程师进阶的必备能力。 java介绍 java是目前应用最为广泛的软件开发平台之一。随着…

Elasticsearch:创建一个简单的 “你的意思是?” 推荐搜索

“你的意思是” 是搜索引擎中一个非常重要的功能,因为它们通过显示建议的术语来帮助用户,以便他可以进行更准确的搜索。比如,在百度中,我们进行搜索时,它通常会显示一些更为常用推荐的搜索选项来供我们选择&#xff1a…

MyEclipse技术全面解析——EJB开发工具介绍(二)

在上文中(点击这里回顾>>),我们为大家介绍了MyEclipse EJB开发工具以及如何创建一个EJB项目。本文将继续讲解如何EJB 3.x项目的持久性支持,以及EJB项目的参数等,欢迎下载最新版MyEclipse体验!MyEclip…

【JAVA程序设计】【C00106】基于SSM(非maven)的演唱会网上订票系统——有文档

【C00106】基于SSM(非maven)的演唱会网上订票系统——有文档项目简介项目获取开发环境项目技术运行截图项目简介 基于SSMBootstrapMYSQL演唱会网上订票系统分为二个角色:系统管理员、用户 管理员角色包含以下功能: 管理员信息、网…

taobao.user.seller.get( 查询卖家用户信息 )

¥开放平台基础API必须用户授权 查询卖家用户信息(只能查询有店铺的用户) 只能卖家类应用调用。 公共参数 请求地址: HTTP地址 http://gw.api.taobao.com/router/rest 公共请求参数: 公共响应参数: 请求参数 点击获取key和secret请求示例…

华为OD机试模拟题 用 C++ 实现 - 叠放书籍(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)) 文章目录 最近更新的博客使用说明叠放书籍题目输入输出示例一输入输出Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单…

Linux命令之lz4命令

一、lz4命令简介 LZ4是一种压缩格式,特点是压缩/解压缩速度超快(压缩率不如gzip),如果你特别在意压缩速度,或者当前环境的CPU资源紧缺,可以考虑这种格式。lz4是一种非常快速的无损压缩算法,基于字节对齐LZ77系列压缩方…

Mysql 常用日期处理函数

Mysql 常用日期处理函数 1 建表语句 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0; -- ---------------------------- -- Table structure for emp -- ---------------------------- DROP TABLE IF EXISTS emp; CREATE TABLE emp (EMPNO int(4) NOT NULL,ENAME varchar(10…

网络编程Socket套接字,UDP和TCP的服务器客户端程序实现

目录 一. 何为网络编程 二. Socket套接字 1. 简单认识 UDP 和 TCP 2. 基于 UDP 实现简单的客户端服务器的网络通信程序 1. 方法使用 2. 回显服务器的实现 3. 回显客户端的实现 3. 基于 UDP 实现简单的客户端服务器的网络通信程序 1. 方法使用 2. 回显服务器的实现 …

NSGA-Ⅲ源代码

NSGA-Ⅲ源代码如下,供大家学习和应用。该算法在梯级水电-火电的应用订阅专栏即可查看: 1、主函数 % % Copyright (c) 2016, Mostapha Kalami Heris & Yarpiz (www.yarpiz.com) % All rights reserved. Please read the "LICENSE" file…

【项目实战】从0开始入门JDK源码 - LinkedList源码 - 实现双端队列、队列、栈分析

一、类图分析 从 LinkedList的类图可以知道,LinkedList实现了 Deque双端队列接口 1.1 LinkedList拥有队列、双端队列的特性 Deque接口继承于 Queue接口,所以 LinkedList拥有队列、双端队列的特性; 1.2 LinkedList同时也拥有栈的特性 其次,JAVA中,有一个过时类 Stac…

电子科技大学软件工程期末复习笔记(六):软件测试

目录 前言 重点一览 软件测试 基本原则 目标 测试用例 软件缺陷 调试与测试 测试与质量保证 软件测试的评估准则 黑盒测试 定义 等价类划分 边界值分析 状态测试 白盒测试 定义 逻辑覆盖测试 控制流图覆盖测试 基本路径测试 灰盒测试 静态测试 含义 范…

产品分析|虎扑APP

不同于传统的体育新闻门户网站,虎扑以篮球社区起家,在经历了从体育论坛到体育新闻网站的发展后,又逐渐回归社区发展。 目前,虎扑汇聚了大量的男性用户,俨然成为了“互联网直男的自留地”。特立独行的发展方向使得虎扑不断发展壮大,同时也使得虎扑逐渐触碰到了行业天花板。…

大数据算法自检

1 大数据亚线性空间算法 1.1 流模型的计数问题 问题定义?用什么算法?算法步骤?(提示:三层递进) 切比雪夫不等式?怎么证明?期望,方差,空间复杂度? 极其有限的空间存储极…

【音视频开发】 ffmpeg解码API

1.版本迭代ffmpeg解码API经过了好几个版本的迭代,上一个版本的API是解码视频:avcodec_decode_video2解码音频:avcodec_decode_audio4我们现在能看到的很多解码例子用的都是这两个,不过现在ffmpeg更推荐用新一代的API向解码器输送数…

04 中间件-提高框架的可拓展性

到目前为止我们已经完成了 Web 框架的基础部分,使用 net/http 启动了一个 Web 服务,并且定义了自己的 Context,可以控制请求超时。 在前面的controller.go中有一个超时控制逻辑: func FooControllerHandler(c *framework.Context…