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

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/

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

目前比较好用的护眼台灯,小学生适合的护眼台灯推荐

随着技术的发展,灯光早已成为每家每户都需要的东西。但是灯光不好可能会对眼睛造成伤害是很多人没有注意到的。现在随着护眼灯产品越来越多,市场上台灯的选择越来越多样化,如何选择一个对眼睛无伤害、无辐射的台灯成为许多家长首先要考虑的问…

mysql:修改密码的几种方式

背景 当我们 brew install mysql 新安装 mysql 的时候,是没有密码的,我们可以直接通过 mysql -u root 连接上。但是密码还是要设置的,一是为了安全,二是有些数据库软件如 Sequel 连接都是必须要密码的,接下来我们来看…

自监督LIGHTLY SSL教程

Lightly SSL 是一个用于自监督学习的计算机视觉框架。 github链接:GitHub - lightly-ai/lightly: A python library for self-supervised learning on images. Documentation:Documentation — lightly 1.4.20 documentation 以下内容主要来自Documen…

ElasticSearch 7 SQL 详解

平时使用Elasticsearch的时候,会在Kibana中使用Query DSL来查询数据.每次要用到Query DSL时都基本忘光了,需要重新在回顾一遍,最近发现Elasticsearch已经支持SQL查询了(6.3版本以后),整理了下一些用法. 简介 Elasticsearch SQL是一个X-Pack组件,它允许针对Elasticsearch实时执…

Zabbix-Liunx服务器内存使用率测试

要在Python 2.7中运行内存消耗脚本并安装psutil,您需要先安装pip。以下是完整的步骤,包括如何在Python 2.7环境中安装pip,然后安装psutil,以及最后如何运行内存消耗脚本。 步骤1: 安装pip 在Python 2.7中安装pip: 首先…

2016年8月15日 Go生态洞察:Go 1.7版本发布

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

JVM内存模型及调优

本文将为大家详细介绍JVM内存模型及如何对JVM内存进行调优。我们将分为以下几个部分进行讲解: JVM内存模型概述JVM内存区域及作用JVM内存调优方法实战案例与优化技巧 一、JVM内存模型概述 在深入了解JVM内存模型之前,我们需要先了解一下Java内存模型&am…

通俗理解词向量模型,预训练模型,Transfomer,Bert和GPT的发展脉络和如何实践

最近研究GPT,深入的从transfomer的原理和代码看来一下,现在把学习的资料和自己的理解整理一下。 这个文章写的很通俗易懂,把transformer的来龙去脉,还举例了很多不错的例子。 Transformer通俗笔记:从Word2Vec、Seq2S…

2016年8月18日 Go生态洞察:Go 1.7版本二进制文件缩小

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

MFC所有控件介绍及基本使用

一、前言 本篇文档介绍了MFC控件的基本使用,同时提供了关于MFC控件使用的工程代码,程序界面如下图,有兴趣的可以到文档最后的链接处进行下载。 二、控件介绍 2.1 Button (按钮) 2.2 CheckBox(复选框&am…

【新手解答】深入探索 C 语言:一些常见概念的解析

C语言的相关问题解答 写在最前面目录 问题1变量名与变量的关系与区别变量和数据类型形参(形式参数)的概念 问题2解析延伸解析对于多文件程序的理解总结 问题3类和对象变量和数据类型变量是否为抽象的数据类型?总结 问题4解析源文件&#xff0…

和奇葩领导的相处之道

目录 1 和奇葩部门领导做项目的经历2 奇葩领导对团队产生的影响2.1 不和谐的团队氛围2.2 合作过程中的摩擦和阻碍2.3 下属的挫折批评和不公平对待 3 与奇葩领导相处的经验教训结语 在职场中,与不同的领导和同事打交道是家常便饭。,接触的人多了&#xff…

记一次docker服务启动失败解决过程

环境:centos 7.6 报错:start request repeated too quickly for docker.service 由于服务器修复了内核漏洞,需要重启,没想到重启后,docker启动失败了 查看状态 systemctl status docker如下图 里面有一行提示&…

《尚品甄选》:后台系统——结合redis实现用户登录

文章目录 一、统一结果实体类二、统一异常处理三、登录功能实现四、CORS解决跨域五、图片验证码六、登录校验功能实现6.1 拦截器开发6.2 拦截器注册 七、ThreadLocal 要求: 用户输入正确的用户名、密码以及验证码,点击登录可以跳转到后台界面。未登录的用…

微服务知识小结

1. SOA、分布式、微服务之间有什么关系和区别? 1.分布式架构指将单体架构中的各个部分拆分,然后部署到不同的机器或进程中去,SOA和微服务基本上都是分布式架构的 2. SOA是一种面向服务的架构,系统的所有服务都注册在总线上&#…

2023亚太杯数学建模C题思路分析 - 我国新能源电动汽车的发展趋势

1 赛题 问题C 我国新能源电动汽车的发展趋势 新能源汽车是指以先进技术原理、新技术、新结构的非常规汽车燃料为动力来源( 非常规汽车燃料指汽油、柴油以外的燃料),将先进技术进行汽车动力控制和驱动相结 合的汽车。新能源汽车主要包括四种类型&#x…

外贸自建站SEO优化技巧?海洋建站怎么做?

如何做好外贸自建站SEO优化?谷歌独立站引流的策略? 拥有网站只是第一步,更为关键的是要确保网站在搜索引擎上获得良好的排名,这就需要深入了解并实施外贸自建站SEO优化技巧。海洋建站将来探讨外贸自建站的SEO优化技巧。 外贸自建…

基于C#实现并查集

一、场景 有时候我们会遇到这样的场景,比如:M{1,4,6,8},N{2,4,5,7},我的需求就是判断{1,2}是否属于同一个集合,当然实现方法有很多,一般情况下,普通青年会做出 O(MN)的复杂度,那么有没有更轻量级的复杂度呢…

管理后台系统,springboot+redis+nginx+html+bootstrap

一个简易版的管理后台系统,前后端分离,可适用于小团队开发,支持二次开发。 后端主要技术springboot,他可以帮我们快速的搭建项目,并快速实现开发。 redis做缓存,保存登录状态和一些高频率查询的基础数据。…

【Unity细节】Unity中为什么用字符串加载对象,检查多便都加载不出来—(命名细节)

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 😶‍🌫️收录于专栏:unity细节和bug 😶‍🌫️优质专栏 ⭐【…