【云原生丶Kubernetes】从应用部署的发展看Kubernetes的前世今生

这篇具有很好参考价值的文章主要介绍了【云原生丶Kubernetes】从应用部署的发展看Kubernetes的前世今生。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在了解Kubernetes之前,我们十分有必要先了解一下应用程序部署的发展历程,下面让我们一起来看看!

【云原生丶Kubernetes】从应用部署的发展看Kubernetes的前世今生,云原生,# 你好 Kubernetes,云原生,kubernetes,容器,Kubernetes的前世今生

应用部署的发展历程

我们先来看看应用程序部署的3个阶段:从物理机部署到虚拟机部署,再到容器化部署,他们之间有何优劣势呢?

【云原生丶Kubernetes】从应用部署的发展看Kubernetes的前世今生,云原生,# 你好 Kubernetes,云原生,kubernetes,容器,Kubernetes的前世今生
1、物理机部署 :多个应用进程部署在同一个物理机上,但是容易出现进程间抢占资源的问题。

2、虚拟机部署 :虚拟化技术出现,从物理机虚拟出多个虚拟机,每台虚拟机部署一个应用进程,不同的虚拟机上运行不同的进程,没有资源冲突,从而解决了进程间资源抢占的问题。但是在集群部署的情况下,文件的版本和配置文件容易碎片化,当线上出现问题时,排查问题很棘手。而且由虚拟机管理系统负责控制和管理所有的虚拟机,这也造成了额外的性能、存储、网络开销

3、容器部署 :容器技术的出现,解决了虚拟机部署的痛点。容器技术通过镜像文件,如果要修改软件版本,只需要修改镜像文件,部署时所有容器重新拉取新的镜像,所以解决了软件版本的问题。

可以看到,所有的技术并不是凭空出现的,他一定是为了解决某些问题,容器技术的出现无疑是应用部署的里程中最闪亮的星之一。


虚拟机和容器部署的特性对比

容器技术相较于虚拟机来说,在性能、内存、运行密度、迁移性等各个方面都具有较大的优势

【云原生丶Kubernetes】从应用部署的发展看Kubernetes的前世今生,云原生,# 你好 Kubernetes,云原生,kubernetes,容器,Kubernetes的前世今生

Docker 是容器化部署的课代表!Docker 相比传统的虚拟机技术更轻量级,它可以将应用程序打包成容器镜像,每个容器都具有自己的应用程序和系统依赖,并共享宿主机的操作系统内核和系统资源。容器启动和停止比较快,占用的系统资源比虚拟机少, Docker 适用于快速部署和迁移应用程序的场景。


使用Docker部署的优势是什么?

  1. 更快速的交付和部署:使用Docker镜像可以快速构建应用程序的运行环境,快速的创建和删除容器,实现快速迭代。
  2. 更高效的资源利用Docker是内核级的虚拟化,不需要额外的虚拟机管理系统,相比传统虚拟机方式能够更高效的利用硬件资源。
  3. 更轻松的迁移和扩展:由于 Docker 确保了执行环境的一致性,使得应用的迁移更加容易。Docker可以在任意平台上运行,支持主流的操作系统版本,用户可以在不用的平台之间轻松的迁移应用
  4. 更简单的更新管理:使用DockerFile只需要简单的修改版本,就可以替代大量的更新工作。

📢 相比物理机和虚拟机,Docker容器技术的优势显而易见,但是Docker仍然有以下问题没有解决:比如无法实现自动化扩容和故障后的自愈,但是在企业级应用来说,通常有成千上万的容器,这使得管理起来极其的复杂,此时,就需要容器编排系统来解决这些问题。

【云原生丶Kubernetes】从应用部署的发展看Kubernetes的前世今生,云原生,# 你好 Kubernetes,云原生,kubernetes,容器,Kubernetes的前世今生

为了解决自动扩缩容和故障后自愈等问题,容器编排技术应运而生


Kubernetes起源与发展


Kubernetes起源

所谓容器编排技术,就是为了更好的管理和部署容器化的应用程序!容器编排系统提供了如下的能力:

  1. 集群管理与基础设施抽象:将多个虚拟机或物理机构建成协同运行的集群,并将这些硬件基础设施抽象为一个统一的资源池
  2. 资源分配和优化:基于配置清单中指定的资源需求与现实可用的资源量,利用成熟的调度算法合理调度工作负载
  3. 应用部署:支持跨主机自动部署容器化应用,支持多版本并存、滚动更新和回滚
  4. 应用伸缩:支持应用实例规模的自动或手动伸缩
  5. 应用隔离:支持为租户、项目或应用进行访问隔离
  6. 服务可用性:利用状态能监测和应用重构等机制确保服务始终健康运行

目前比较流行的容器编排技术开源框架有如下几种,其中 Kubernetes 是最流行的:

  1. Kubernetes:是目前最流行的容器编排工具之一,由Google开发并维护。它提供了完整的容器编排解决方案,包括自动化部署、资源管理和调度、服务发现和负载均衡等功能。
  2. Docker Swarm:是Docker官方提供的容器编排工具,支持自动扩展和管理多个Docker主机上的容器。它提供了简单的命令行界面和RESTful API,方便用户进行操作和管理。
  3. Apache Mesos:是Apache软件基金会的一个项目,旨在提供一个可扩展的分布式系统内核,支持多种编程语言和应用程序。它提供了资源管理和调度功能,可以管理多个容器实例和集群中的任务。
  4. Nomad:是一个轻量级的容器编排工具,支持跨平台和多云环境。它提供了简单易用的API和CLI工具,方便用户进行操作和管理。

⭐️ Kubernetes 一词源于希腊语,意为“舵手”或“飞行员”。因为 Ks 中间有8个单词(ubernete),又简称K8s。它最初是由Google基于GO语言开发的,旨在简化容器部署和管理。Kubernetes的设计灵感来自于Google内部使用的Borg系统,而Borg系统则是由Google工程师根据他们在大规模应用程序管理方面的经验开发的,用于调度数十亿的容器和工作负载。

此后,谷歌基于在公有云底层基础设施方面商业增长的考虑,开发了 Kubernetes 并进行了开源。

Kubernetes发展

Kubernetes 的发展历程可以分为以下几个阶段:

  • 2014年6月 谷歌云计算专家 Eric Brewer在旧金山的发布会上为这款开源工具揭牌。
  • 2015年7月 Kubernetes迭代到 v1.0并在OSCON大会上正式对外公布。
  • 2015年 CNCF基金会成立,Kubernetes 成为CNCF最为核心的项目之一。
  • 2018年 超过1700开发者成为 Kubernetes 项目社区的贡献者,全球有500多长沙龙
  • 2020年 Kubernetes 项目成为贡献者仅次于 Linux项目的第二大开源项目,各大厂商纷纷宣布支持 Kubernetes 作为容器编排的解决方案。
  • 2023年 贡献者 3458starts 99.6kforks 36.6k ,数百家厂商和技术社区共同共建了非常强大的云原生生态!

🎉 如果喜欢这篇文章,点赞👍 收藏关注 ✅ 哦,创作不易,感谢!😀

【云原生丶Kubernetes】从应用部署的发展看Kubernetes的前世今生,云原生,# 你好 Kubernetes,云原生,kubernetes,容器,Kubernetes的前世今生文章来源地址https://www.toymoban.com/news/detail-531102.html

到了这里,关于【云原生丶Kubernetes】从应用部署的发展看Kubernetes的前世今生的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云原生Kubernetes:简化K8S应用部署工具Helm

    目录 一、理论 1.HELM ​编辑 2.部署HELM2 3.部署HELM3(2to3方式) 4.部署HELM3(单独安装) 二、实验 1.部署 HELM2 2.部署HELM3(2to3方式) 3.部署HELM3(单独安装) 三、问题 1.api版本过期 2.helm初始化报错 3.pod状态为ImagePullBackOff 4.helm 命令显示 no repositories to show 的错误 5.Helm安装报错

    2024年02月07日
    浏览(49)
  • 【区块链杂谈】区块链的前世今生(今生)

    在前面,我们回顾了区块链技术自诞生到野蛮生长的三个阶段,自某些不可抗因素主动干预之后,整个市场因为比特币价格的腰斩而萎靡不振,热衷于赚取热钱快钱的投机者逐渐退出,只留下了一片狼藉。 在这样的背景下, 区块链的发展逐渐由币价驱动转向技术驱动 ,投机

    2024年02月09日
    浏览(33)
  • Main()函数的前世今生

             在开始分析程序之前,我们第一个要解决的问题,就是如何定位到 main函数,想要从二进制逆向的角度分析出main 函数,就必须要了解正向的代码下 main 函数的所有的细节和特 征。毕竟逆向的本质就是正向。 VS C++开发的程序在调试时总是从main或WinMain函数开始,这

    2024年02月09日
    浏览(37)
  • powerpc架构的前世今生

    PowerPC架构是一种基于精简指令集计算机(RISC)的处理器架构。它最初由IBM、Motorola和Apple共同开发,旨在为个人电脑、工作站和服务器提供高性能和可扩展性。 PowerPC架构在1991年首次推出,后来成为苹果Macintosh电脑的主要处理器架构。它在苹果电脑上使用的时间从1994年持续到

    2024年02月10日
    浏览(32)
  • Mycat之前世今生

    如果我有一个32核心的服务器,我就可以实现1个亿的数据分片,我有32核心的服务器么?没有,所以我至今无法实现1个亿的数据分片。——MyCAT ‘s Plan 话说“每一个成功的男人背后都有一个女人”,自然MyCAT也逃脱不了这个诅咒,MyCAT背后是阿里曾经开源的知名产品——Coba

    2024年02月10日
    浏览(23)
  • InfiniBand 的前世今生

    今年,以 ChatGPT 为代表的 AI 大模型强势崛起,而 ChatGPT 所使用的网络,正是 InfiniBand,这也让 InfiniBand 大火了起来。那么,到底什么是 InfiniBand 呢?下面,我们就来带你深入了解 InfiniBand。 InfiniBand(也称为“无限带宽”,缩写为 IB)是一个用于高性能计算的计算机网络通信标

    2024年02月06日
    浏览(33)
  • CADisplayLink前世今生

    本文字数: 19803 字 预计阅读时间: 50 分钟 用最通俗的语言,描述最难懂的技术 上周同事做 code review 的时候说到了 CADisplayLink 的一些变化,感触颇深,提到了接口的一些变动,现在就自己的一些理解加上网上文档的查阅对该对象进行以下的说明: 测试环境 编译环境:Xcod

    2024年02月09日
    浏览(46)
  • Docker 的前世今生

    🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬

    2024年02月16日
    浏览(40)
  • 提示工程的前世今生

    原文链接:芝士AI吃鱼 通过提示进行情境学习 在生物学中,涌现是一种令人难以置信的特性,由于相互作用的结果,各个部分聚集在一起,表现出新的行为(称为涌现),这是你在较小的尺度上看不到的。更令人难以置信的是,即使较小比例的版本看起来与较大比例相似,但

    2024年02月13日
    浏览(40)
  • 1 Go的前世今生

    概述         Go语言正式发布于2009年11月,由Google主导开发。它是一种针对多处理器系统应用程序的编程语言,被设计成一种系统级语言,具有非常强大和有用的特性。Go语言的程序速度可以与C、C++相媲美,同时更加安全,支持并行进程。此外,Go语言也支持面向对象编程

    2024年02月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包