Kubernetes - Kubernetes是什么?_kubernetes是一个可扩展的系统。-程序员宅基地

技术标签: kubernetes  运维  devops  容器技术  Kubernetes  

Kubernetes - Kubernetes是什么?

Kubernetes是一个可移植的、可扩展的、开源的平台,用于管理容器化的工作负载和服务,它促进了声明式配置和自动化。它有一个庞大的,快速增长的生态系统。Kubernetes的服务、支持和工具是广泛可用的。

时光倒流

通过时光倒流,让我们来看看为什么Kubernetes如此有用。

在这里插入图片描述
传统部署时代:早期,在物理服务器上运行应用程序。在物理服务器中无法为应用程序定义资源边界,这导致了资源分配问题。例如,多个应用程序在一台物理服务器上运行,则可能存在这样的情况:一部分应用程序占用了物理服务器的大部分资源,这样会导致另一部分应用程序的性能不佳,因为这一部分应用程序分配的资源不能满足基本要求。解决方案是在不同的物理服务器上运行每个应用程序。但由于资源未得到充分利用,而且组织和维护大量物理服务器的成本也很高。

虚拟化部署时代:作为一种解决方案,引入了虚拟化。它允许在单个物理服务器的CPU上运行多个虚拟机(VM)。虚拟化允许应用程序在虚拟机之间隔离,并提供安全级别,因为一个应用程序的信息不能由另一个应用程序自由访问。

虚拟化可以更好地利用物理服务器中的资源,并提供了更好的可扩展性,因为可以轻松地添加或更新应用程序,降低硬件成本,等等。通过虚拟化,可以将一组物理资源表示为一组可丢弃的虚拟机。

每个虚拟机都是一台完整的机器,在虚拟化硬件上运行所有组件,包括自己的操作系统。

容器部署时代:容器与虚拟机(VM)类似,但容器具有更宽松的隔离属性,以便在应用程序之间共享操作系统(OS)。因此,容器被认为是轻量级的。与VM类似,容器有自己的文件系统、CPU、内存、进程空间等等。由于它们与底层基础设施分离,所以它们可以跨云和操作系统发行版本进行移植。

容器之所以流行,是因为它们提供了额外的好处,例如:

  • 敏捷的应用程序创建和部署:与使用VM镜像相比,容器镜像创建更加容易和高效。
  • 持续的开发、集成和部署:提供可靠和频繁的容器镜像构建和部署,并提供快速和简单的回滚(由于镜像不可变)。
  • Dev和Ops关注点分离:在构建/发布时,而不是部署时创建应用程序容器镜像,从而将应用程序与基础设施分离。
  • 可观测性:不仅显示操作系统级的信息和指标,而且还显示应用程序的健康状态和其他信号。
  • 跨开发、测试和生产的环境一致性:在笔记本电脑上运行与在云中运行相同。
  • 跨云和操作系统发行版本进行移植:运行在Ubuntu、RHEL、CoreOS、本地、主要公共云和其他任何地方。
  • 以应用程序为中心的管理:将抽象级别从在虚拟硬件上运行的操作系统,提高到使用逻辑资源的操作系统上运行的应用程序。
  • 松散耦合的、分布式的、弹性的、自由的微服务:应用程序被分成更小的、独立的部分,并且可以动态地部署和管理,而不是在一台大型单机上整体运行。
  • 资源隔离:可预测的应用程序性能。
  • 资源利用:高效率、高密度。

为什么你需要Kubernetes以及它能做什么?

容器是打包和运行应用程序的好方法。在生产环境中,需要管理运行应用程序的容器,并确保不会停机。例如,如果一个容器出现故障了,则需要启动另一个容器。如果这种行为由一个系统来处理,不是更容易吗?

Kubernetes就是解决这些问题的方法!Kubernetes提供了一个可弹性运行分布式系统的框架。它负责应用程序的扩展和故障切换、提供部署模式等。例如,Kubernetes可以轻松地管理系统的Canary部署。

Kubernetes提供:

  • 服务发现和负载平衡:Kubernetes可以使用域名或IP地址公开容器。如果容器的通信量很高,Kubernetes能够进行负载均衡并分配网络流量,以便部署稳定。
  • 存储编排:Kubernetes允许自动挂载你选择的存储系统,如本地存储、公共云提供商等。
  • 自动部署和回滚:你可以使用Kubernetes描述所部署容器的期望状态,并且可以以可控的速率将实际状态更改为所需状态。例如,你可以自动化Kubernetes为你的部署创建新的容器,移除现有的容器,并将它们的所有资源用于新容器。
  • 自动装箱:Kubernetes提供了一个节点集群,可以用来运行集装箱化任务。告诉Kubernetes每个容器需要多少CPU和内存(RAM)。Kubernetes可以在节点上安装容器,以充分利用资源。
  • 自我修复:Kubernetes会重新启动失败的容器、替换容器、杀死那些不响应用户定义的健康状态检查的容器,并且在它们准备好服务之前,不会将它们通告给客户端。
  • 密钥和配置管理:允许存储和管理敏感信息,例如密码、OAuth令牌和SSH密钥。可以部署和更新密钥和应用程序配置,而无需重建容器镜像,也无需暴露堆栈配置中的密钥。

Kubernetes不是什么?

Kubernetes并不是一个传统的、包罗万象的PaaS(平台即服务)系统。由于Kubernetes在容器级别而不是硬件级别上运行,因此它提供了一些PaaS产品的通用特性,例如部署、扩展、负载均衡,并提供了允许用户集成日志记录、监控和警报的解决方案。但是,Kubernetes不是单体系统,默认解决方案都是可选和可插拔的。 Kubernetes提供了构建开发人员需要的平台的基础,但是在重要的模块保留了用户的自由选择和灵活性。

Kubernetes:

  • 不限制支持的应用程序类型。Kubernetes旨在支持各种各样的工作负载,包括无状态、有状态和数据处理工作负载。如果一个应用程序可以在容器中运行,那么它应该在Kubernetes上运行得很好。
  • 不部署源代码,也不构建应用程序。持续集成、交付和部署(CI/CD)工作流由组织文化和偏好以及技术要求决定。
  • 不提供应用程序级服务,例如中间件(如消息中间件等)、数据处理框架(如Spark等)、数据库(如MySQL等)、缓存,也不提供集群存储系统(如Ceph等)作为内置服务。这样的组件可以在Kubernetes上运行,并且/或者可以由运行在Kubernetes上的应用程序通过可移植机制(如开放服务代理)来访问。
  • 不指定日志记录,监控或警报解决方案。它提供了一些集成作为概念证明,并提供了收集和导出指标的机制。
  • 不提供也不强制要求配置语言/系统(例如Jsonnet)。它提供了一个声明性API,该声明性API可以由任意形式的声明性规范所构成。
  • 不提供、不采用任何全面的机器配置、维护、管理或自我修复系统。
  • 此外,Kubernetes不仅仅是一个编排系统。事实上,它消除了编排的需要。编排的技术定义是执行一个已定义的工作流:首先执行A,然后执行B,再执行C。相反,Kubernetes包含一组独立的、可组合的控制流程,这些流程不断地将当前状态推向所需的状态。如何从A到达C的方式已经无关紧要,也不需要集中控制。这使得系统更易于使用,功能更强大、更健壮、更具弹性和可扩展性。

官网原文

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_37960603/article/details/111613191

智能推荐

恒生电子鲸腾网络实习生_面经_笔经_恒生鲸腾-程序员宅基地

文章浏览阅读1.1k次。恒生电子鲸腾网络软件开发工程师实习生从笔试到offer经历了两天,记录一下笔试和面试的经历。笔试:对应的类型是:1、不定项选择题(基础理论题目,设计计算机网络、操作系统等) 10 × 4 = 40分2、C或java的不定项选择题(仍选一种语言)5 × 4 = 20 分3、数据sql语句编写(增删改查、索引等)3 × 5 = 15分4、编程题(文件操作)15分5、算法题(..._恒生鲸腾

ubuntu18.04下跑通maskrcnn_benchmark基于cuda10.1+cudnn7.6+anaconda+pytorch_ubuntu深度学习cnn-程序员宅基地

文章浏览阅读2k次,点赞2次,收藏25次。ubuntu18.04 配置cuda10.1+cudnn7.6+anaconda3+pytorch跑通maskrcnn_benchmark最近在用anaconda配置ubuntu系统下的深度学习环境,终于跑通了maskrcnn_benchmark,真的是踩了很多坑。。把配置过程记录下来,欢迎交流探讨。目录安装显卡驱动安装anaconda3安装cuda10.1安装cudnn7.6进行..._ubuntu深度学习cnn

Camunda中如何设置节点处理人默认为流程发起人_camunda 设置发起人-程序员宅基地

文章浏览阅读5.3k次,点赞2次,收藏8次。在实际使用Camunda流程引擎时,流程申请人会贯彻流程实例的全生命周期,例如第一个节点的处理人为流程申请人,其他节点的处理人也跟流程申请人相关,包括部门负责人,部门总监,流程申请人所在部门的综合管理员等。 下面将根据Camunda提供的StartEvent开始事件的Initiator属性以及流程变量来实现: 1、开始事件设置Initiator属性值为starter,该变量作为流程申请人供后续使用。 2、起草节点设置assignee值为$..._camunda 设置发起人

error: undefined reference to symbol '_ZN5boost6system15system_categoryEv-程序员宅基地

文章浏览阅读5.3k次。使用boost时遇到下面error: cmake version : 3.5.1/usr/bin/ld: CMakeFiles/RGBD.dir/src/ros_rgbd.cc.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'/usr/lib/x86_64-linux-gnu/lib..._undefined reference to symbol '_zn5boost6system15system_categoryev

微软高性能计算新贵WHS2008-程序员宅基地

文章浏览阅读135次。在11月最新公布的第三十次全球超级计算机排行榜上,微软系统只占据了区区6套,远不及Linux的381套。但作为软件行业的巨头,微软自然不会轻易放弃这块高端阵地,于是11月14日,WHS2008在这个时间走进了我们的视野。 Windows HPC Server 2008(WHS2008)是现有Windows Computer Cluster Server 2003(W..._whs2007

CentOS系统下docker的安装配置及使用详解-程序员宅基地

文章浏览阅读75次。2019独角兽企业重金招聘Python工程师标准>>> ..._linux中centos系统docke的r配置信息

随便推点

squirrelSql小松鼠数据库连接工具的安装以及连接informix(系列3,squirrelSql作为客户端连接)_小松鼠数据库客户端-程序员宅基地

文章浏览阅读3.5k次。squirrelSql小松鼠数据库连接工具的安装以及连接informix(系列3,squirrelSql作为客户端连接)一、下载下载网址http://www.squirrelsql.org1、点击下载:2、下载相应的版本,这里本人下载编译好的压缩版本。3、下载标准版本二、运行和连接informix1、解压后运行squirrel-sql.bat..._小松鼠数据库客户端

数字 IC 技能拓展(20)ZCU 102 开发经验_zcu102 cross trigger debug - xilinx wiki - conflue-程序员宅基地

文章浏览阅读1.2k次。数字 IC 技能拓展(20)ZCU 102 开发经验_zcu102 cross trigger debug - xilinx wiki - confluence

无类型指针void*的学习与使用_void *的指针怎么保存-程序员宅基地

文章浏览阅读1w次,点赞8次,收藏22次。C/C++中的指针介绍和void*指针的学习_void *的指针怎么保存

html看不见的字符,乱码——JSON字符串有含有看不见的未知字符-程序员宅基地

文章浏览阅读973次。当JSON字符串中含有未知字符时,会导致页面显示不出来。这在开发时很常见啊。今天俺就遇到了。线上BUG,显示不出来,问题就在于,这个字符串有可能是从其它地方copy过来的。首先,把线上本应显示出来的数据还原到本地后,一条条地排查,一百二十几条,里头有二十几条数据都是这个原因啊。咯,就是下面NotePad里显示的这个东西啊。就是这个玩意儿,导致页面数据显示不出来的。 现在把今天找出这个罪魁祸首的方法..._看不见的字符

XMPP完成注册和登录_xm代理登录-程序员宅基地

文章浏览阅读1.7k次。iOS中XMPP简单聊天实现 注册和登录目录1. 创建工程,完成简单页面的搭建页面搭建2.在登录页面(主页面)完成属性连线登录页面注册页面3.创建文件夹,导入xmpp框架,配置工程导入静态库加上-lxml2/usr/incl_xm代理登录

Access denied for user 'root '@'localhost' (using password: YES)解决办法_hikaripool access denied for user 'root'@'localhos-程序员宅基地

文章浏览阅读2.6k次。这里写自定义目录标题欢迎使用Markdown编辑器Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Access..._hikaripool access denied for user 'root'@'localhost' (using password: yes)

推荐文章

热门文章

相关标签