精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

    文章

    10827

    瀏覽量

    211179
  • 服務器
    +關注

    關注

    12

    文章

    9028

    瀏覽量

    85202
  • API
    API
    +關注

    關注

    2

    文章

    1487

    瀏覽量

    61827
  • 機器
    +關注

    關注

    0

    文章

    779

    瀏覽量

    40691

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

    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 ?327次閱讀
    使用Velero備份<b class='flag-5'>Kubernetes</b>集群

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

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

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

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

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

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

    Prometheus監控業務指標詳解

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

    配置Kubernetes中Pod使用代理的兩種常見方式

    的需要。本文將介紹配置Kubernetes中Pod使用代理的兩種常見方式:通過ConfigMap和直接在應用程序環境變量中設置。
    的頭像 發表于 01-05 11:22 ?1077次閱讀
    配置<b class='flag-5'>Kubernetes</b>中Pod使用代理的兩種常見<b class='flag-5'>方式</b>

    濾波電容不同補償方式優缺點對比

    濾波電容不同補償方式優缺點對比? 濾波電容是電子電路中常用的元件,用于對信號進行濾波處理。不同的補償方式可以幫助提高濾波電容的性能和穩定性。本文將詳細介紹幾種常見的濾波電容補償方式的優
    的頭像 發表于 01-04 16:00 ?1120次閱讀

    使用Jenkins和單個模板部署多個Kubernetes組件

    在持續集成和部署中,我們通常需要部署多個實例或組件到Kubernetes集群中。通過Jenkins的管道腳本,我們可以自動化這個過程。在本文中,我將演示如何使用Jenkins Pipeline及單個
    的頭像 發表于 01-02 11:40 ?713次閱讀
    使用Jenkins和單個模板部署多個<b class='flag-5'>Kubernetes</b>組件

    Kubernetes RBAC:掌握權限管理的精髓

    Kubernetes RBAC(Role-Based Access Control)是 Kubernetes 中一項關鍵的安全功能,它通過細粒度的權限控制機制,確保集群資源僅被授權的用戶或服務賬號訪問。
    的頭像 發表于 12-25 09:43 ?451次閱讀

    Kubernetes開發指南之深入理解CRD

    CRD本身是Kubernetes內置的資源類型,全稱是CustomResourceDefinition,可以通過命令查看,kubectl get查看集群內定義的CRD資源。
    的頭像 發表于 12-13 18:19 ?835次閱讀
    <b class='flag-5'>Kubernetes</b>開發指南之深入理解CRD