广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >怎么用Kubernetes监控
  • 953
分享到

怎么用Kubernetes监控

2024-04-02 19:04:59 953人浏览 薄情痞子
摘要

本篇文章为大家展示了怎么用kubernetes监控,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 什么是Kubernetes?Kubernetes 是一个

本篇文章为大家展示了怎么用kubernetes监控,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

 什么是Kubernetes?

Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。Kubernetes  拥有一个庞大且快速增长的生态系统。Kubernetes 的服务、支持和工具广泛可用。Kubernetes由Google于2014年开源  ,它是基于Google自身在生产中运行容器的经验而构建的。它现在由Cloud Native Computing  Foundation(CNCF)管理,Kubernetes是大型企业中最流行的容器管理工具,在最近的CNCF调查中有83%的受访者使用过。Kubernetes这个词  源于希腊语,意为“舵手”或“飞行员”。

怎么用Kubernetes监控

Kubernetes如何成为标准

要了解Kubernetes的价值,我们首先必须回顾一下多年来企业如何部署应用程序。在传统部署中,应用程序在物理服务器上运行,这种方法容易导致资源分配问题。例如,如果在单个服务器上运行多个应用程序,则一个应用程序可能会消耗大部分资源,从而影响其他应用程序的性能。一种解决方案是在单独的物理服务器上运行每个应用程序,但是这种方式带来的成本过高,并且会导致资源利用不足。下一步是虚拟化,它通过在物理服务器的CPU之上运行多个虚拟机(VM)(每个虚拟机运行自己的组件,包括操作系统(OS)和应用程序)来解决物理服务器的局限性。VM提供了很多好处,包括改善服务器资源的利用率,降低硬件成本,简化应用程序升级以及其他增强可扩展性。虚拟机有其缺点。例如,每个有自己的OS映像的VM都意味着额外的内存和存储要求。这增加了软件开发生命周期的复杂性,并限制了应用程序在公有云和私有云以及数据中心之间的可移植性。

容器的好处

容器与虚拟机相似,因为它有自己的软件,库,内存,配置文件等。但容器有许多优点,最显着的是有共享操作系统的能力(每个VM拥有自己独立的OS映像),从而使它们相对轻量,快速且高效。容器的好处包括:

  • 效率提高:借助容器,可以更快地部署,修补或扩展应用程序。

  • 更好的可移植性:将容器中运行的应用程序轻松部署到多个操作系统和硬件平台很容易。

  • 一致的操作:基于容器的应用程序无论部署在何处都可以相同地方式运行。

  • 更清晰的可观察性:除了提供操作系统级别的指标之外,它们还显示应用程序的运行状况。

  • 受益于应用程序开发:容器支持敏捷和devops开发(以加快开发,测试和生产周期)。

Kubernetes对容器的作用

由于容器比传统的虚拟化更加高效,快速和轻便,因此有大型应用程序部署的企业可以将多个容器部署为一个或多个容器集群也就不足为奇了。但是,由于大型的分布式容器化应用程序通常难以协调,因此该环境面临着一系列挑战。Kubernetes是一个开源容器编排工具,可跨主机群集自动执行应用程序容器的部署,扩展和操作。最流行的容器调度工具Kubernetes与领先的容器化平台Docker一起使用是最多的场景。但是Kubernetes还支持其他符合容器镜像格式和运行时标准的容器系统,该标准由开放容器倡议(OCI)设定,该组织是由linux  Foundation监督的开源技术社区。Kubernetes的替代产品包括Docker Swarm和Apache Mesos。

Kubernetes如何工作

Kubernetes提供了一个框架来运行弹性的分布式系统。部署后,您将获得一个Kubernetes集群—一组运行Kubernees管理的容器化应用程序的机器或节点。集群至少具有一个:

  • 承载Pod的辅助节点。(每个pod是一组一个或多个容器。)

  • 主节点,用于管理集群中的工作节点和Pod。

要使Kubernetes集群正常工作,您需要多个主组件,节点组件和附加组件。我们将在下面有关Kubernetes监控的部分中讨论这些组件。

Kubernetes的好处

尽管Kubernetes拥有很多优点,但它的四个主要优点包括速度,扩展,基础设施抽象和效率。《Kubernetes: Up and  Running》(https://www.oreilly.com/library/view/kubernetes-up-and/9781491935668/)这本书由  Joe Beda,Brendan Burns和Kelsey Hightower撰写。

  • 速度:Kubernetes提供了您需要每小时或每天快速发布功能同时保持高可用性服务的工具。

  • 扩展:Kubernetes的配置管理工具使扩展组成分布式应用程序的容器和支持这些容器的集群的扩展变得更加容易。

  • 基础架构抽象:在多个公共云之间或在混合云环境中运行分布式应用程序具有挑战性。Kubernetes有很多可简化这些任务的插件

  • 效率:通过在整个集群中自动分配应用程序并确保更高的利用率,Kubernetes有助于提高效率和成本管理。

Kubernetes监控涉及什么?

什么是Kubernetes监控?它涉及什么?让我们从需要在Kubernetes中监控什么以及为什么开始。Kubernetes可以极大地简化容器内和跨云的应用程序部署,但是却带来了自己的复杂性。正如Google在其《站点可靠性工程指南》(Https://landing.google.com/sre/sre-book/chapters/practical-alerting/)中所指出的那样,监控大型,复杂的系统面临两个主要挑战:正在监控的组件数量庞大,以及需要对运维人员保持“合理的低维护的工作量”。这些要求需要一个监控系统,该系统不仅可以发出有关高级服务目标的警报,还可以检查单个组件。为了扩展应用程序并提供可靠的服务,您需要深入了解应用程序在部署时的行为。要监控Kubernetes集群中的应用程序性能,检查容器,容器和服务的性能以及整个集群的特性至关重要。通过提供有关应用程序资源使用情况的信息,Kubernetes允许您评估应用程序性能以检测和消除瓶颈。

Kubernetes组成部分:要监控的内容

Kubernetes集群架构包括一个主节点和单独的Kubernetes节点。主要组件包括:

etcd

存储配置信息,集群中的每个节点均可使用。

API server(kube-apiserver)

验证和配置api对象(例如Pod,服务,复制控制器等)的数据。

Scheduler(kube-scheduler)

管理工作负载利用率以及将pod分配到可用节点。

kube-controller-manager

一个守护程序,负责收集信息并将其发送到API服务器。

cloud-controller-manager

运行与云供应商进行交互的控制器。Kubernotes节点组件包括:

  • 容器运行时(例如,Docker)

  • kubelet:主要节点代理,通过API服务器监控pod规范;它还在Kubernetes集群中注册了一个节点并报告事件,pod状态和资源利用率。

  • Kubernetes代理(kube-proxy):在每个节点上运行的代理服务,有助于使服务对外部主机可用。

Kubernetes附加组件

您有很多Kubernetes附加组件可供选择,但是这里有一些受欢迎的选择。您可以在此处找到更全面的加载项列表。

  • Kubernetes仪表板:Kubernetes集群的基于WEB的UI,可用于监控工作负载(deployments, pods, replica sets  等等)的运行状况,并查看所有节点上汇总的CPU和内存使用情况指标。它具有配置,发现,负载平衡,存储,监控以及创建和管理工作负载的功能。

  • 群集DNS:为Kubernetes服务提供DNS记录的DNS服务器。

  • ACI:通过Cisco Application Centric  Infrastructure(ACI)(https://GitHub.com/noironetworks/aci-containers)提供集成的容器网络网络安全性。

  • 集群级日志记录:使用搜索/浏览UI将容器日志保存到中央日志存储中。

Kubernetes监控挑战

将传统的单片应用程序迁移到Kubernetes既耗时又容易出错。但是,企业愿意冒险以在云中实现更大的敏捷性,创新,成本优势,可扩展性和业务增长。但是将单片应用程序迁移到微服务的公司缺乏对Kubernetes环境的可见性。这使得无法实时查看每个微服务的交互。

Kubernetes很复杂

集成工程师Dave  Snyder指出,Kubernetes难以监控的另一个原因是,Kubernetes集群要复杂得多,它有多个服务器以及私有和公有云服务。问题开始时,将有许多日志以及其他数据和组件需要排查。整体环境可能需要好几个日志搜索,但是Kubernetes环境可能包含一个或多个有关正在排查的问题需要多个微服务的日志。

使用APM进行Kubernetes监控

使用应用程序性能监控解决方案进行的Kubernetes监控使组织可以查看应用程序和业务性能,包括对容器化应用程序,Kubernetes集群,Docker容器和基础架构指标的更深入了解。这种可见性使企业可以增强容器级别的指标,并获得有关CPU,数据包,内存和网络利用率的可见性。然后,用户可以将这些指标和关联的运行状况规则以及它们在APM监控的容器应用程序上的资源使用统计信息作为基准。通过将APM指标与基础容器和服务器指标进行比较,公司可以快速了解其容器化应用程序的性能,并了解基础架构中的潜在障碍。例如,特定指标可以帮助识别占用带宽的应用程序和容器级网络错误。

Kubernetes环境中的全栈可见性

可见性使组织可以监控在Kubernetes  Pod中运行的容器化应用程序,并确定妨碍应用程序性能的容器问题。全面的Kubernetes监控解决方案可提供对组织应用程序的每个组件(基础架构,Kubernetes平台,容器以及每个微服务和最终用户设备)的端到端可见性。

什么是Kubernetes监控最佳实践?

Kubernetes提供了操作流程和复杂性,其中许多涉及应用程序性能监控。随着您将Kubernetes的使用扩展到生产环境中,这些挑战变得更加重要。通过创建诸如Pod和Service之类的抽象级别,Kubernetes使您不必担心应用程序在何处运行或它们是否具有足够的资源来高效运行。但是要确保最佳性能,您仍然必须监控应用程序,运行它们的容器,甚至Kubernetes本身。以下是一些重要的Kubernetes监控最佳实践:

使用Kubernetes DaemonSets

在运行Kubernetes时,您可能希望在所有节点上运行单个pod,例如,在运行诸如AppDynamics代理或开源数据收集器Fluentd之类的监控进程时,以收集日志。DaemonSet是一个Kubernetes工作负载对象,可确保特定的Pod在集群中的每个节点或节点的某些子集上运行。通过使用DaemonSet,您要告诉Kubernetes确保每个节点上都有一个pod实例。

Tags和Labels Matter很重要

使用Kubernetes管理容器编排,标签对于监控变得至关重要,因为标签是您与容器和容器进行交互的唯一方法。为了使度量标准尽可能有用,必须使用逻辑且一致的方案定义标签。

知道要监控的指标

根据Kubernetes.io,应该密切跟踪Kubernetes指标的几种关键类型:

  • 运行Pod及其部署

  • 资源指标,包括CPU,内存使用情况和磁盘I/O

  • 容器原生指标

  • 应用指标

使用服务发现

由于Kubernetes根据调度策略动态调度应用程序,因此您可能不知道应用程序在何处运行,但是无论如何您都必须对其进行监控。您将希望使用具有服务发现功能的监控系统,该系统会自动使指标收集适应移动的容器。这种方法使您可以连续监控应用程序而不会中断。

Kubernetes监控工具

Kubernetes有很多好处,但也增加了复杂性。例如,其要在多个数据中心甚至不同的云供应商之间分布容器化应用程序的能力,就需要一种全面的监控解决方案来跨多个不同来源收集和汇总指标。持续监控系统和应用程序的运行状况至关重要,许多免费的商业解决方案可提供对Kubernetes集群及其托管的应用程序的实时监控。这是用于Kubernetes监控的几个开源工具:

Prometheus

这个针对Kubernetes和Docker的流行的监控和警报工具提供了详细,可行的指标和分析。prometheus由SoundCloud开发并捐赠给CNCF社区,专门设计用于监控在容器中运行的应用程序和微服务。但是,Prometheus并不是仪表板,通常与Grafana结合使用(见下文)以可视化数据。

Grafana

Grafana是用于分析和度量可视化的开源平台,包括四个仪表板:集群,节点,Pod/容器和部署。Kubernetes管理员通常会安装Grafana并利用Prometheus数据源来创建信息丰富的仪表板。

Jaeger

Jaeger是一个跟踪系统,用于对复杂的分布式系统中的事务进行故障排除和监控。它解决了分布式上下文传播,分布式事务监控,等待时间优化等中出现的软件问题。

Dashboard

Kubernetes仪表板是Kubernetes集群的Web UI插件,可让您监控工作负载的运行状况。

Kubewatch

该附加组件监控Kubernetes pod中发生的更改,并将通知发送到Slack  Channel。Kubewatch用golang编写,它使用Kubernetes客户端库与Kubernetes  API服务器进行交互,并使用Slack客户端库与Slack进行交互。

Weave Scope

Weave  Scope是Kubernetes和Docker的可视化和监控工具,它提供了应用程序和整个基础架构的自顶向下视图。由Weaveworks开发,Weave  Scope生成Kubernetes集群中的进程,容器和主机的映射。它的图形用户界面还允许您在容器上管理和运行诊断命令。

EFK Stack

EFK  Stack实际上是三个可以很好地协同工作的工具的混合物:elasticsearch,Fluentd和Kibana。Fluentd是一个数据收集器,它从Kubernetes集群节点上运行的Pod中删除日志。它将这些日志路由到Elasticsearch搜索引擎,Elasticsearch搜索引擎提取数据并将其存储在中央存储库中。Kibana是Elasticsearch的数据可视化插件,是EFK  Stack的UI,允许用户可视化收集的日志和指标并创建自定义仪表板。

InfluxDB

InfluxData的InfluxDB是时间序列数据的高性能存储。它专为监控记录的大量存储而构建,可通过集群提供水平可伸缩性和高可用性。InfluxDB是长期存储Kubernetes监控数据以用于历史记录或建模的很好的解决方案。

上述内容就是怎么用Kubernetes监控,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网VUE频道。

--结束END--

本文标题: 怎么用Kubernetes监控

本文链接: https://www.lsjlt.com/news/83412.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么用Kubernetes监控
    本篇文章为大家展示了怎么用Kubernetes监控,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 什么是KubernetesKubernetes 是一个可...
    99+
    2022-10-19
  • 怎么搞定Kubernetes监控
    本篇内容主要讲解“怎么搞定Kubernetes监控”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么搞定Kubernetes监控”吧!如果你位于DevOps前线,Kubernetes正在迅速成为...
    99+
    2023-06-04
  • Kubernetes监控实践
    一、Kubernetes介绍Kubernetes(K8s)是一个开源平台,能够有效简化应用管理、应用部署和应用扩展环节的手动操作流程,让用户更加灵活地部署管理云端应用。作为可扩展的容错平台,K8s几乎能够部署在所有基础设施中,与Google...
    99+
    2023-06-04
  • Kubernetes节点之间的ping监控怎么实现
    小编给大家分享一下Kubernetes节点之间的ping监控怎么实现,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!脚本和配置我们解决方案的主要组件是一个脚本,该脚本监视每个节点的.stat...
    99+
    2022-10-19
  • 基于Kubernetes的微服务监控体系是怎么样的
    今天就跟大家聊聊有关基于Kubernetes的微服务监控体系是怎么样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。监控系统是运维体系乃至整个软件产品生命周期中最重要的一环,完善的监...
    99+
    2023-06-17
  • 如何通过Splunk监控Kubernetes运行性能
    这篇文章主要介绍如何通过Splunk监控Kubernetes运行性能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Splunk是业界领先的机器数据收集、处理、分析和管理平台。机器数据是指那些能够为企业业务发展提供动力...
    99+
    2023-06-27
  • kubernetes集群如何搭建Zabbix监控平台
    本篇内容介绍了“kubernetes集群如何搭建Zabbix监控平台”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、zabbix介绍1.z...
    99+
    2023-07-02
  • 使用 Loki 实现 Kubernetes 容器日志监控的方法
    目录一、基本介绍1.Loki 架构2.Loki 工作原理二、使用 Loki 实现容器日志监控1.安装 Loki2.安装 Promtail3.安装 Grafana4.验证一、基本介绍 ...
    99+
    2022-11-13
  • 怎么用zabbix监控tomcat
    这篇文章主要为大家展示了“怎么用zabbix监控tomcat”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么用zabbix监控tomcat”这篇文章吧。代理端: java-gatew...
    99+
    2023-06-04
  • 怎么用ES做Redis监控
    本篇内容主要讲解“怎么用ES做Redis监控”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用ES做Redis监控”吧!序言图示:Redis热度排名Redis当下很流行,也很好用,无论是在业务...
    99+
    2023-06-17
  • kubernetes集群搭建Zabbix监控平台的详细过程
    目录一、zabbix介绍1.zabbix简介2.zabbix特点3.zabbix的主要功能4.zabbix架构图二、检查本地k8s环境1.检查系统pod运行状态2.检查node节点状...
    99+
    2022-11-13
  • 怎么用CZGL.ProcessMetrics监控.NET应用
    这篇文章主要讲解了“怎么用CZGL.ProcessMetrics监控.NET应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用CZGL.ProcessMetrics监控.NET应用”吧...
    99+
    2023-06-29
  • Linux监控工具Glances怎么用
    这篇文章主要介绍了Linux监控工具Glances怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Glances 是一个由 Python 编写,使用 psutil 库来从...
    99+
    2023-06-27
  • mongoDB的监控工具怎么用
    mongoDB的监控工具怎么用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。mongostatmongostat捕捉并返回各种...
    99+
    2022-10-18
  • 怎么使用oracle索引监控
    这篇文章主要介绍“怎么使用oracle索引监控”,在日常操作中,相信很多人在怎么使用oracle索引监控问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用oracle索引...
    99+
    2022-10-18
  • MySQL监控工具orzdba怎么用
    这篇文章给大家分享的是有关MySQL监控工具orzdba怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。[root@hank-yoon servers]# chmod +x ...
    99+
    2022-10-18
  • k8s怎么应用监控探针
    这篇文章主要介绍“k8s怎么应用监控探针”,在日常操作中,相信很多人在k8s怎么应用监控探针问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”k8s怎么应用监控探针”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-07-05
  • 怎么使用Zabbix 5.4.3监控IPMI
    这篇文章主要介绍“怎么使用Zabbix 5.4.3监控IPMI”,在日常操作中,相信很多人在怎么使用Zabbix 5.4.3监控IPMI问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使...
    99+
    2023-06-29
  • Linux怎么监控内存
    这篇文章主要介绍“Linux怎么监控内存”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux怎么监控内存”文章能帮助大家解决问题。一、安装Linux下面的一个邮件客户端Msmtp软件(类似于一个...
    99+
    2023-06-27
  • linux中怎么监控MYSQL
    linux中怎么监控MYSQL,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。  第1条指令:watch -n 5 -d "admin...
    99+
    2022-10-18
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作