在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

解析Kubernetes監控指標獲取方式對比

馬哥Linux運維 ? 來源:掘金 ? 作者:Honest1y ? 2021-09-26 10:45 ? 次閱讀

對比

node-exporter用于采集服務器層面的運行指標,包括機器的loadavg、filesystem、meminfo等基礎監控,類似于傳統主機監控維度的zabbix-agent。 metric-server/heapster是從api-server中獲取CPU、內存使用率這種監控指標,并把他們發送給存儲后端,如InfluxDB或云廠商,他當前的核心作用是:為HPA等組件提供決策指標支持。 kube-state-metrics關注于獲取Kubernetes各種資源的最新狀態,如Deployment或者DaemonSet。 例如:
  • 我調度了多少個Replicas?現在可用的有幾個?

  • 多少個Pod是running/stopped/terminated狀態?

  • Pod重啟了多少次?

  • 我有多少job在運行中?

這些指標都由kube-state-metrics提供。 之所以沒有把kube-state-metrics納入到metric-server的能力中,是因為他們的關注點本質上是不一樣的。
  • metric-server僅僅是獲取、格式化現有數據,寫入特定的存儲,實質上是一個監控系統。

  • kube-state-metrics是將Kubernetes的運行狀況在內存中做了個快照,并且獲取新的指標,但他沒有能力導出這些指標。
    部署metric-server

下載metric-server部署的yaml文件到本地。

	

wgethttps://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.7/components.yaml

拉取metric-server的鏡像到本地:

	

#dockerpullzhaoqinchang/metrics-server:0.3.7 0.3.7:Pullingfromzhaoqinchang/metrics-server 9ff2acc3204b:Pullcomplete 9d14b55ff9a0:Pullcomplete Digest:sha256:c0efe772bb9e5c289db6cc4bc2002c268507d0226f2a3815f7213e00261c38e9 Status:Downloadednewerimageforzhaoqinchang/metrics-server:0.3.7 docker.io/zhaoqinchang/metrics-server:0.3.7

修改components.yaml文件為如下內容:

	#catcomponents.yaml --- apiVersion:rbac.authorization.k8s.io/v1 kind:ClusterRole metadata: name:system:aggregated-metrics-reader labels: rbac.authorization.k8s.io/aggregate-to-view:"true" rbac.authorization.k8s.io/aggregate-to-edit:"true" rbac.authorization.k8s.io/aggregate-to-admin:"true" rules: -apiGroups:["metrics.k8s.io"] resources:["pods","nodes"] verbs:["get","list","watch"] --- apiVersion:rbac.authorization.k8s.io/v1 kind:ClusterRoleBinding metadata: name:metrics-serverauth-delegator roleRef: apiGroup:rbac.authorization.k8s.io kind:ClusterRole name:system:auth-delegator subjects: -kind:ServiceAccount name:metrics-server namespace:kube-system --- apiVersion:rbac.authorization.k8s.io/v1 kind:RoleBinding metadata: name:metrics-server-auth-reader namespace:kube-system roleRef: apiGroup:rbac.authorization.k8s.io kind:Role name:extension-apiserver-authentication-reader subjects: -kind:ServiceAccount name:metrics-server namespace:kube-system --- apiVersion:apiregistration.k8s.io/v1beta1 kind:APIService metadata: name:v1beta1.metrics.k8s.io spec: service: name:metrics-server namespace:kube-system group:metrics.k8s.io version:v1beta1 insecureSkipTLSVerify:true groupPriorityMinimum:100 versionPriority:100 --- apiVersion:v1 kind:ServiceAccount metadata: name:metrics-server namespace:kube-system --- apiVersion:apps/v1 kind:Deployment metadata: name:metrics-server namespace:kube-system labels: k8s-app:metrics-server spec: selector: matchLabels: k8s-app:metrics-server template: metadata: name:metrics-server labels: k8s-app:metrics-server spec: serviceAccountName:metrics-server volumes: #mountintmpsowecansafelyusefrom-scratchimagesand/orread-onlycontainers -name:tmp-dir emptyDir:{} containers: -name:metrics-server image:zhaoqinchang/metrics-server:0.3.7#修改鏡像為剛剛拉取下來的鏡像 imagePullPolicy:IfNotPresent args: ---cert-dir=/tmp ---secure-port=4443 command:#添加以下三行command命令 -/metrics-server ---kubelet-preferred-address-types=InternalIP ---kubelet-insecure-tls ports: -name:main-port containerPort:4443 protocol:TCP securityContext: readOnlyRootFilesystem:true runAsNonRoot:true runAsUser:1000 volumeMounts: -name:tmp-dir mountPath:/tmp nodeSelector: kubernetes.io/os:linux --- apiVersion:v1 kind:Service metadata: name:metrics-server namespace:kube-system labels: kubernetes.io/name:"Metrics-server" kubernetes.io/cluster-service:"true" spec: selector: k8s-app:metrics-server ports: -port:443 protocol:TCP targetPort:main-port --- apiVersion:rbac.authorization.k8s.io/v1 kind:ClusterRole metadata: name:system:metrics-server rules: -apiGroups: -"" resources: -pods -nodes -nodes/stats -namespaces -configmaps verbs: -get -list -watch --- apiVersion:rbac.authorization.k8s.io/v1 kind:ClusterRoleBinding metadata: name:system:metrics-server roleRef: apiGroup:rbac.authorization.k8s.io kind:ClusterRole name:system:metrics-server subjects: -kind:ServiceAccount name:metrics-server namespace:kube-system
				部署metric-server:

	

#kubectlapply-fcomponents.yaml clusterrole.rbac.authorization.k8s.io/system:aggregated-metrics-readercreated clusterrolebinding.rbac.authorization.k8s.io/metrics-serverauth-delegatorcreated rolebinding.rbac.authorization.k8s.io/metrics-server-auth-readercreated apiservice.apiregistration.k8s.io/v1beta1.metrics.k8s.iocreated serviceaccount/metrics-servercreated deployment.apps/metrics-servercreated service/metrics-servercreated clusterrole.rbac.authorization.k8s.io/system:metrics-servercreated clusterrolebinding.rbac.authorization.k8s.io/system:metrics-servercreated

查看metric.k8s.io是否出現在Kubernetes集群的API群組列表中:

	

#kubectlapi-versions|grepmetrics metrics.k8s.io/v1beta1

使用

kubectl top命令可顯示節點和Pod對象的資源使用信息,它依賴于集群中的資源指標API來收集各項指標數據。它包含有Node和Pod兩個子命令,可分別顯示Node對象和Pod對象的相關資源占用率。 列出Node資源占用率命令的語法格式為“kubectl top node [-l label | NAME]”,例如下面顯示所有節點的資源占用狀況的結果中顯示了各節點累計CPU資源占用時長及百分比,以及內容空間占用量及占用比例。必要時,也可以在命令直接給出要查看的特定節點的標識,以及使用標簽選擇器進行節點過濾。

	

[root@mastermetric]#kubectltopnodes NAMECPU(cores)CPU%MEMORY(bytes)MEMORY% master282m14%1902Mi51% node-0270m3%1371Mi37% node-03121m1%892Mi11%

而名稱空間級別的Pod對象資源占用率的使用方法會略有不同,使用時,一般應該跟定名稱空間及使用標簽選擇器過濾出目標Pod對象。例如,下面顯示kube-system名稱空間下的Pod資源使用狀況:

	

[root@mastermetric]#kubectltoppods-nkube-system NAMECPU(cores)MEMORY(bytes) etcd-master32m300Mi kube-apiserver-master86m342Mi kube-controller-manager-master30m48Mi kube-flannel-ds-l5ghn5m10Mi kube-flannel-ds-rqlm24m12Mi kube-flannel-ds-v92r94m14Mi kube-proxy-7vjcv18m15Mi kube-proxy-xrz8f13m21Mi kube-proxy-zpwn61m14Mi kube-scheduler-master7m17Mi metrics-server-5549c7694f-7vb662m14Mi

kubectl top命令為用戶提供簡潔、快速獲取Node對象及Pod對象系統資源占用狀況的接口,是集群運行和維護的常用命令之一。 原文鏈接:https://juejin.cn/post/6996862439560052773
編輯:jq
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10873

    瀏覽量

    212094
  • 服務器
    +關注

    關注

    12

    文章

    9218

    瀏覽量

    85587
  • API
    API
    +關注

    關注

    2

    文章

    1503

    瀏覽量

    62136
  • 機器
    +關注

    關注

    0

    文章

    784

    瀏覽量

    40750

原文標題:Kubernetes監控指標獲取方式對比

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Kubernetes的CNI網絡插件之flannel

    Kubernetes設計了網絡模型,但卻將它的實現講給了網絡插件,CNI網絡插件最重要的功能就是實現Pod資源能夠跨主機通信。
    的頭像 發表于 01-02 09:43 ?147次閱讀

    solidworks正版軟件:永久版權和訂閱許可 兩種購買方式解析和選擇

    SOLIDWORKS軟件分從購買方式上劃分為永久版權的形式和訂閱即年付費兩種方式,代理商碩迪科技向您詳細解析 SOLIDWORKS 的永久版權和訂閱許可的區別,各自的優劣勢以及適合的應用場景。以幫助您做出適合的決策。
    的頭像 發表于 12-16 16:45 ?393次閱讀
    solidworks正版軟件:永久版權和訂閱許可 兩種購買<b class='flag-5'>方式</b><b class='flag-5'>解析</b>和選擇

    POE供電與傳統供電對比 POE供電技術原理解析

    POE供電與傳統供電對比 POE(Power over Ethernet)供電技術與傳統供電方式在多個方面存在顯著差異。以下是對這兩種供電方式的詳細對比: POE供電 傳統供電 基本概
    的頭像 發表于 12-04 09:53 ?370次閱讀

    PLC遠程監控物聯網方案解析

    PLC遠程監控物聯網方案是一種集成了傳感器、通信技術和軟件平臺的系統,用于實現對PLC(可編程邏輯控制器)的遠程監控和管理。以下是該方案的詳細解析,包括組成、功能和價值等方面: PLC遠程監控
    的頭像 發表于 11-20 11:01 ?210次閱讀
    PLC遠程<b class='flag-5'>監控</b>物聯網方案<b class='flag-5'>解析</b>

    Kubernetes集群搭建容器云需要幾臺服務器?

    Kubernetes集群搭建容器云需要幾臺服務器?至少需要4臺服務器。搭建容器云所需的服務器數量以及具體的搭建步驟,會根據所選用的技術棧、業務規模、架構設計以及安全需求等因素而有所不同。以下是一個基于Kubernetes集群的容器云搭建的概述:
    的頭像 發表于 10-21 10:06 ?170次閱讀

    ZCAN PRO解析的DBC Singal 起始位與XNET解析的起始位不同;解析的信號不符合大端邏輯

    上圖中的DBC文件使用記事本打開,Data_Field信號,起始位為23,長度為48,大端方式存儲;(按照這個方式存儲,明顯已經溢出) 上圖為該信號在ZCANPRO軟件中打開,解析的起始位為23
    發表于 10-18 13:53

    使用Velero備份Kubernetes集群

    Velero 是 heptio 團隊(被 VMWare 收購)開源的 Kubernetes 集群備份、遷移工具。
    的頭像 發表于 08-05 15:43 ?372次閱讀
    使用Velero備份<b class='flag-5'>Kubernetes</b>集群

    如何使用Kubeadm命令在PetaExpress Ubuntu系統上安裝Kubernetes集群

    Kubernetes,通常縮寫為K8s,是一個開源的容器編排平臺,旨在自動化容器化應用的部署、擴展和管理。有了Kubernetes,您可以輕松地部署、更新和擴展應用,而無需擔心底層基礎設施。
    的頭像 發表于 07-15 13:31 ?878次閱讀
    如何使用Kubeadm命令在PetaExpress Ubuntu系統上安裝<b class='flag-5'>Kubernetes</b>集群

    esp32在靜態IP下,域名無法解析怎么解決?

    1esp32使用dhcp,正常獲取IP連接網絡,可以解析域名. 2esp32使用靜態IP,正常獲取IP連接網絡,無法解析域名。
    發表于 06-25 07:56

    上位監控程序如何實現

    之前,需要對目標系統進行需求分析,明確監控對象、監控指標、用戶需求和系統性能要求。以下是一些關鍵需求: 1.1 監控對象:確定需要監控的設備
    的頭像 發表于 06-07 09:12 ?532次閱讀

    【米爾-全志T113-i開發板試用】3、使用golang獲取系統信息

    獲取系統信息,我們可以使用Linux的Proc文件系統,解析其中的文件來取得相應的信息,但是那樣做太麻煩了,需要找很多資料,寫挺多的代碼。 我們可以使用現成的工具gopsutil。gopsutil
    發表于 02-22 09:39

    Prometheus監控業務指標詳解

    Kubernetes 已經成了事實上的容器編排標準之下,微服務的部署變得非常容易。但隨著微服務規模的擴大,服務治理帶來的挑戰也會越來越大。在這樣的背景下出現了服務可觀測性(observability)的概念。
    的頭像 發表于 01-24 10:32 ?611次閱讀
    Prometheus<b class='flag-5'>監控</b>業務<b class='flag-5'>指標</b>詳解

    ?PLC從HTTP服務端獲取JSON文件,解析數據到寄存器

    文件提交給HTTP的服務端; 服務端有返回的JSON,或者GET命令獲取到的JSON,網關進行解析后將數據寫入到PLC寄存器。 本文主要描述通過GET命令獲取數據,解析到西門子PLC的
    發表于 01-24 09:47

    Kubernetes Gateway API攻略教程

    Kubernetes Gateway API 剛剛 GA,旨在改進將集群服務暴露給外部的過程。這其中包括一套更標準、更強大的 API資源,用于管理已暴露的服務。在這篇文章中,我將介紹 Gateway
    的頭像 發表于 01-12 11:32 ?902次閱讀
    <b class='flag-5'>Kubernetes</b> Gateway API攻略教程

    Nightingale夜鶯監控部署安裝和使用

    最近在對開源的新型監控做調研,發現Nightingale功能強大,使用效果還不錯,并對,并對目前監控做了一個對比
    的頭像 發表于 01-10 09:24 ?2984次閱讀
    Nightingale夜鶯<b class='flag-5'>監控</b>部署安裝和使用
    主站蜘蛛池模板: 日本成人福利视频| 在线欧美激情| 91九色在线视频| 最近观看免费高清视频| 在线日本人观看成本人视频| 亚洲午夜精品久久久久久成年 | 91亚洲免费视频| 香蕉久久高清国产精品免费| 亚洲第一黄色网| 69久久夜色精品国产69| 性生生活三级视频在线观看| 视频色版| 毛片你懂的| 成视频年人黄网站免费视频| 五月花亚洲| 国产精品久久久久久影院| jizz性欧美12| 中国成人免费视频| 五月激情片| 女人张腿让男桶免费视频观看 | 亚洲成色在线综合网站| 三级在线观看免播放网站| 免费黄色在线观看| www.av在线.com| 欧美大黄| 又色又爽视频| 亚洲人成毛片线播放| 日本a级免费| 国内真实实拍伦视频在线观看| 午夜视频国产| www.福利| 国产亚洲精品免费| 日本免费性| bt天堂资源| 国产小视频在线高清播放| 亚洲一区二区三区免费观看| 性生生活三级视频在线观看| 精品一区二区三区免费爱| 午夜干b| 日本xxxxx69hd日本| 在线成人看片|