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

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

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

3天內不再提示

如何獲取采集服務器Kubernetes監控指標

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

對比

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文件到本地。

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

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

# docker pull zhaoqinchang/metrics-server:0.3.7 0.3.7: Pulling from zhaoqinchang/metrics-server 9ff2acc3204b: Pull complete 9d14b55ff9a0: Pull complete Digest:

sha256:c0efe772bb9e5c289db6cc4bc2002c268507d0226f2a3815f7213e00261c38e9 Status: Downloaded newer image for zhaoqinchang/metrics-server:0.3.7 docker.io/zhaoqinchang/metrics-server:0.3.7

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

# cat components.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: # mount in tmp so we can safely use from-scratch images and/or read-only containers - 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:

# kubectl apply -f components.yaml clusterrole.rbac.authorization.k8s.io/system:aggregated-metrics-reader created clusterrolebinding.rbac.authorization.k8s.io/metrics-serverauth-delegator created

rolebinding.rbac.authorization.k8s.io/metrics-server-auth-reader created

apiservice.apiregistration.k8s.io/v1beta1.metrics.k8s.io created serviceaccount/metrics-server created

deployment.apps/metrics-server created service/metrics-server created

clusterrole.rbac.authorization.k8s.io/system:metrics-server created clusterrolebinding.rbac.authorization.k8s.io/system:metrics-server created

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

# kubectl api-versions | grep metrics metrics.k8s.io/v1beta1

使用

kubectl top命令可顯示節點和Pod對象的資源使用信息,它依賴于集群中的資源指標API來收集各項指標數據。它包含有Node和Pod兩個子命令,可分別顯示Node對象和Pod對象的相關資源占用率。

列出Node資源占用率命令的語法格式為“kubectl top node [-l label | NAME]”,例如下面顯示所有節點的資源占用狀況的結果中顯示了各節點累計CPU資源占用時長及百分比,以及內容空間占用量及占用比例。必要時,也可以在命令直接給出要查看的特定節點的標識,以及使用標簽選擇器進行節點過濾。

[root@master metric]# kubectl top nodes NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% master 282m 14% 1902Mi 51% node-02 70m 3% 1371Mi 37% node-03 121m 1% 892Mi 11%

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

[root@master metric]# kubectl top pods -n kube-system NAME CPU(cores) MEMORY(bytes) etcd-master 32m 300Mi kube-apiserver-master 86m 342Mi kube-controller-manager-master 30m 48Mi kube-flannel-ds-l5ghn 5m

10Mi kube-flannel-ds-rqlm2 4m 12Mi kube-flannel-ds-v92r9 4m 14Mi kube-proxy-7vjcv 18m 15Mi kube-proxy-xrz8f 13m 21Mi kube-proxy-zpwn6 1m 14Mi kube-scheduler-master 7m 17Mi metrics-server-5549c7694f-7vb66 2m 14Mi

kubectl top命令為用戶提供簡潔、快速獲取Node對象及Pod對象系統資源占用狀況的接口,是集群運行和維護的常用命令之一。

原文鏈接:https://juejin.cn/post/6996862439560052773

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    9028

    瀏覽量

    85202
  • 監控系統
    +關注

    關注

    21

    文章

    3866

    瀏覽量

    173511
收藏 人收藏

    評論

    相關推薦

    理解云服務器網絡指標:關鍵性能指標

    在云計算領域,網絡度量對于評估云服務器操作的性能、可靠性和效率至關重要。這些指標提供了對網絡服務運行狀況和性能的洞察,使管理員能夠就資源分配、擴展和優化做出明智的決策。本文將探討云服務器
    的頭像 發表于 11-11 17:04 ?223次閱讀

    使用zabbix監控服務器的方法

    Zabbix環境 在開始監控服務器之前,你需要準備Zabbix環境。這包括安裝Zabbix服務器、Zabbix代理和配置Web界面。 2.1 安裝Zabbix服務器 Zabbix
    的頭像 發表于 11-08 10:47 ?171次閱讀

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

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

    獨立服務器與云服務器的區別

    隨著互聯網技術的飛速發展,企業對于服務器的需求日益增加,而服務器市場也隨之出現了多種類型的產品,其中最常見的是獨立服務器和云服務器。這兩種服務器
    的頭像 發表于 10-12 14:34 ?213次閱讀

    服務器部署k8s需要什么配置?

    服務器部署K8s需要至少2核CPU、4GB內存、50GBSSD存儲的主節點用于管理集群,工作節點建議至少2核CPU、2GB內存、20GBSSD。還需安裝Docker,選擇兼容的Kubernetes版本,配置網絡插件,以及確保系統安全、
    的頭像 發表于 10-09 15:31 ?172次閱讀

    如何在阿里ECS服務器上架設自己的OpenVPN服務器

    需要自己架設服務器,讓現場的IR615路由連接自己的服務器。能通過自己的服務器進行數據采集和遠程運維。
    發表于 07-25 06:14

    如何獲取DNS服務器IP?

    當ESP8266在 STA 模式下連接時,訪問分配給 DHCP 客戶端的 DNS 服務器地址將非常有用。理想情況下,這些地址要么通過 wifi_get_ip_info 在ip_info結構中返回,要么通過專用 API(例如 espconn_dns_getserver)返回。
    發表于 07-11 06:15

    服務器和虛擬服務器的區別是什么

    服務器和虛擬服務器是兩種常見的服務器類型,它們在很多方面有相似之處,但也有一些關鍵的區別。本文將詳細介紹云服務器和虛擬服務器的區別,包括它
    的頭像 發表于 07-02 09:48 ?665次閱讀

     K8S學習教程一:使用PetaExpress云服務器安裝Minikube 集群

    使得開發人員能夠在本地機器上輕松創建一個單節點的 Kubernetes 集群,從而方便開發、測試和學習 Kubernetes。 我們看下如何使用PetaExpress云服務器安裝Minikube 集群
    的頭像 發表于 07-01 15:41 ?340次閱讀
     K8S學習教程一:使用PetaExpress云<b class='flag-5'>服務器</b>安裝Minikube 集群

    京準科技、大數據監控網絡里的NTP時鐘同步服務器應用

    京準科技、大數據網絡監控系統里的NTP時鐘同步服務器應用
    的頭像 發表于 06-06 14:15 ?279次閱讀

    服務器監控完整指南

    運行混合云環境時。下面,恒訊科技小編我給大家介紹下云服務器監控完整指南。 一、什么是云服務器監控? 我們應該根據既定的自定義指標持續
    的頭像 發表于 03-20 17:19 ?385次閱讀

    linux服務器和windows服務器

    Linux服務器和Windows服務器是目前應用最廣泛的兩種服務器操作系統。兩者各有優劣,也適用于不同的應用場景。本文將 對Linux服務器和Windows
    發表于 02-22 15:46

    獨立服務器和云服務器的區別

    獨立服務器和云服務器的區別是很多用戶在選擇服務器時要做的課程,那么獨立服務器和云服務器的區別有哪些呢?
    的頭像 發表于 01-17 10:58 ?811次閱讀

    串口服務器助力環境監測系統高效管理、遠程監控

    物聯網的發展使得環境監測系統具備了更強大的數據采集和分析能力。傳統的環境監測系統通常需要人工到現場采集數據,費時費力且容易受到外界干擾。而通過使用串口服務器,可以實現環境監測系統的遠程數據采集
    的頭像 發表于 12-25 18:03 ?458次閱讀
    串口<b class='flag-5'>服務器</b>助力環境監測系統高效管理、遠程<b class='flag-5'>監控</b>

     物理服務器和大寬服務器怎么選

    物理服務器和大寬服務器的選擇需要根據具體的業務需求來決定。物理服務器是一種獨立的、非虛擬化的計算機設備,它通常被用作高性能應用、數據庫、存儲和網絡等關鍵業務應用的運行平臺。常見的物理服務器
    的頭像 發表于 12-20 10:50 ?548次閱讀