【容器编排】初识 Kubernetes

news2024/11/15 17:40:37

目录

1.简介

2.为什么需要 k8s

3.k8s 能做什么?

4.k8s 不是什么?


1.简介

摘取官网: 概述 | Kubernetes

        Kubernetes 这个名字源于希腊语,意为舵手飞行员。k8s 这个缩写是因为 k 和 s 之间有八个字符的关系。 Google 在 2014 年开源了 Kubernetes 项目。 Kubernetes 建立在 Google 大规模运行生产工作负载十几年经验的基础上, 结合了社区中最优秀的想法和实践。

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

        从 2014 年第一个版本发布以来,Kuberetes 迅速获得开源社区的追捧,包括 Red Hat、VMware 在内的很多有影响力的公司加入到开发和推广的阵营。目前 Kubernetes 已经成为发展最快、市场占有率最高的容器编排引攀产品。

2.为什么需要 k8s

摘取官网: 概述 | Kubernetes

传统部署时代:

        早期,各个组织是在物理服务器上运行应用程序。由于无法限制在物理服务器中运行的应用程序资源使用,因此会导致资源分配问题。 例如,如果在同一台物理服务器上运行多个应用程序, 则可能会出现一个应用程序占用大部分资源的情况,而导致其他应用程序的性能下降。 一种解决方案是将每个应用程序都运行在不同的物理服务器上, 但是当某个应用程式资源利用率不高时,剩余资源无法被分配给其他应用程式, 而且维护许多物理服务器的成本很高

虚拟化部署时代:

        因此,虚拟化技术被引入了。虚拟化技术允许你在单个物理服务器的 CPU 上运行多台虚拟机(VM)。 虚拟化能使应用程序在不同 VM 之间被彼此隔离,且能提供一定程度的安全性, 因为一个应用程序的信息不能被另一应用程序随意访问

        虚拟化技术能够更好地利用物理服务器的资源,并且因为可轻松地添加或更新应用程序, 而因此可以具有更高的可扩缩性,以及降低硬件成本等等的好处。 通过虚拟化,你可以将一组物理资源呈现为可丢弃的虚拟机集群。

每个 VM 是一台完整的计算机,在虚拟化硬件之上运行所有组件,包括其自己的操作系统

容器部署时代:

        容器类似于 VM,但是更宽松的隔离特性,使容器之间可以共享操作系统(OS)。 因此,容器比起 VM 被认为是更轻量级的。且与 VM 类似,每个容器都具有自己的文件系统、CPU、内存、进程空间等。 由于它们与基础架构分离,因此可以跨云和 OS 发行版本进行移植。容器的出现解决了应用和基础环境异构的问题,让应用可以做到一次构建,多次部署。不可否认容器是打包和运行应用程序的好方式,因此容器方式部署变得流行起来。但随着容器部署流行,仅仅是基于容器的部署仍有一些问题没有解决:

  • 生产环境中, 你需要管理运行着应用程序的容器,并确保服务不会下线。 例如,如果一个容器发生故障,则你需要启动另一个容器。

  • 高并发时,你需要启动多个应用程序容器为系统提高高可用,并保证多个容器能负载均衡。

  • 在维护、升级版本时,你需要将运行应用程序容器从新部署,部署时必须对之前应用容器备份,一旦出现错误,需要手动启动之前容器保证系统运行。

如果以上行为交由给系统处理,是不是会更容易一些?那么谁能做到这些?

3.k8s 能做什么?

摘取官网: 概述 | Kubernetes

        这就是 Kubernetes 要来做的事情! Kubernetes 为你提供了一个可弹性运行分布式系统的框架。 Kubernetes 会满足你的扩展要求、故障转移你的应用、提供部署模式等。Kubernetes 为你提供:

  • 服务发现和负载均衡

    Kubernetes 可以使用 DNS 名称或自己的 IP 地址来暴露容器。 如果进入容器的流量很大, Kubernetes 可以负载均衡并分配网络流量,从而使部署稳定。

  • 存储编排

    Kubernetes 允许你自动挂载你选择的存储系统,例如本地存储、公共云提供商等。

  • 自动部署和回滚

    你可以使用 Kubernetes 描述已部署容器的所需状态, 它可以以受控的速率将实际状态更改为期望状态。 例如,你可以自动化 Kubernetes 来为你的部署创建新容器, 删除现有容器并将它们的所有资源用于新容器。

  • 自动完成装箱计算/自动资源调度

    你为 Kubernetes 提供许多节点组成的集群,在这个集群上运行容器化的任务。 你告诉 Kubernetes 每个容器需要多少 CPU 和内存 (RAM)。 Kubernetes 可以将这些容器按实际情况调度到你的节点上,以最佳方式利用你的资源。

  • 自我修复/自愈能力

    Kubernetes 将重新启动失败的容器、替换容器、杀死不响应用户定义的运行状况检查的容器, 并且在准备好服务之前不将其通告给客户端。

  • 密钥与配置管理

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

4.k8s 不是什么?

        Kubernetes 不是传统的、包罗万象的 PaaS(平台即服务)系统。 由于 Kubernetes 是在容器级别运行,而非在硬件级别,它提供了 PaaS 产品共有的一些普遍适用的功能, 例如部署、扩展、负载均衡,允许用户集成他们的日志记录、监控和警报方案。 但是,Kubernetes 不是单体式(monolithic)系统,那些默认解决方案都是可选、可插拔的。 Kubernetes 为构建开发人员平台提供了基础,但是在重要的地方保留了用户选择权,能有更高的灵活性。

Kubernetes:

  • 不限制支持的应用程序类型。 Kubernetes 旨在支持极其多种多样的工作负载,包括无状态、有状态和数据处理工作负载。 如果应用程序可以在容器中运行,那么它应该可以在 Kubernetes 上很好地运行。

  • 不部署源代码,也不构建你的应用程序。 持续集成(CI)、交付和部署(CI/CD)工作流取决于组织的文化和偏好以及技术要求。

  • 不提供应用程序级别的服务作为内置服务,例如中间件(例如消息中间件)、 数据处理框架(例如 Spark)、数据库(例如 MySQL)、缓存、集群存储系统 (例如 Ceph)。这样的组件可以在 Kubernetes 上运行,并且/或者可以由运行在 Kubernetes 上的应用程序通过可移植机制(例如开放服务代理)来访问。

  • 不是日志记录、监视或警报的解决方案。 它集成了一些功能作为概念证明,并提供了收集和导出指标的机制。

  • 不提供也不要求配置用的语言、系统(例如 jsonnet),它提供了声明性 API, 该声明性 API 可以由任意形式的声明性规范所构成。

  • 不提供也不采用任何全面的机器配置、维护、管理或自我修复系统。

  • 此外,Kubernetes 不仅仅是一个编排系统,实际上它消除了编排的需要。 编排的技术定义是执行已定义的工作流程:首先执行 A,然后执行 B,再执行 C。 而 Kubernetes 包含了一组独立可组合的控制过程,可以连续地将当前状态驱动到所提供的预期状态。 你不需要在乎如何从 A 移动到 C,也不需要集中控制,这使得系统更易于使用且功能更强大、 系统更健壮,更为弹性和可扩展。

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

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

相关文章

Vue3自定义封装音频播放器

🚀 本片主要讲解如何使用Vue3去封装一个音频播放器,以及解决在ios微信浏览器中 无法获取音频时长问题 一、效果图 二、解决在微信环境中ios无法获取音频时长问题 1、安装weixin-js-sdk cnpm i weixin-js-sdk --save2、使用,通过wx.ready中重…

【CAS6.6源码解析】深入解析TGT和ST的唯一ID是怎样生成的-探究ID生成器的设计

CAS作为一款企业级中央认证服务系统,其票据的生成是非常重要的一环,在票据的生成中,有一个比较重要的点就是为票据生成唯一ID,本文将深入解析CAS系统中的TGT和ST的唯一ID是怎样生成的。 文章重点分析源码的过程,不想看…

W2NER详解

论文:https://arxiv.org/pdf/2112.10070.pdf 代码:https://github.com/ljynlp/W2NER 文章目录 W2NER介绍模型架构解码 源码介绍数据输入格式模型代码 参考资料 W2NER 介绍 W2NER模型,将NER任务转化预测word-word(备注&#xff…

基于flask旅游大数据可视化分析推荐系统-计算机毕设 附源码10903

flask旅游大数据可视化分析推荐系统 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对旅游大…

味知香VS千味央厨,谁是预制菜新王?

夏日炎炎,预制菜赛道的下半场也硝烟弥漫,可谓“冰火两重天”。 预制菜赛道两大“玩家”:“预制菜第一股”味知香(605089.SH)、“餐饮供应链第一股”千味央厨(001215.SZ)均于近日公布了2023年一季报,其业绩有所分化。 …

3D Web轻量化渲染开发工具HOOPS Communicator是什么?

HOOPS Communicator是Tech Soft 3D旗下的主流产品之一,具有强大的、专用的高性能图形内核,是一款专注于基于Web端的高级3D工程应用程序。由HOOPS Server和HOOPS Web Viewer两大部分组成,提供了HOOPS Convertrer、Data Authoring的模型转换和编…

考试系统对教育评估的作用和意义

随着现代教育的发展,考试系统已经成为评估学生学业水平的重要工具。考试系统通过量化学生的知识掌握程度、学术能力和解决问题的能力,为教育评估提供了客观的数据基础。 考试系统能够帮助学校和教育部门全面了解学生的学习状况。通过考试结果&#xff0…

2023东三省“深圳杯”A题全保姆论文讲解

A题 影响城市居民身体健康的因素分析 以心脑血管疾病、糖尿病、恶性肿瘤以及慢性阻塞性肺病为代表的慢性非传染性疾病(以下简称慢性病)已经成为影响我国居民身体健康的重要问题。随着人们生活方式的改变,慢性病的患病率持续攀升。众所周知&am…

C#winform顺序打包成安装项目(VS2022)

一、在打包之前 (VS中需要包括Microsoft visual studio installer projects扩展项目) 1、在vs中找到扩展>管理扩展>搜索 installer projects 进行扩展的下载 2、右键Application Folder >点击 Add>点击项目输出>点击确认后>旁边则会生成一个主输出的文 3、…

132个心理性格趣味测试ACCESS\EXCEL数据库

今天又遇到了一个心理测试的数据库,这个数据库在表结构的设置上很直观,属于那种好的数据库结构,共分三个表,一个是测试项目描述表、一个是测试题选项得分表、一个是根据得分区间解析表,表与表之间通过“question_id”字…

WIFI模块常见的三种接口类型

什么是WIFI接口: WIFI接口是用于让设备无线连接到网络的功能,使你的电脑、手机、平板等设备可以通过无线信号连接到互联网或局域网。 1.USB接口 USB接口是平时见得最多的一种接口了,用在wifi模块上,它是一种通用串行总线&#…

docker如何运行容器?

文章目录 1 容器操作1.1容器相关命令1.2 创建并运行一个容器docker命令解析nacos启动成功 访问进入容器,修改配置文件 总结 接上集 CentOS 7安装Docker https://blog.csdn.net/qq_39017153/article/details/131955100 1 容器操作 1.1容器相关命令 容器操作的命令如…

【客户案例】云联壹云助力某保险公司搭建公有云费用管理平台

客户介绍 客户成立于 1996 年 11 月,现已拥有逾 2000 名员工和 12000 名营销员,为 280 万客户提供专业的金融保险服务。在上海、北京、广东、浙江、江苏、四川、山东、福建、重庆、辽宁、天津、湖北、河北、湖南和陕西等地的 50 多个城市稳步发展&#…

激光雷达在辅助驾驶领域正在沦为“花拳绣腿”?

摘要: 激光雷达的优点显而易见,但如何结合算法发挥出激光雷达的优势,我想除了主机厂以外,激光雷达厂商也可以主动参与,主动探索先进的融合感知算法,向行业不断证明:我不是个“花瓶”。 激光雷达…

CMake简介

文章目录 为什么需要头文件为什么 C 需要声明头文件 - 批量插入几行代码的硬核方式头文件进阶 - 递归地使用头文件 CMake什么是编译器多文件编译与链接CMake 的命令行调用为什么需要库(library)CMake 中的静态库与动态库CMake 中的子模块子模块的头文件如…

进入NetApp FAS存储系统loader的三种方法

有时候需要在loader模式下对系统硬件做一些offline的诊断,但offline 对系统物理部件做诊断需要进入到loader模式,如何从一个正常运行的系统进入到loader模式呢? 第一种就是启动的时候看到CtrlC的提示,就可以顺利进入loader。 如…

网络工程毕设-----基于华为ensp搭建校园网

本实验用华为模拟器ensp搭建简单的校园网络,其中用到的技术有动态路由协议OSPF,静态路由配置,HTTP、DNS以及FTP服务器的配置,PNAT端口地址转换协议,MSTP多生成树协议,VLAN划分及配置IP地址划分及配置等! 选…

机器学习实战:Python基于EM期望最大化进行参数估计(十五)

文章目录 1. 前言1.1 EM的介绍1.2 EM的应用场景 2. 高斯混合模型估计2.1 导入函数2.2 创建数据2.3 初始化2.4 Expectation Step2.5 Maximization step2.6 循环迭代可视化 3. 多维情况4. 讨论 1. 前言 1.1 EM的介绍 (Expectation-Maximization,EM&#…

实战案例:使用 Python 机器学习预测外卖送餐时间

现在的天气是一天比一天热,好多人周末休息在家的时候,就会选择点外卖,毕竟出去一趟又晒又热。 如果你太饿了,点餐太晚了,就可能去关注外卖员送餐到哪了,还有多少时间能送达。 这些信息在美团、饿了吗的Ap…

MapReduce原理剖析

一、基本介绍 MapReduce是Hadoop的核心,是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概念“Map(映射)”和“Reduce(化简)”,及他们的主要思想&am…