混合云环境中 Kubernetes 可观测性的 6 个有效策略...

2023 年,原生云应用程序和平台将快速增长。组织不断努力最大限度地发挥其应用程序的潜力,确保无缝的用户体验并推动业务增长。

混合云环境的兴起以及 Kubernetes 等容器化技术的采用彻底改变了现代应用程序的开发、部署和扩展方式。

在这个数字领域,Kubernetes是大多数云原生应用程序和工作负载的首选平台,并被跨行业采用。

根据 2022 年的报告,96% 的公司已经在其云系统中使用或评估 Kubernetes 的实施。这个流行的开源实用程序对于容器编排和发现、负载平衡和其他功能很有帮助。

 然而,这种转变也带来了一系列新的挑战。

随着应用程序复杂性的增加,对强大的可观察性解决方案的需求也随之增加,使企业能够深入了解其容器化工作负载。Kubernetes 可观察性是在混合云环境中管理和优化容器化应用程序的一个关键方面。

在这篇文中,我们将深入研究 Kubernetes 可观察性,探索六种有效的策略,使企业能够在混合云环境中释放其容器化应用程序的全部潜力。

这些策略以行业专业知识和实际经验为后盾,将为您提供工具和知识,以增强 Kubernetes 部署的可观察性,从而推动业务成功。

了解 Kubernetes 中的可观察性

让我们首先从基础知识开始。

Kubernetes 是管理容器化应用程序的强大工具。但是,尽管其功能强大,但跟踪混合云环境中发生的情况可能很困难。这就是可观察性的用武之地。

可观察性是指在特定环境中收集、分析数据并对其采取行动。在 Kubernetes 上下文中,可观察性是指深入了解 Kubernetes 集群中运行的容器化应用程序的行为、性能和运行状况。

Kubernetes 可观察性基于三个关键支柱:

  1. 日志:日志提供有关 Kubernetes 集群内的行为和事件的有价值的信息。它们捕获重要的详细信息,例如应用程序输出、系统错误和操作事件。分析日志有助于解决问题、了解应用程序行为以及识别模式或异常。
  2. 指标:指标是定量测量,可深入了解 Kubernetes 环境的性能和资源利用率。它们包括 CPU 使用率、内存消耗、网络流量和请求延迟信息。监控和分析指标有助于识别性能瓶颈、规划容量并优化资源分配。
  3. 跟踪:跟踪可以实现对 Kubernetes 应用程序内跨微服务的请求流的端到端可见性。分布式跟踪捕获不同组件之间的计时数据和依赖关系,从而提供对请求路径的全面了解。跟踪有助于识别延迟问题、了解系统依赖性并优化关键路径以提高应用程序性能。

Kubernetes 可观察性过程通常涉及收集和分析来自各种来源的数据,以了解系统的内部状态并提供可操作的情报。通过实施正确的可观察性策略,您可以深入了解您的应用程序和基础设施,这将帮助您:

  • 快速检测并解决问题
  • 提高性能和可靠性
  • 优化资源使用
  • 满足合规要求

IT 团队正在快速采用可观察性流程。到 2026 年, 70% 的组织将成功应用可观察性来缩短决策延迟,同时增加分布式、有组织和简化的数据管理流程。

1.使用集中日志记录和日志聚合

为了深入了解分布式系统,集中式日志记录是一项重要策略。在 Kubernetes 环境中,应用程序跨越多个容器和节点,收集和分析来自各种来源的日志变得至关重要。

集中式日志记录涉及将不同组件的日志合并到一个易于访问的位置。集中式日志记录的重要性在于它能够提供系统行为和性能的整体视图。

通过Kubernetes 日志记录,您可以关联事件并识别 Kubernetes 集群中的模式,从而实现高效的故障排除和根本原因分析。

要在 Kubernetes 中实现集中式日志记录,您可以利用强大的日志聚合工具或云原生解决方案,例如Amazon CloudWatch Logs或 Google Cloud Logging。这些工具提供了可扩展且高效的方法来收集、存储和分析 Kubernetes 集群中的日志。

2. 利用分布式跟踪实现端到端可见性

在微服务分布在多个容器和节点的复杂 Kubernetes 环境中,理解不同组件之间的请求流和交互变得具有挑战性。这就是分布式跟踪发挥作用的地方,它可以在请求遍历各种服务时提供对请求执行路径的端到端可见性。

分布式跟踪允许您跟踪请求从入口点到它涉及的所有微服务的旅程,捕获有关每个步骤的有价值的信息。通过使用跟踪库或代理来检测您的应用程序,您可以生成跟踪数据,揭示每个服务的持续时间、延迟和潜在瓶颈。

在 Kubernetes 中利用分布式跟踪的好处是显着的。

首先,它可以帮助您了解服务之间的依赖关系和关系,从而更好地进行故障排除和性能优化。当请求遇到延迟或错误时,您可以快速识别负责的服务或组件并采取纠正措施。

其次,分布式跟踪允许您测量和监控单个服务的性能及其交互。

通过分析跟踪数据,您可以识别性能瓶颈、检测低效的资源使用情况并优化系统的整体响应能力。这些信息对于容量规划和确保Kubernetes 环境的可扩展性非常宝贵。

有几种流行的分布式跟踪解决方案可用。这些工具提供了有效收集和可视化跟踪数据所需的仪器和基础设施。通过将这些解决方案集成到 Kubernetes 部署中,您可以全面了解微服务的行为并推动持续改进。

3. 将 Kubernetes 与 APM 解决方案集成

为了在 Kubernetes 中实现全面的可观察性,必须将您的环境与应用程序性能监控 (APM) 解决方案集成。APM 解决方案提供超越传统指标和日志的高级监控功能,提供对各个应用程序组件的性能和行为的洞察。

APM 集成的主要好处之一是能够检测和诊断 Kubernetes 应用程序中的性能瓶颈。

借助 APM 解决方案,您可以在请求遍历各种服务时跟踪请求,并识别高延迟或资源争用的区域。有了这些信息,您就可以采取有针对性的行动来优化关键路径并提高整体应用程序性能。

许多 APM 解决方案提供专用的 Kubernetes 集成,可以简化容器化应用程序的监控和管理。这些集成提供了预配置的仪表板、警报和检测库,可简化 Kubernetes 环境中 APM 数据的捕获和分析。

4.使用基于指标的监控

基于指标的监控构成了 Kubernetes 中可观察性的基础。它涉及收集和分析关键指标,以深入了解 Kubernetes 集群和应用程序的运行状况、性能和资源利用率。

当涉及 Kubernetes 中基于指标的监控时,需要考虑几个基本组件:

  • 节点级指标: 监控 Kubernetes 集群中各个节点的资源利用率对于容量规划和基础设施优化至关重要。CPU 使用率、内存使用率、磁盘 I/O 和网络带宽等指标可帮助您识别潜在的资源瓶颈并确保最佳分配。
  • Pod 级指标: Pod 是 Kubernetes 中部署的基本单位。通过监控与 Pod 相关的指标,您可以评估其资源消耗、运行状况和整体性能。关键的 Pod 级别指标包括 CPU 和内存使用情况、网络吞吐量和请求成功率。
  • 容器级指标: pod 内的容器封装了各个应用程序组件。监控容器级指标可帮助您了解特定应用程序服务或进程的资源消耗和行为。CPU 使用率、内存使用率和文件系统利用率等指标可提供对容器性能的深入了解。
  • 应用程序特定的指标:根据应用程序的要求,您可能需要监视特定于您的业务逻辑或域的自定义指标。这些指标可能包括事务率、错误率、缓存命中率或其他相关性能指标。

 基于指标的监控架构图

5. 使用自定义 Kubernetes 事件来增强可观察性

自定义事件在 Kubernetes 组件之间以及 Kubernetes 和外部系统之间进行通信。它们可以发出重要事件的信号,例如部署、扩展操作、配置更改,甚至容器内特定于应用程序的事件。

通过利用自定义事件,您可以在可观察性方面实现多项优势:

  • 主动监控: 自定义事件允许您定义和监控需要注意的特定条件。例如,您可以创建事件来指示资源何时不足、Pod 何时遇到故障或何时超过特定阈值。通过捕获这些事件,您可以在问题升级之前主动检测并解决问题。
  • 上下文信息: 自定义事件可以包含其他上下文信息,有助于排除故障和分析根本原因。您可以附加相关详细信息,例如错误消息、时间戳、受影响的资源或任何其他可深入了解事件重要性的元数据。这种额外的背景有助于更有效地理解和解决问题。
  • 与外部系统集成: Kubernetes 自定义事件可以由外部系统使用,例如监控平台或事件管理工具。集成这些系统允许您根据特定事件触发自动响应或通知。这简化了事件响应流程并确保及时解决关键问题。

要利用自定义Kubernetes 事件,您可以使用 Kubernetes 事件挂钩、自定义控制器,甚至可以使用 Kubernetes API 开发事件驱动的应用程序。

通过定义事件触发器、捕获相关信息并对事件做出反应,您可以建立一个强大的可观察性框架来补充传统的监控方法。

6. 结合综合监控以实现主动可观察性

综合监控模拟用户旅程或代表与应用程序日常交互的特定事务。这些综合测试可以安排在不同的地理位置定期运行,模仿用户行为并测量关键性能指标。

在 Kubernetes 环境中整合综合监控有几个主要好处:

  • 主动问题检测: 综合测试允许您在实际用户受到影响之前检测到问题。通过定期模拟用户交互,您可以识别性能下降、错误或无响应的组件。这种早期检测使您能够主动解决问题并保持应用程序的高可用性。
  • 性能基准测试:综合监控为性能基准测试和 SLA 合规性提供基准。您可以通过从不同位置运行一致的测试来测量正常条件下的响应时间、延迟和可用性。这些基准可作为检测异常和确保最佳性能的参考。
  • 地理洞察:综合测试可以配置为在不同的地理位置运行,从而深入了解不同地区的应用程序的性能。这有助于识别可能影响用户体验的延迟问题或区域差异。通过根据这些见解优化应用程序的性能,您可以确保全球范围内一致的用户体验。

您可以利用专门的工具将综合监控合并到您的 Kubernetes 环境中。这些工具提供了创建和安排综合测试、监控性能指标以及生成报告的功能。

为传统和基于微服务的应用程序获得 Kubernetes 可观察性的一种方法是使用 Datadog、Splunk、Middleware 和 Dynatrace 等第三方工具。该工具捕获指标和事件,提供多个现成的报告、图表和警报以节省时间。

最后

本文探讨了在混合云环境中实现 Kubernetes 可观察性的六种实用策略。

通过利用集中式日志记录和日志聚合、利用分布式跟踪、将 Kubernetes 与 APM 解决方案集成、采用基于指标的监控、合并自定义 Kubernetes 事件和综合监控,您可以增强对 Kubernetes 部署的行为和性能的理解。

实施这些策略将为您的分布式系统提供全面的见解,从而实现高效的故障排除、性能优化、主动问题检测和改进的用户体验。

无论您是运行小规模 Kubernetes 环境还是管理复杂的混合云部署,应用这些策略都将有助于应用程序的成功和可靠性。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

i++和++i在操作数栈和局部变量表的分配

1、执行运算指令时,压入操作数栈的顺序不受运算优先级影响 2、i 先将i值压入到操作数栈,再在局部变量表自增 3、i 先在局部变量表自增,再压入到操作数栈 记忆方法:i的先后,表示压入操作数栈的先后。 看如下例子&am…

AOP与SpringAOP

AOP与SpringAOP 一、什么是AOP,什么是SpringAOP二、AOP与拦截器的区别三、实现SpringAOP1.添加SpringBootAOP依赖2.创建切面3.创建切点4.创建通知5.创建连接点 效果 一、什么是AOP,什么是SpringAOP AOP即Aspect-Oriented Programming面向切面编程。 它是…

08 - 追加commit和修改最新的commit message

查看所有文章链接:(更新中)GIT常用场景- 目录 文章目录 1. 追加提交2. 修改最新的commit message 1. 追加提交 将改动追加到上一次的commit 现在我已经修改了Readme文件并且已经add、commit操作,但是还没有push到远程仓库&#x…

kafka基本概念及操作

kafka介绍 Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的 (replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各…

【脚踢数据结构】内核链表

(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,Linux基础,ARM开发板,软件配置等领域博主🌍快上🚘,一起学习,让我们成为一个强大的攻城狮!送给自己和读者的一句鸡汤🤔&…

ide internal errors【bug】

ide internal errors【bug】 前言版权ide internal errors错误产生相关资源解决1解决2 设置虚拟内存最后 前言 2023-8-15 12:36:59 以下内容源自《【bug】》 仅供学习交流使用 版权 禁止其他平台发布时删除以下此话 本文首次发布于CSDN平台 作者是CSDN日星月云 博客主页是h…

8.15号经典模型复习笔记

文章目录 Deep Residual Learning for Image Recognition(CVPR2016)方法 Densely Connected Convolutional Networks(CVPR2017)方法 EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks(ICML2019)方法 Re…

深入了解 Rancher Desktop 设置

Rancher Desktop 设置的全面概述 Rancher Desktop 拥有方便、强大的功能,是最佳的开发者工具之一,也是在本地构建和部署 Kubernetes 的最快捷方式。 本文将介绍 Rancher Desktop 的功能和特性,以及 Rancher Desktop 作为容器管理平台和本地…

KU Leuven TU Berlin 推出“RobBERT”,一款荷兰索塔 BERT

荷兰语是大约24万人的第一语言,也是近5万人的第二语言,是继英语和德语之后第三大日耳曼语言。来自比利时鲁汶大学和柏林工业大学的一组研究人员最近推出了基于荷兰RoBERTa的语言模型RobBERT。 谷歌的BERT(来自Transformers的B idirectional …

vant van-tabs van-pull-refresh van-list 标签栏+上拉加载+下拉刷新

<template><div class"huibj"><div class"listtab"><!--顶部导航--><div class"topdh"><topnav topname"余额明细"></topnav></div><!--Tab 标签--><van-tabs v-model"…

linux 查看文件被那个进程所调用

使用lsof 命令 显示文件被哪个进程所占用 lsof /var/log/messagesCOMMAND&#xff1a;进程的名称PID&#xff1a;进程标识符USER&#xff1a;进程所有者FD&#xff1a;文件描述符&#xff0c;应用程序通过文件描述符识别该文件。如cwd、txt等TYPE&#xff1a;文件类型&#…

设计HTML5文档结构

定义清晰、一致的文档结构不仅方便后期维护和拓展&#xff0c;同时也大大降低了CSS和JavaScript的应用难度。为了提高搜索引擎的检索率&#xff0c;适应智能化处理&#xff0c;设计符合语义的结构显得很重要。 1、头部结构 在HTML文档的头部区域&#xff0c;存储着各种网页元…

力扣:63. 不同路径 II(Python3)

题目&#xff1a; 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish”&#xff09;。 现在考虑网格中有障碍物。那么从…

淘宝搜索店铺列表API:关键字搜索店铺信息 获取店铺主页 店铺所在地 服务评级

接口名称&#xff1a;item_search_seller 基本功能介绍 该API可以通过传入关键字&#xff0c;获取到淘宝商城的店铺列表&#xff0c;支持翻页显示。指定参数page获取到指定页的数据。返回的店铺信息包括&#xff1a;店铺名、店铺ID、店铺主页、宝贝图片、掌柜名字、店铺所在地…

Python爬虫的应用场景与技术难点:如何提高数据抓取的效率与准确性

作为专业爬虫程序员&#xff0c;我们在数据抓取过程中常常面临效率低下和准确性不高的问题。但不用担心&#xff01;本文将与大家分享Python爬虫的应用场景与技术难点&#xff0c;并提供一些实际操作价值的解决方案。让我们一起来探索如何提高数据抓取的效率与准确性吧&#xf…

【广州华锐互动】物联网工程VR虚拟课件有哪些特色?

物联网工程VR虚拟课件由广州华锐互动制作&#xff0c;是一种利用虚拟现实技术&#xff0c;将物联网的概念和应用场景通过模拟的方式呈现给学生的教学工具。相比传统的教学方式&#xff0c;物联网工程VR虚拟课件具有以下特色&#xff1a; 1.交互性强 物联网工程VR虚拟课件可以让…

选择最适合自己的NIO, 一探流技术

目录 一、Channel1、FileChannel代码示例2、DatagramChannel代码示例3、SocketChannel 和 ServerSocketChannel代码示例 二、Buffer1、ByteBuffer示例代码2、CharBuffer示例代码3、ShortBuffer、IntBuffer、LongBuffer、FloatBuffer、DoubleBuffer 等示例代码 三、Selector1、S…

转行软件测试四个月学习,第一次面试经过分享

我是去年上半年从销售行业转行到测试的&#xff0c;从销售公司辞职之后选择去培训班培训软件测试&#xff0c;经历了四个月左右的培训&#xff0c;在培训班结课前两周就开始投简历了&#xff0c;在结课的时候顺利拿到了offer。在新的公司从事软件测试工作已经将近半年有余&…

贝锐蒲公英:助力企业打造稳定高效的智能安防监控网络

随着技术的快速发展和物联网的普及&#xff0c;企业面临着许多安全威胁和风险&#xff0c;如盗窃、入侵、信息泄露等&#xff0c;企业需要建立安防监控系统来保护其资产、员工和业务运营的安全。 然而&#xff0c;企业在搭建安防监控系统的过程中&#xff0c;可能会面临一些难…

手机的发展历史

目录 一.人类的通信方式变化 二.手机对人类通信的影响 三.手机的发展过程 四.手机对现代人的影响 一.人类的通信方式变化 人类通信方式的变化是一个非常广泛和复杂的话题&#xff0c;随着技术的进步和社会的发展&#xff0c;人类通信方式发生了许多重大的变化。下面是一些主…