平台工程时代的 Kubernetes 揭秘:2023年生产状况报告深度剖析

news2024/11/17 19:41:20

Kubernetes 在生产环境中的复杂性已经成为常态,在2023年这个平台工程盛行的时代,容器管理的最大亮点可能在于其灵活性,然而在运维政策和治理等方面仍然存在诸多挑战。八年过去了,在生产环境中使用 Kubernetes 仍然需要面临许多挑战。
 

Spectro Cloud 刚刚与 Dimensional Research 合作发布了2023年 Kubernetes 生产状态报告文末查看报告获取方式)。Spectro Cloud 的项目负责人 Ant Newman 强调,要在当前的IT环境下实现标准化,为所有应用程序提供相同的堆栈是不切实际的。相反,我们应该关注如何管理多样性。
 

Kubernetes 最大的吸引力之一在于其可扩展性和跨环境的广泛用例。但是,强大的灵活性也带来了复杂性。用户面临的挑战包括企业护栏、运营技术人才的短缺以及不一致性等方面。在处理这些挑战时,Kubernetes 用户需要同时考虑灵活性和复杂性,这两者都会对内部开发人员的体验产生重要影响。
 

本文将带你一起看看 2023年 Kubernetes 生产状态报告中的关键发现。
 

K8s 的复杂性

无论是在云端、裸机还是虚拟机上,甚至是在边缘设备上,DevOps 团队希望能够以一种灵活的方式管理容器。然而,要以安全可扩展的方式来应对这种复杂性却并不容易。大多数受访企业在一个以上的托管环境中拥有 10 个以上的 K8s 集群,14% 的企业拥有 100 个以上的 K8s 集群。根据报告结果,多个数量的 Kubernetes 发行版增加了复杂性,每个发行版的使用模式和功能都略有不同,复杂性也随之升级。
 

同时调查还发现,83% 的受访者拥有两个到 10 个以上的发行版,包括服务发行版(如 AWS 的 EKS-D)、自托管发行版(如 RedHat OpenShift)、边缘专用发行版(如 K3s 和 MicroK8s)等。这样,在一个企业中就有大约 20 种不同的路径,而这些差异大多是由于监管或行业要求产生的。
 

Newman 表示,通过采访发现开发人员越来越倾向于使用自助服务,以便更好地掌控和加速工作进程。Kubernetes 在过去几年中极大地促进了开发人员的自主性。然而,这种做法也带来了问题,即开发人员需要将相当一部分时间花在文档和配置维护上,随之他们花在写代码的时间上越来越少。Newman 表示,各种规模的公司都在努力确定最适合自己的平衡点。不同企业在生产中使用 Kubernetes 方式不同,但每个企业都在积极探讨如何在开发人员自助服务的速度与必要的运营控制之间实现平衡。
 

K8s 的运维困境

为了解决 Kubernetes 复杂性问题,许多团队不断尝试各种工具,但尝试过程就好像是在问题上不停堆砌工具但并未能解决核心问题,无法控制与自助服务之间的平衡。根据调查,14% 的受访者曾试用过至少一种开发人员体验工具但后来都放弃了。
 

报告显示另一大挑战是无法获得能够应对不断发展的 Kubernetes 环境的运维人才。由于要满足定期升级和修补大量解决方案的需求,运维人员无法避免地产生倦怠。他们需要不断花费时间来排除故障和修补漏洞,因此没有足够的时间来构建最优路径以及自动化,并研究如何简化工作流程。
 

此外,报告还发现,开发人员仍然不习惯为他们的代码日后如何运行负责,并认为这会分散他们对传统开发思维的注意力。“左移”转移了开发人员对流程状态的注意力,也因此增加了对工具的需求,62% 的受访企业表示他们的开发人员已经或正准备采用工具加强或提高 Kubernetes 的利用。
 

调查结果显示 92% 的人认为开发人员应该把时间花在编码功能上而不是管理基础架构上,但 82% 的人表示运维团队很难为每个开发团队提供符合其偏好的集群。很明显,Kubernetes 需要一条通往生产的黄金通道,或者说是多条通道。标准化将成为一个巨大的推动力,以助于提高成本效益和安全性。
 

建立企业护栏也成为此次调研中多次被提及的挑战。根据结果显示,48% 的受访者面临这一挑战,并且该挑战在今年首次位居榜首。这表明 Kubernetes 的采用已成熟,当企业开始在关键业务影响使用案例中管理容器时,复杂性就会增加。
 

互操作性仍是一项挑战

随着 Kubernetes 战略的扩展,互操作性也成为一个更大的挑战。调查中四分之三的受访者表示,他们会遇到互操作性问题,如服务网格、持久存储和机密之间的互操作性问题。并且在生产中拥有 20 个或更多集群的企业因互操作性而出现问题的可能性是其他企业的三倍。
 

受访的企业表示对基于平台的方法十分有信心,他们中有86%的受访者希望能够将容器化工作负载和虚拟机工作负载整合到同一个基础架构平台上。值得注意的是,这种复杂性呈指数级增长,拥有 20 个以上生产集群的公司所报告的复杂性指标明显更高。这些公司更有可能报告说,他们有五个以上的分配器,以及另一项超过 15 个不同软件元素的挑战,其中包括:

  • Ingress

  • 负载平衡器

  • 机密管理

  • 安全工具

  • 服务网格

  • 监控和可观测性

 

Newman 说:“我们一直认为,Kubernetes 生产集群不仅仅是对分布式系统、CNI、CSI 和操作系统的选择。80%的价值和80%的复杂性都来自于对集群中支持应用的内容所做的选择。这些内容也都大大增加了 Kubernetes 互操作性的难度。”调查发现,集群越多,构成堆栈的不同元素就越多,这反过来又增加了在整个组织内实现标准化的难度
 

元素越多,出现互操作性问题的机会就越多。企业需要配置和保护的工具就越多。需要打补丁和更新的东西就越多,这就是全栈式声明管理十分重要的原因。
 

自动化降低复杂性

那如何解决像 Kubernetes 复杂性这样大规模的问题?运维团队如何解决开发、暂存和生产环境各不相同的问题?怎样才能花更少的时间排除故障,花更多的时间维护可用性和应用程序性能?
 

超过半数的受访者认为自动化将显著提高运营效率。然而,该调查发现,企业在开发自动化脚本但不将其视为基础设施重要组成部分,可能会在人员变动和脚本维护信息丢失时难以应对。因此简化软件堆栈成为对上述挑战——无法获得能够应对不断发展的 Kubernetes 环境的运维人才的解决方案。
 

但企业需要为许多不同的团队、许多不同的应用程序和许多不同的环境提供服务。企业无法简化所有的堆栈。每个团队选择不同的工具或环境都是有原因的,若企业能够完善自动化工作,并为未来的操作人员记载自动化的缘由和步骤,就能保持软件堆栈的多样性,同时还能拓展运营覆盖的范围。
 

关注gzh——“Seal软件”,在gzh内回复关键词“K8S23”即可获取报告。


 

参考链接:
https://thenewstack.io/the-2023-state-of-kubernetes-in-production/

 

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

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

相关文章

Java 项目中常用注解汇总!! (自整理)

Spring框架的注解 PostMapping("/getDetails") post请求 映射到接口 RequestBody 用来接收HTTP请求体中参数 GetMapping("/getDetails") get请求 映射到接口 RequestParam 用来接收URL中的查询参数 PutMappi…

YaRN方法:无需微调,高效扩展语言模型上下文窗口/蚂蚁集团与浙大发布原生安全框架v1.0,引领企业网络安全新时代 |魔法半周报

我有魔法✨为你劈开信息大海❗ 高效获取AIGC的热门事件🔥,更新AIGC的最新动态,生成相应的魔法简报,节省阅读时间👻 🔥资讯预览 YaRN方法:无需微调,高效扩展语言模型上下文窗口 蚂蚁…

将form表单中的省市区的3个el-select下拉框的样式调成统一的间隔距离和长度,vue3项目iot->供应商管理

省市区是用3个el-select组成的 在表单中用el-col,会导致3个下拉的距离不统一,市和区的前面也是不需要文字label的 如何解决:用vue3的:deep()进行样式穿透,由于el-form-item标签都是一样的,为了能准确的找到市的el-form-item&…

什么是机器学习

前言 机器学习(Machine Learning, ML)是一个总称,用于解决由各位程序员自己基于 if-else 等规则开发算法而导致成本过高的问题,想要通过帮助机器 「发现」 它们 「自己」 解决问题的算法来解决 ,而不需要程序员将所有…

Python MD5加密的三种方法(可加盐)

方法一:MD5直接加密 import hashlibtext1123456 print(text1) mdhashlib.md5(text1.encode()) # 创建md5对象 md5pwdmd.hexdigest() # md5加密 print(md5pwd) 输出结果: 方法二:MD5盐加密,将盐拼接在原密码后 import ha…

Vatee万腾科技的独特力量:Vatee数字时代创新的新视野

在数字化时代的浪潮中,Vatee万腾科技以其独特而强大的创新力量,为整个行业描绘了一幅崭新的视野。这不仅是一场科技创新的冒险,更是对未来数字时代发展方向的领先探索。 Vatee万腾将创新视为数字时代发展的引擎,成为推动行业向前的…

TCP 重传、滑动窗口、流量控制、拥塞控制的剖析

TCP 是一个可靠传输的协议,那它是如何保证可靠的呢? 为了实现可靠性传输,需要考虑很多事情,例如数据的破坏、丢包、重复以及分片顺序混乱等问题。如不能解决这些问题,也就无从谈起可靠传输。 那么,TCP 是…

清华大学提出全新加速训练大模型方法SoT

近日,微软研究和清华大学的研究人员共同提出了一种名为“Skeleton-of-Thought(SoT)”的全新人工智能方法,旨在解决大型语言模型(LLMs)生成速度较慢的问题。 尽管像GPT-4和LLaMA等LLMs在技术领域产生了深远影响,但其处…

Navicat 技术指引 | 适用于 GaussDB 的查询编辑器

Navicat Premium(16.2.8 Windows版或以上) 已支持对 GaussDB 主备版的管理和开发功能。它不仅具备轻松、便捷的可视化数据查看和编辑功能,还提供强大的高阶功能(如模型、结构同步、协同合作、数据迁移等),这…

DNS的各种进阶新玩法

你们好,我的网工朋友,今天和你聊聊DNS。 01 什么是DNS? mac地址诞生,可是太不容易记忆了,出现了简化了IP形式,它被直接暴露给外网不说,还让人类还是觉得比较麻烦,干脆用几个字母算了…

【ARM CoreLink 系列 3.2 -- CCI-400,CCI-500, CCI-550 差异】

文章目录 CCI-400 和 CCI-500 差异ARM CCI-400ARM CCI-500ARM CCI-550CCI-400 和 CCI-500 差异 ARM的 CCI(Cache Coherent Interconnect)系列产品是用于多核处理器之间的高性能缓存一致性互连。CCI-400 和 CCI-500 是该系列中的两种设计,它们旨在允许多个处理器核心和其他资…

项目中如何配置数据可视化展现

在现今数据驱动的时代,可视化已逐渐成为数据分析的主要途径,可视化大屏的广泛使用便应运而生。很多公司及政务机构,常利用大屏的手段展现其实力或演示业务,可视化的效果能让观者更快速的理解结果并直观的看到数据展现。因此&#…

党建信息管理系统源码 支持在线交党费 附带完整的搭建教程

传统的党建管理模式通常采用手工方式,不仅效率低下,而且容易出错。随着组织规模的扩大和党员数量的增加,这种管理方式已经无法满足现实需求。此外,传统的党建管理模式缺乏在线交党费功能,给党员带来不便。因此&#xf…

图片转换成pdf格式的软件ABBYY16

ABBYY PDF这款提供多种图像处理选项,可提高源图像的质量,便于准确地识别光学字符。我们扫描纸质文档或从图像文件创建 PDF 时,务必选择合适的图像处理选项。而在ABBYY PDF 中包含下列图像处理选项。 识别文本 — 选择此选项会将文本层放在图…

关于JS stack trace解决办法

问题描述 npm run serve启动前端项目时&#xff0c;控制台输出下图一堆的文字&#xff0c;JS stack trace , 问题现象&#xff1a; JS stack trace Security context: 0000017B93ACFB61 <JS Object>1: init_scope_vars [0000017B93A04381 <undefined>:~3382] [p…

shopee数据分析软件丨探索Shopee数据分析软件——知虾

随着电子商务的快速发展&#xff0c;越来越多的商家和企业开始关注数据分析的重要性。在这个竞争激烈的市场中&#xff0c;了解消费者行为、市场趋势和竞争对手的策略是取得成功的关键。而Shopee数据分析软件——知虾&#xff0c;成为了许多商家和企业的首选工具。本文将深入探…

c++/windows软件绑定网卡加密,实现一机一码

&#x1f482; 个人主页:pp不会算法v &#x1f91f; 版权: 本文由【pp不会算法v】原创、在CSDN首发、需要转载请联系博主 &#x1f4ac; 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 奇思妙想系列文章 一、c\c windows自动打开cmd并进入mysql 二、c\wind…

OpenMLDB v0.8.4 诊断工具全面升级

新的v0.8.4版本中&#xff0c;我们对于诊断工具进行了全面系统化的升级&#xff0c;以提供更加完整和智能化的诊断报告&#xff0c;有助于高效排查 OpenMLDB 集群问题&#xff0c;大幅提升运维效率。 相比于之前的版本&#xff0c;新的诊断工具增添一键诊断功能&#xff0c;使…

nodejs 如何将 Buffer 数据转为 String

问题说明 使用webSocket的时候出现了一个问题&#xff0c;前端小程序和nodejs后端建立websocket连接后&#xff0c;使用send方法发送到后端为buffer格式&#xff0c;以下为我前后端代码 1、前端小程序代码 //创建webSocket连接 const socket uni.connectSocket({url: wss…

中西部各省市翻译协会、公关协会会长金秋圆桌会议圆满结束

中西部翻译协会共同体、中西部公共关系协会共同体共同体创建8年来&#xff0c;已成功举办了八届翻译大赛。时值第九届中西部翻译大赛将拉开序幕&#xff0c;中西部翻译协会共同体、中西部公共关系协会共同体举办的2023年度中西部各省市翻译协会、公关协会会长金秋圆桌会议&…