DevOps团队如何提高Kubernetes性能
今天,Kubernetes仍然是开发人员最需要的容器。Kubernets最初由 Google 工程师开发,作为跨本地、公共云、私有云或混合云托管的首选解决方案享誉全球。
来自Statista的报告显示,公共云中的Kubernetes市场份额在过去一年中上升了近30%。并且在拥有超过1000名员工的大型科技企业中,Kubernets的采用率也在一年中至少上升了20%。
然而,尽管Kubernets越来越受欢迎,但其中仍存在一些挑战,使得DevOps团队很难在使用K8s构建云原生应用程序的过程中发挥它的全部优势。对于DevOps团队而言,应用Kubernets时应关注哪些问题呢?
1、可观测性是关键
Kubernetes 有很多优点,因为容器生态系统中存在多个节点。这使得全面了解整个 K8s 环境是一项具有挑战性的任务。事实上,想要不依赖工具直接对K8s进行检测是非常困难的。根据Groundcover首席执行官兼联合创始人Shahar Azulay的说法,这一挑战的解决方案在于可观测性解决方案。
通过使用可观测性工具,DevOps 团队可以全面了解 Kubernetes 中发生的一切,从日志到指标和跟踪。这使 DevOps 团队能够快速修复错误并大规模构建应用程序。Azulay表示:“开发人员无需收集和分析每个字节可用数据或随机采样,而是可以通过在源头识别最有效的数据来智能地对其进行采样,然后仅选择要发送到其可观测性平台的数据。
借助可观测性工具,DevOps 团队可以减少系统宕机时间、降低成本并最终提高性能。当今一些最流行的可观测性工具包括Grafana、Groundcover和Prometheus。Azulay进一步指出,Groundcover代表了可观测性的新范式,因为“它打破了传统的APM模型,提供了最小的资源消耗,全面的可观测性和简单透明的定价。
2、将安全性放在首位
仅仅关注可观察性是不够的,这意味着你只能解决一半的问题。在红帽发布的关于 2023 年 Kubernetes的 安全状况的报告中,94% 的受访者在过去 12 个月内经历过安全事件,而 64% 的受访者表示由于 K8s 的安全问题导致了他们系统的延迟或影响部署。30%的受访者还认为漏洞是他们对容器和K8s环境的最大担忧。
在 Kubernetes 环境中运行应用程序时保持安全性非常必要。如果不将安全性放在首位,可能会对性能产生不利影响,增加补救成本,并产生持久的破坏性影响。使用K8s时,你必须时刻保持警惕,才能够从中获得你想要的性能提升。
ARMO开源社区副总裁Box Craig作为当今最受欢迎的Kubernetes安全工具Kubescape创建者之一,他指出:“与所有云软件一样,当你将Kubernetes访问权限委托给团队时,你要确保自己有与之契合的的护栏,这是非常重要的。
Craig进一步指出,为确保安全性而采取的一些步骤应该包括(但不限于):
- 定期更新安全补丁。
- 配置 K8s 集群时遵循行业最佳实践。
- 检查并验证映射是否存在恶意代码、不正确的配置和其他漏洞。
- 禁止用户访问云 API 数据。
- 利用基于角色的访问控制 (RBAC),允许用户仅根据其角色和功能访问 K8s 资源。
- 使用 Kubecsape 等安全工具保护您的 IDE、CI/CD 管道和集群。
3、修复存储问题
使用 Kubernetes 时的额外存储是有代价的,其承担了开发人员和组织产生的大部分成本。为了有效地减少开发人员的部署摩擦,大型企业通常会迁移到公共云环境并减少对本地服务器的依赖。
根据ARMO的首席技术官Ben Hirschberg的说法,解决这个问题的一种方法是“从源头分析数据,最大限度减少移动大量数据进行观察的需要。可以直接分析节点或应用程序内部的数据,并非所有数据都需要移动到外部存储或可观测性平台。通过在本地存储数据,DevOps团队可以避免不必要的数据传输成本,同时确保在需要时随时获得必要的数据。
4、优先考虑互操作性
大多数开发人员面临的K8s的另一个问题是互操作性,即应用程序在K8s中相互通信的能力。K8s上可互操作的云原生应用程序之间的通信并不像看起来那么简单。正如本文所指出的,缺乏互操作性可能会影响群集部署,因为它包含的应用程序实例可能会在群集中的单个节点上运行时出现问题。
解决这一挑战的一种方法是利用跨多个组织(如AWS、Google、IBM、SAP和Red Hat)的协作项目,为您的云原生应用程序提供服务。
5、结语
最好的 K8s 实践不是一次性修复;它们来自不断从错误中学习和重新调整底线。对于已经陷入技术工作和以创纪录速度部署容器的需求的 DevOps 团队来说,这可能需要花费更多时间。但幸运的是,可观测性工具可以确定将注意力集中在何处,并帮助针对安全性、互操作性、存储等关键问题提出有积极影响作用的建议和步骤。
6、Kubernetes DevOps 系统
这是一个基于Java Boot/.Net Core构建的简单、跨平台快速开发框架。前后端封装了上千个常用类,方便扩展;集成了代码生成器,支持前后端业务代码生成,实现快速开发,提升工作效率;框架集成了表单、报表、图表、大屏等各种常用的Demo方便直接使用;后端框架支持Vue2、Vue3。平台即可私有化部署,也可基于Kubernetes(K8S)部署。
支持DevOps,开箱即用的全功能容器平台:
-
自动检出(Checkout)代码、测试、分析、构建、部署并发布
-
可发现性、可观测性、安全性:一站式集成您所需的所有特性
-
独特的微服务治理功能
技术架构
-
数据库兼容:MySQL(默认)、SQLServer、Oracle、PostgreSQL、达数据库、人大金仓数据库
-
分布式文件存储:兼容 MinIO 及多个云对象存储,如阿里云 OSS、华为云 OBS、七牛云 Kodo、腾讯云 COS 等
-
后端基于IDEA + Eclipse +Spring Tool Suite 等开发。
-
前端基于Node.js+Vue + TypeScript +Vite+Pinia+Pnpm+ Element-ui等开发。
-
移动端开发 Node.js 开发
应用体验:https://www.jnpfsoft.com/?csdn
相关文章:
DevOps团队如何提高Kubernetes性能
今天,Kubernetes仍然是开发人员最需要的容器。Kubernets最初由 Google 工程师开发,作为跨本地、公共云、私有云或混合云托管的首选解决方案享誉全球。 来自Statista的报告显示,公共云中的Kubernetes市场份额在过去一年中上升了近30%。并且在…...
springboot整合modbus4J(二)
springboot整合modbus4J(二) maven依赖 <dependency><groupId>com.infiniteautomation</groupId><artifactId>modbus4j</artifactId><version>3.1.0</version> </dependency> <dependency><…...
ROS2之topic
目录 ros2 topic命令行 ros2 topic命令行 查看topic输出: ros2 topic echo <topic_name> 查看topic频率:ros2 topic hz <topic_name>...
C语言数值表示——进制、数值存储方式
进制 进制也就是进位制,是人们规定的一种进位方法对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位…...
linux————keepalived+LVS(DR模式)
一、作用 使用keepalived解决LVS的单点故障 高可用集群 二、 调度器配置 环境 两台LVS服务 一主一备 两台web服务 采用nginx (实现LVS负载均衡) 服务ip 主LVS 192.168.100.3 备LVS 192.168.100.6 web1 192.…...
8月28日,每日信息差
1、欧拉汽车第40万台整车下线。据介绍品牌与用户共创的最新成果2023款好猫&好猫GT木兰版尊荣型也在同一时间上市,限时12.98万起 2、马克古尔曼:M3款苹果MacBook最早今年10月发布 3、大麦成立“艺展鸿图”展览厂牌。专注于高品质艺术展览、授权等业…...
vue-element-admin最新版4.4实现多个url路由匹配到一个路径时,左侧菜单保持高亮状态
文章目录 环境:需求:原因分析:如何解决: 环境: vue-admin-template-4.4版本(vue2) 需求: 当我访问申请开户时,也希望支付菜单能保持高亮状态。 原因分析: …...
Android自定义view实现横向滚动弹幕
参考文章 此方案使用动画方式实现,只适合轻量级别的弹幕滚动效果实现,数据量过大时会出现内存激增的情况。 效果: 自定义view代码 public class TumbleLayout extends ViewGroup {private final String TAG "TumbleLayout";priva…...
学习ts(十二)Proxy与Reflect
定义 Proxy 为开发者提供了拦截并向基本操作嵌入额外行为的能力。具体的说,可以给目标对象定义一个关联的代理对象,而这个代理对象可以作为抽象的目标对象来使用。在对目标对象的各种操作影响目标对象之前,可以在代理对象中对这些操作加以控…...
性能优化之分库分表
1、什么是分库分表 1.1、分表 将同一个库中的一张表(比如SPU表)按某种方式(垂直拆分、水平拆分)拆分成SPU1、SPU2、SPU3、SPU4…等若干张表,如下图所示: 1.2、分库 在表数据不变的情况下,对…...
每日一学——STP、VRRP 、BFD、POE
STP (Spanning Tree Protocol): STP是一种用于构建安全和冗余的网络拓扑的协议。 它能够检测并防止网络中的环路形成,从而防止数据包在网络中无限循环。STP通过选择一个主桥和确定最短路径来实现拓扑稳定。STP有多种版本,如STP、RSTP和PVST等。 VRRP (V…...
Spring MVC 一 :从MVC Servlet开始
甩开膀子,继续干活。 今天开始Spring Framework中的另外一部分重头戏:Spring Web MVC,借助Spring Web MVC,Spring Framework可以通过Servlet API轻松构建基于web的应用。 在开始Spring Web MVC之前,我们还是要简单了…...
Ansible学习笔记(二)
3.ansible的使用示例(playbook) 1.创建mysql 账户和mysql 组的 playbook ---#create mysql user and group - hosts: allremote_user: roottasks:- name: create groupgroup: namemysql systemyes gid306- name: create useruser: namemysql systemyes…...
Web安全测试(一):HTTP请求详解
一、前言 结合内部资料,与安全渗透部门同事合力整理的安全测试相关资料教程,全方位涵盖电商、支付、金融、网络、数据库等领域的安全测试,覆盖Web、APP、中间件、内外网、Linux、Windows多个平台。学完后一定能成为安全大佬! 全部文章请访问专栏:《全栈安全测试教程(0基…...
Android工具条
在底层,所有通过主题得到应用条的活动都使用ActionBar类实现它的应用条。不过最新的应用条特性已经增加到AppCompat支持库中的Toolbar类。这意味着,如果你想在应用中使用最新的应用条特性,就需要使用支持库中的ToolBar类。 如何增加工具条 1…...
【项目实战典型案例】05.前后端分离的好处(发送调查问卷)
目录 一、背景二、思路三、过程1、主要的业务逻辑2、解决问题的思路 四、总结五、面向对象的好处 一、背景 以下流程图是给用户发送调查问的整体流程,将不必要的业务逻辑放到前端进行处理。这样导致逻辑混乱难以维护。前后端分离的其中一个目的是将功能的样式放在了…...
(Deep Learning)准确率和召回率的基础概念
算法模型极大的提升了对各类结果的预测效率。 【算法模型的本质】 算法模型的本质,是基于输入的各类变量因子,通过计算规则(模型or公式),得出预测结果。 典型的预测结果比如: 1.(通过历史行为…...
【业务功能篇85】微服务-springcloud-Nginx-反向代理-网关
Nginx域名 1.hosts文件 在c:/window/system32/drivers/etc/hosts文件,我们在这个文件中添加 192.168.56.100 msb.mall.com注意如果是没有操作权限,那么点击该文件右击属性,去掉只读属性即可 通过这个域名访问到Nginx服务 2.Nginx的方向代…...
深度适配?华为鸿蒙OS智能座舱酷狗音乐车载版5.0,车内尽享K歌
此次华为 HarmonyOS 智能座舱酷狗音乐车载版 5.0 升级为搭载了 HarmonyOS 车机系统的多款车型带来了更丰富的功能和互动体验。新版本的升级内容主要包括创新交互设计和高品质音质两个方面。 在创新交互设计方面,华为 HarmonyOS 智能座舱酷狗音乐车载版 5.0 深度适配…...
数字孪生体技术--学习笔记
一.数字孪生体技术概述 数字孪生体技术是跨层级,跨尺度的现实世界和虚拟世界的建立沟通的桥梁,是第四次工业革命的通用目的技术和核心技术体系之一,是支撑万物互联的综合技术系统,是数字经济发展的基础,是未来智能时代…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...
渗透实战PortSwigger靶场:lab13存储型DOM XSS详解
进来是需要留言的,先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码,输入的<>当成字符串处理回显到页面中,看来只是把用户输…...
PH热榜 | 2025-06-08
1. Thiings 标语:一套超过1900个免费AI生成的3D图标集合 介绍:Thiings是一个不断扩展的免费AI生成3D图标库,目前已有超过1900个图标。你可以按照主题浏览,生成自己的图标,或者下载整个图标集。所有图标都可以在个人或…...
高保真组件库:开关
一:制作关状态 拖入一个矩形作为关闭的底色:44 x 22,填充灰色CCCCCC,圆角23,边框宽度0,文本为”关“,右对齐,边距2,2,6,2,文本颜色白色FFFFFF。 拖拽一个椭圆,尺寸18 x 18,边框为0。3. 全选转为动态面板状态1命名为”关“。 二:制作开状态 复制关状态并命名为”开…...
