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 深度适配…...
数字孪生体技术--学习笔记
一.数字孪生体技术概述 数字孪生体技术是跨层级,跨尺度的现实世界和虚拟世界的建立沟通的桥梁,是第四次工业革命的通用目的技术和核心技术体系之一,是支撑万物互联的综合技术系统,是数字经济发展的基础,是未来智能时代…...
Gitee团队协作实战:从零到一掌握项目协同开发流程
1. 为什么选择Gitee进行团队协作开发 作为一个经历过多次团队协作开发的老手,我强烈推荐Gitee作为国内团队的代码托管平台。相比其他平台,Gitee的服务器在国内,访问速度更快,而且完全符合国内开发者的使用习惯。记得我第一次带团队…...
【STM32F103标准库开发】DMA+USART双剑合璧:实战环形缓冲区与空闲中断解析
1. 为什么需要DMAUSART组合方案 第一次用STM32做GPS数据采集时,我被串口中断折磨得够呛。当时用的是传统中断接收模式,每收到一个字节就触发一次中断,在115200波特率下,CPU几乎被串口中断占满,其他任务根本跑不动。后来…...
【软考高项】需求跟踪矩阵在项目全生命周期中的关键作用与实践指南
1. 需求跟踪矩阵:项目管理的"导航仪" 刚入行做项目经理那会儿,我最怕的就是需求变更。明明已经确认好的需求,开发到一半客户突然说要改,整个团队手忙脚乱地翻文档、改代码、调测试用例,最后交付时还是漏了几…...
PySide6多线程避坑指南:你的‘暂停’和‘停止’真的安全吗?
PySide6多线程避坑指南:你的‘暂停’和‘停止’真的安全吗? 在PySide6的多线程开发中,暂停和停止线程看似简单的操作背后,隐藏着许多开发者容易忽视的陷阱。本文将深入剖析这些潜在问题,并提供经过实战验证的安全解决方…...
手把手调试:从V8引擎的ArrayBuffer到WebAssembly,一步步拆解Chrome CVE-2020-6507漏洞利用链
深入解析Chrome V8引擎漏洞利用:从ArrayBuffer到WebAssembly的内存操控实战 浏览器安全研究领域近年来持续升温,其中V8引擎作为Chrome和Node.js的核心组件,其安全性直接影响着数十亿用户。本文将带您深入探索一个典型V8漏洞(CVE-2…...
【昇腾实战】MindIE框架下DeepSeek-R1模型部署与性能调优指南
1. 昇腾环境准备与驱动安装 拿到昇腾服务器后,第一件事就是搭建基础运行环境。我遇到过不少开发者卡在驱动安装环节,其实只要注意几个关键点就能避坑。首先到华为昇腾官网下载对应版本的驱动和固件包,这里有个细节:一定要核对服务…...
NiceGUI实战:打造动态路由导航栏的3个关键技巧
1. 为什么需要动态路由导航栏? 如果你用过NiceGUI开发Web应用,肯定遇到过这样的尴尬:想做个导航菜单,却发现官方压根没提供现成组件。这就像装修房子时发现建材市场不卖门把手——虽然不影响主体结构,但用起来总感觉少…...
疯了!用 AI 做销售,一人能干三人活,效率直接拉满!
一、AI 秒出全场景话术,告别绞尽脑汁从破冰开场、持续跟进,到异议处理、逼单成交,AI 都能根据产品、客户、场景一键生成专业话术。新人不用死记硬背,复制粘贴就能专业沟通;老人不用反复修改,节省大把时间&a…...
SYSU-MM01跨模态行人重识别:Python评估实战指南
1. SYSU-MM01数据集与跨模态行人重识别基础 如果你正在研究行人重识别(ReID),尤其是跨模态场景下的挑战,SYSU-MM01绝对是一个绕不开的基准数据集。这个由中山大学发布的权威数据集,最大的特点就是同时包含了可见光&…...
无人机飞控入门:如何理解Pixhawk/PX4里的那个“六自由度模型”?
无人机飞控入门:从代码视角理解PX4的六自由度模型 当你第一次打开PX4的EKF2(扩展卡尔曼滤波)模块代码时,那些关于body_frame、earth_frame和angular_rates的变量命名是否让你感到困惑?这些看似抽象的术语背后ÿ…...
