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/

平台工程时代的 Kubernetes 揭秘:2023年生产状况报告深度剖析的更多相关文章

  1. Seal AppManager发布:基于平台工程理念的全新应用部署管理体验

    4月12日,数澈软件Seal(以下简称"Seal")宣布推出新一代应用统一部署管理平台 Seal AppManager,采用平台工程的理念,降低基础设施操作的复杂度为研发和运维团队 ...

  2. 平台工程101:Dev、Sec和Ops的自动化黏合剂

    国际权威知名调研机构 Gartner 在<2023年最重要的10个技术趋势>报告中将平台工程(Platform Engineering)列为高速发展的技术趋势之一,并预测到2026年80% ...

  3. 研发效能|DevOps 已死平台工程永存带来的焦虑

    最近某位大神在推特上发了一个帖子,结果引来了国内众多卖课机构.培训机构的狂欢,开始贩卖焦虑,其实「平台工程」也不是什么特别高深莫测的东西.闲得无聊,把这位大神的几个帖子薅了下来,你看过之后就会觉得没啥 ...

  4. DevOps、SRE、平台工程的区别

    DevOps.SRE和平台工程的概念在不同时期出现,并由不同的个人和组织开发. DevOps作为一个概念是由Patrick Debois和Andrew Shafer在2009年的敏捷会议上提出的.他们 ...

  5. ITTC数据挖掘平台介绍(五) 数据导入导出向导和报告生成

    一. 前言 经过了一个多月的努力,软件系统又添加了不少新功能.这些功能包括非常实用的数据导入导出,对触摸进行优化的画布和画笔工具,以及对一些智能分析的报告生成模块等.进一步加强了平台系统级的功能. 马 ...

  6. 大众点评开源分布式监控平台 CAT 深度剖析

    一.CAT介绍 CAT系统原型和理念来源于eBay的CAL的系统,CAT系统第一代设计者吴其敏在eBay工作长达十几年,对CAL系统有深刻的理解.CAT不仅增强了CAL系统核心模型,还添加了更丰富的报 ...

  7. 云原生时代, Kubernetes 多集群架构初探

    为什么我们需要多集群? 近年来,多集群架构已经成为“老生常谈”.我们喜欢高可用,喜欢异地多可用区,而多集群架构天生就具备了这样的能力.另一方面我们也希望通过多集群混合云来降低成本,利用到不同集群各自的 ...

  8. 云原生时代之Kubernetes容器编排初步探索及部署、使用实战-v1.22

    概述 **本人博客网站 **IT小神 www.itxiaoshen.com Kubernetes官网地址 https://kubernetes.io Kubernetes GitHub源码地址 htt ...

  9. 剑指Kubernetes 揭秘腾讯云的PaaS技术选型策略

    1.前言 Kubernetes 很火,一大批互联网公司早已领先一步,搭建起专有的 PaaS平台,传统企业们看到的 Kubernetes的趋势,亦不甘落后,在试水的道上一路狂奔-- 虽然,Kuberne ...

  10. SAP云平台,Netweaver,Kubernetes和C4C的用户和角色关系

    SAP云平台 Netweaver 同SAP云平台一样,在事务码PFCG里维护角色: 然后在事务码SU01里将多个角色分配给用户: Kubernetes Kubernetes在1.3版本中发布了alph ...

随机推荐

  1. MongoDB索引操作和执行计划Explain()详解

    一.索引操作 说明,下面的内容举例时,以"dailyTrip"collection为例. 字段内容如下: { "_id" : ObjectId("63 ...

  2. C#程序配置读写例子 - 开源研究系列文章

    今天讲讲关于C#的配置文件读写的例子. 对于应用程序的配置文件,以前都是用的ini文件进行读写的,这个与现在的json类似,都是键值对应的,这次介绍的是基于XML的序列化和反序列化的读写例子.对于in ...

  3. 在 Visual Studio 2022 中使用文件对比

    在最新版本的 Visual Studio 2022 中,加入了新的功能特性--"文件对比". 在开发过程中,开发人员有时会需要比对文件差异,特别是代码文件,之前很多时候是借助版本控 ...

  4. 智能AI 的应用场景

    小凡智能AI是一款基于人工智能技术开发的助软件,能够帮助用户解决各种各样的问题,提高工作效率和生活质量.它的应用范围广泛,涵盖了工作.学习.健康等多个方面,为用户提供了全方位的服务支持. 在工作方面, ...

  5. Go 语言内置类型全解析:从布尔到字符串的全维度探究

    关注微信公众号[TechLeadCloud],分享互联网架构.云服务技术的全维度知识.作者拥有10+年互联网服务架构.AI产品研发经验.团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证 ...

  6. 「luogu - P4313」文理分科 Mincut

    link. Pretty nice practice for the min-cut trick. Starting out we eliminate the constraint that if f ...

  7. Solution Set -「ABC 196」

    「ABC 196A」Difference Max Link. 略. #include<cstdio> long long a,b,c,d; int main(){ scanf(" ...

  8. linux查看IP、域名、端口的网络是否相通

    linux查看IP.域名.端口的网络是否相通 1. ping # 检索当前域名对应的IP地址 ping 域名 # 查看IP是否相通 ping IP 2. tlenet # 查看指定IP的端口是否相通, ...

  9. AIGC革新,将文字或者LOGO融入AI视频基于PIKA-labs(Python3.10)

    很多平台都会禁止用户使用带有网址或者二维码的头像以及文章配图,这样可以有效的防止用户的一些"导流"行为.当然,头像.文章或者视频现在都是AI来审,毕竟现在人工的成本实在太高,但是如 ...

  10. 第七单元《中国传统文化与管理》单元测试 mooc

    第七单元<中国传统文化与管理>单元测试 返回 本次得分为:8.00/10.00, 本次测试的提交时间为:2020-08-30, 如果你认为本次测试成绩不理想,你可以选择 再做一次 . 1 ...