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. ubuntu 安装sublime

    Install the GPG key: wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key ad ...

  2. 推荐工具!使终端便于 DevOps 和 Kubernetes 使用

    如果你熟悉 DevOps 和 Kubernetes 的使用,就会知道命令行界面(CLI)对于管理任务有多么重要.好在现在市面上有一些工具可以让终端在这些环境中更容易使用.在本文中,我们将探讨可以让工作 ...

  3. quarkus数据库篇之三:单应用同时操作多个数据库

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 一个应用同时连接多个数据库进行操作,这是常见 ...

  4. QA|Pycharm中的git分支提交冲突问题和解决|GIT

    前天,Pycharm中的git分支提交冲突了,原因是我PC上改了文件没有提交,笔记本又本地改代码,笔记本提交时就出现报错:提交拒绝,但pull也被拒绝,网上试了rebase等方法,均没得到解决,最终自 ...

  5. HTML一键打包APK工具 如何进行实名认证购买和激活

    HTML一键打包APK工具 价格表 授权时长 价格 1小时 49 1天 99 1个月 199 1个季度 399 半年 599 1年 799 付费版功能 功能点 免费版 付费版 去除广告信息 × √ 去 ...

  6. 分布式环境下Session共享问题解决和原理讲解

    1.分布式环境下Session共享问题: 2.几种解决方法 3.通过后端统一存储方法在实际项目中问题的体现: 当session的作用域只限于auth.gulimall.com时,在auth.gulim ...

  7. linux上搭建Nacos集群(步骤详细,linux小白也能搞定)

    (1)nacos官网:https://github.com/alibaba/nacos/releases/tag/1.2.1下载nacos安装包到window本地(后缀为tar.zip) (2)在li ...

  8. LUA的一些工具备份

    table.unpack遇到的问题 做了个中转的服务, socket+json 传递数据, 通过 {...} 封装不定参数然后 json.encode 传递到其他服务器, 然后其他服务器 json.d ...

  9. 基本环境安装 jdk,mq,redis,nginx

    JDK:解压安装包,命令为 tar -zxvf jdk-8u381-linux-x64.tar.gz配置环境变量,使用 vim 命令(需要安装vim,安装命令为:yum install vim)修改 ...

  10. 5. 用Rust手把手编写一个Proxy(代理), 通讯协议建立, 为内网穿透做准备

    用Rust手把手编写一个Proxy(代理), 通讯协议建立, 为内网穿透做准备 项目 ++wmproxy++ gite: https://gitee.com/tickbh/wmproxy github ...