Kubernetes学习笔记-计算资源管理(4)监控pod的资源使用量20230219

这篇具有很好参考价值的文章主要介绍了Kubernetes学习笔记-计算资源管理(4)监控pod的资源使用量20230219。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前面学了设置资源的requests和limits,这节课学习如何监控资源,根据监控资源使用情况,对requests和limits进行合理配置。

  1. 收集、获取实际资源使用情况

kubelet包含一个agent,名为cAdvisor,它会收集整个节点上运行的所有单独容器的资源消耗情况,这些信息可以通过一个附加组件Heapster来集中统计整个集群的监控信息

Heapster以pod的方式运行在某个节点上,他通过普通的kubernetes Service暴露服务,使外部可以通过一个稳定的ip地址访问。它从集群中所有的cAdvisor收集信息,然后通过一个单独的地址暴露。

启动Heapster

Google Container Engine上,Heapster默认已经启动

Minikuber上,作为一个插件使用,需要命令开启:$minikube addons enable heapster

其他类型的kubernetes集群运行heapster,参考:https://github.com/kubernetes/heapers

说明:启动heapster需要等几分钟

显示集群节点的cpu和内存使用量

kubectl top node

显示单独pod的cpu和内存使用量

kubectl top pod --all -namespaces

  1. 保存并分析历史资源的使用统计信息

top命令仅仅展示了当前的资源使用量,他不会显示从一小时、一天、一周前到现在的pod和cpu使用多少。cAdvisor和Heapster都只保存了一个很短时间窗的资源使用量数据。需要分许一段时间的pod和资源使用情况,必须使用额外的工具。Google container engine,可以通过google cloud monitoring来队进行进行监控,但对本地kubernetes集群,可以使用InfluxDB来存储统计数据,然后使用Grafana对数据进行可视化分析。

InfluxDB和Grafana

InfluxDB是一个用于存储应用指标,以及其他监控数据的开源的时序数据库。

Grafana是一个拥有华丽的web控制台的数据分析和可视化套件,也是开源的

它运行用户对InfluxDB中存储的数据进行可视化,同时发现应用程序的资源使用随着时间如何发生变化。

计算资源章节总结:

本章节讲了为了确保一切顺利运行,需要考虑pod的资源使用情况,同时为pod配置资源requests和limits

  • 指定资源requests,帮助kubernetes在集群内对pod进行调度

  • 指定资源limits,防止一个pod抢占其他pod的资源

  • 空闲的cpu时间根据容器的cpu requests来分配

  • 如果容器使用过量cpu,系统不会杀死这个容器,但是如果使用过量内存会被杀死

  • 在一个overcommited的系统,容器同样可以被杀死释放内存给更重要的pod,这基于pod的QoS等级和实际内存用量

  • 可以通过LimitRange对象为单个pod的资源requests和limits定义最小值、最大值和默认值

  • 可以通过ResourcesQuota对象限制一个命名空间中所有pod的可用资源数量

  • 要知道如何为pod设置合适的requests和limits,需要一段足够长时间内对pod资源的使用情况进行监控文章来源地址https://www.toymoban.com/news/detail-449265.html

到了这里,关于Kubernetes学习笔记-计算资源管理(4)监控pod的资源使用量20230219的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kubernetes·陈述式&声明式资源管理

    目录 k8s陈述资源管理方法的说明 陈述式资源管理方法 声明式资源管理方法 GUI式资源管理方法 kubectl命令行工具 的说明 查看版本信息 查看资源对象简写 查看集群信息 配置kubectl自动补全 node节点查看日志  k8s基本信息查看 查看 master 节点状态 查看命名空间 查看default命名空

    2024年02月06日
    浏览(33)
  • (kubernetes)k8s常用资源管理

    目录 k8s常用资源管理 1、创建一个pod 1)创建yuml文件 2)创建容器 3)查看所有pod创建运行状态 4)查看指定pod资源 5)查看pod运行的详细信息 6)验证运行的pod 2、pod管理 1)删除pod 2)查看删除pod无法找到 3)创建pod 4)发现最先创建的pod运行在k8s-master节点上,下载镜像速度太

    2024年02月13日
    浏览(47)
  • kubernetes/k8s配置资源管理

    配置资源管理 Secret Configmap*.1.2加入新特征 1.18 Secret:保存密码,token,敏感的k8s资源 这类数据可以存放在镜像当中,但是防止secret可以更方便的控制,减少暴漏风险。 保存加密的信息 Secret的类型: docker-registry:存储docker仓库认证信息,以及docker组件的认证信息(私有的) generic:是

    2024年01月17日
    浏览(51)
  • 【Kubernetes资源篇】ConfigMap配置管理中心详解

    1、ConfigMap配置中心简介 官方中文参考文档: ConfigMap是API对象,用于存放明文(非机密性)数据保存到键值对中,可以使用环境变量、命令行参数或者存储卷方式应用到Pod中,ConfigMap相当于Pod中程序的配置文件,通过修改ConfigMap内容来修改程序的配置。 2、ConfigMap局限性 ConfigM

    2024年02月13日
    浏览(43)
  • 云原生Kubernetes:K8S配置资源管理

    目录 一、理论 1.Secret 2.Secret创建 3.Secret使用 4.Configmap 5.Configmap创建 6.Configmap使用 二、实验 1.Secret创建 2.Secret使用 3.Configmap创建 4.Configmap使用 三、问题 1.变量引用生成资源报错 2.查看pod日志失败 3.创建configmap报错 4.YAML创建configmap报错 5. 生成资源报错 6.文件挂载pod报错Error 四

    2024年02月07日
    浏览(62)
  • 【Kubernetes资源篇】StatefulSet无状态服务管理入门实战详解

    官方中文参考文档 1、StatefulSet Pod控制器特性 StatefulSet(简写sts)也是K8S集群中的一种Pod资源管理器,与deployment Pod控制器不同的是,StatefulSet用于管理无状态程序,特性如下: 稳定的网络标识符:管理的Pod都拥有一个稳定的网络标识符。可以通过网络标识符进行访问。 有序部署

    2024年02月13日
    浏览(36)
  • 在CSDN学Golang云原生(Kubernetes声明式资源管理Kustomize)

    在 Kubernetes 中,我们可以通过 YAML 或 JSON 文件来定义和创建各种资源对象,例如 Pod、Service、Deployment 等。下面是一个简单的 YAML 文件示例,用于创建一个 Nginx Pod: 该文件包含了以下信息: apiVersion :指定 Kubernetes API 的版本。 kind :指定资源类型,这里为 Pod。 metadata :定义

    2024年02月15日
    浏览(34)
  • K8S资源管理之计算资源管理

            以CPU为例,下图显示了未设置Limits与设置了Requests和Limits的CPU使用率的区别        尽管Requests和Limits只能被设置到容器上,但是设置了Pod级别的Requests和Limits能大大提高管理Pod的便利性和灵活性,因此在Kubernetes中提供了对Pod级别的Requests和Limits的配置。对于CP

    2024年04月15日
    浏览(54)
  • yum部署kubernetes(k8s)集群、k8s常用资源管理

    目录 一、环境搭建 1、准备环境 1)计算机说明,建议系统版本7.4或者7.6 2)修改所有主机的计算机名设置host文件  2、安装master节点 1)安装etcd配置etcd 2)安装k8s-master节点 3)配置apiserver 4)配置controller和scheduler 5)启动k8s服务 3、安装k8s-master上的node 1)安装node 2)配置kube

    2024年02月13日
    浏览(61)
  • 水资源管理:云计算在水资源管理中的优势

    水资源是人类生存和发展的基础,同时也是一个国家或地区的重要战略资源。随着人口增长、经济发展和工业化进程,水资源的紧缺和污染问题日益严重。为了有效地管理水资源,提高水资源利用效率,降低污染水体的成本,云计算技术在水资源管理领域发挥着重要作用。本

    2024年04月16日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包