在线观看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

    文章

    11011

    瀏覽量

    215190
  • 服務器
    +關注

    關注

    12

    文章

    9596

    瀏覽量

    86971
  • API
    API
    +關注

    關注

    2

    文章

    1554

    瀏覽量

    63290
  • 機器
    +關注

    關注

    0

    文章

    790

    瀏覽量

    41064

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

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

收藏 人收藏

    評論

    相關推薦

    Kubernetes Helm入門指南

    Helm 是 Kubernetes 的包管理工具,它允許開發者和系統管理員通過定義、打包和部署應用程序來簡化 Kubernetes 應用的管理工作。Helm 的出現是為了解決在 Kubernetes
    的頭像 發表于 04-30 13:42 ?534次閱讀
    <b class='flag-5'>Kubernetes</b> Helm入門指南

    請問cypress的demo運行log通過什么方式獲取

    cypress的demo運行log通過什么方式獲取
    發表于 04-30 06:05

    使用Prometheus與Grafana實現MindIE服務可視化監控功能

    在 MindIE 服務化運行過程中,為了及時掌握服務的運行狀態、性能表現以及發現潛在問題,提供了服務監控指標查詢接口(普羅 (Prometheus) 格式)。該接口能夠幫助開發者和運維人員獲取豐富的服務
    的頭像 發表于 04-21 11:48 ?281次閱讀
    使用Prometheus與Grafana實現MindIE服務可視化<b class='flag-5'>監控</b>功能

    如何在基于Arm Neoverse平臺的CPU上構建分布式Kubernetes集群

    在本文中,我們將以 X(原 Twitter)為例,演示如何在基于 Arm Neoverse 平臺的 CPU 上構建分布式 Kubernetes 集群,以根據推文實時監控情緒變化。如此一來,你可以充分利用 Arm Neoverse 平臺的計算基礎,獲得更好的性能、效率和出色
    的頭像 發表于 03-25 15:58 ?223次閱讀
    如何在基于Arm Neoverse平臺的CPU上構建分布式<b class='flag-5'>Kubernetes</b>集群

    Kubernetes中部署MySQL集群

    一般情況下 Kubernetes 可以通過 ReplicaSet 以一個 Pod 模板創建多個 pod 副本,但是它們都是無狀態的,任何時候它們都可以被一個全新的 pod 替換。
    的頭像 發表于 03-18 16:22 ?187次閱讀
    <b class='flag-5'>Kubernetes</b>中部署MySQL集群

    Kubernetes包管理工具Helm的安裝和使用

    Helm 可以幫助我們管理 Kubernetes 應用程序 - Helm Charts 可以定義、安裝和升級復雜的 Kubernetes 應用程序,Charts 包很容易創建、版本管理、分享和分布。
    的頭像 發表于 03-13 16:06 ?363次閱讀

    Kubernetes Pod常用管理命令詳解

    Kubernetes Pod常用管理命令詳解
    的頭像 發表于 02-17 14:06 ?335次閱讀
    <b class='flag-5'>Kubernetes</b> Pod常用管理命令詳解

    空氣放電與接觸放電的對比解析

    空氣放電與接觸放電的對比解析在現代電子產品無處不在。從日常使用的智能手機、平板電腦,到工業領域的精密儀器,其穩定性和可靠性至關重要。而靜電放電(ESD)作為影響電子產品性能的關鍵因素,可能會導致設備故障、數據丟失甚至永久性損壞。其中,空
    的頭像 發表于 02-10 16:28 ?741次閱讀
    空氣放電與接觸放電的<b class='flag-5'>對比</b><b class='flag-5'>解析</b>

    Kubernetes:構建高效的容器化應用平臺

    Kubernetes 作為容器編排的事實標準,在容器化應用部署中發揮著關鍵作用。 搭建 Kubernetes 集群是應用的基礎。可以使用kubeadm工具快速搭建。在主節點執行kubeadm
    的頭像 發表于 01-23 15:22 ?245次閱讀

    使用 Flexus 云服務器 X 實例部署 Kubernetes 圖形化管理平臺

    Kubernetes 作為當今最流行的容器編排平臺,隨著云計算、微服務架構和 DevOps 文化的普及,Kubernetes 在自動化部署、擴展和管理容器化應用程序方面扮演著越來越重要的角色。未來
    的頭像 發表于 01-21 16:14 ?246次閱讀
    使用 Flexus 云服務器 X 實例部署 <b class='flag-5'>Kubernetes</b> 圖形化管理平臺

    Kubernetes的CNI網絡插件之flannel

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

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

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

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

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

    Kubernetes,通常縮寫為K8s,是一個開源的容器編排平臺,旨在自動化容器化應用的部署、擴展和管理。有了Kubernetes,您可以輕松地部署、更新和擴展應用,而無需擔心底層基礎設施。
    的頭像 發表于 07-15 13:31 ?1011次閱讀
    如何使用Kubeadm命令在PetaExpress Ubuntu系統上安裝<b class='flag-5'>Kubernetes</b>集群
    主站蜘蛛池模板: 看草逼| 国产人成午夜免费看 | 天天干天天碰 | 大桥未久加勒比女热大陆在线 | 高h细节肉爽文男男 | 一级毛片aaa片免费观看 | 开心综合网 | 色婷婷久久综合中文久久蜜桃 | vvvv98国产成人综合青青 | 视频在线视频免费观看 | 亚洲天堂电影在线观看 | 国产成人综合一区人人 | 福利午夜最新 | 91夜夜人人揉人人捏人人添 | 四虎精品久久 | 四虎永久免费影院在线 | 性欧美大战久久久久久久久 | 日本一道高清不卡免费 | 免费网站啪啪大全 | 亚洲色图日韩 | 国产色中色 | 狠狠色噜噜噜噜狠狠狠狠狠狠奇米 | 香蕉爱爱网 | 香蕉久久高清国产精品免费 | 国产亚洲小视频 | 亚洲精品中文字幕乱码三区一二 | 在线 | 一区二区三区 | 四虎永久免费在线观看 | 久久99热久久精品23 | 757一本到午夜宫 | 中文字幕在线播放一区 | 久久99精品福利久久久 | 欧美不卡1卡2卡三卡老狼 | 久久久99精品免费观看精品 | 日本三级强在线观看 | 日本aaaa级片 | 放荡女同老师和女同学生 | 性欧美大战久久久久久久久 | 久青草视频免费视频播放线路1 | 黄网站播放 | 五月天婷婷综合 |