国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

K8S--安裝metrics-server,解決error: Metrics API not available問題

這篇具有很好參考價值的文章主要介紹了K8S--安裝metrics-server,解決error: Metrics API not available問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

原文網(wǎng)址:K8S--安裝metrics-server,解決error: Metrics API not available問題-CSDN博客

簡介

本文介紹K8S通過安裝metrics-server來解決error: Metrics API not available問題的方法。

Metrics Server采用了Kubernetes Metrics API的標(biāo)準(zhǔn),它使用HTTP接口來暴露度量指標(biāo)數(shù)據(jù),通過輪詢來收集這些數(shù)據(jù),然后將其存儲在內(nèi)存中。

通過Kubernetes Metrics API,可以獲取各種度量指標(biāo)數(shù)據(jù),如CPU利用率、內(nèi)存使用率、網(wǎng)絡(luò)I/O、磁盤I/O等。

問題描述

用HPA進(jìn)行動態(tài)伸縮時,發(fā)現(xiàn)負(fù)載的TARGETS一直是unknown。

metricsserver.go:238] metrics api not available.,K8S,kubernetes,容器,云原生

原因分析

HPA的資源占用是通過metrics-server實現(xiàn)的,可能是沒安裝metrics-server。檢查一下:

kubectl get pod -A | grep metrics-server

?如下圖所示:(果然是沒有安裝metrics-server)

metricsserver.go:238] metrics api not available.,K8S,kubernetes,容器,云原生

再用top命令查看一下:

kubectl top pod

如下圖所示(也是說缺少metrics)?

?metricsserver.go:238] metrics api not available.,K8S,kubernetes,容器,云原生

解決方案

安裝metrics-server。

官網(wǎng)文檔:資源指標(biāo)管道 | Kubernetes

官網(wǎng)github:https://github.com/kubernetes-sigs/metrics-server#installation?

1.下載yaml文件

官方提供兩種類型的Metrics Server安裝:

1.單副本Metrics Server
2.多副本高可用Metrics Server(需要至少兩個node)

本文介紹單副本安裝方式。

從官網(wǎng)github上下載:https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

下載后的內(nèi)容如下(components.yaml文件) :

apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    k8s-app: metrics-server
  name: metrics-server
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    k8s-app: metrics-server
    rbac.authorization.k8s.io/aggregate-to-admin: "true"
    rbac.authorization.k8s.io/aggregate-to-edit: "true"
    rbac.authorization.k8s.io/aggregate-to-view: "true"
  name: system:aggregated-metrics-reader
rules:
- apiGroups:
  - metrics.k8s.io
  resources:
  - pods
  - nodes
  verbs:
  - get
  - list
  - watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    k8s-app: metrics-server
  name: system:metrics-server
rules:
- apiGroups:
  - ""
  resources:
  - nodes/metrics
  verbs:
  - get
- apiGroups:
  - ""
  resources:
  - pods
  - nodes
  verbs:
  - get
  - list
  - watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  labels:
    k8s-app: metrics-server
  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: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  labels:
    k8s-app: metrics-server
  name: metrics-server:system:auth-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: ClusterRoleBinding
metadata:
  labels:
    k8s-app: metrics-server
  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
---
apiVersion: v1
kind: Service
metadata:
  labels:
    k8s-app: metrics-server
  name: metrics-server
  namespace: kube-system
spec:
  ports:
  - name: https
    port: 443
    protocol: TCP
    targetPort: https
  selector:
    k8s-app: metrics-server
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    k8s-app: metrics-server
  name: metrics-server
  namespace: kube-system
spec:
  selector:
    matchLabels:
      k8s-app: metrics-server
  strategy:
    rollingUpdate:
      maxUnavailable: 0
  template:
    metadata:
      labels:
        k8s-app: metrics-server
    spec:
      containers:
      - args:
        - --cert-dir=/tmp
        - --secure-port=4443
        - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
        - --kubelet-use-node-status-port
        - --metric-resolution=15s
        image: registry.k8s.io/metrics-server/metrics-server:v0.6.4
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 3
          httpGet:
            path: /livez
            port: https
            scheme: HTTPS
          periodSeconds: 10
        name: metrics-server
        ports:
        - containerPort: 4443
          name: https
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /readyz
            port: https
            scheme: HTTPS
          initialDelaySeconds: 20
          periodSeconds: 10
        resources:
          requests:
            cpu: 100m
            memory: 200Mi
        securityContext:
          allowPrivilegeEscalation: false
          readOnlyRootFilesystem: true
          runAsNonRoot: true
          runAsUser: 1000
        volumeMounts:
        - mountPath: /tmp
          name: tmp-dir
      nodeSelector:
        kubernetes.io/os: linux
      priorityClassName: system-cluster-critical
      serviceAccountName: metrics-server
      volumes:
      - emptyDir: {}
        name: tmp-dir
---
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
  labels:
    k8s-app: metrics-server
  name: v1beta1.metrics.k8s.io
spec:
  group: metrics.k8s.io
  groupPriorityMinimum: 100
  insecureSkipTLSVerify: true
  service:
    name: metrics-server
    namespace: kube-system
  version: v1beta1
  versionPriority: 100

2.修改yaml文件

修改點如下(左側(cè)是原來的配置,右側(cè)是修改后的配置):

metricsserver.go:238] metrics api not available.,K8S,kubernetes,容器,云原生

修改了兩個地方都是在Deployment.spec.template.containers路徑下:

  1. args增加參數(shù):- --kubelet-insecure-tls ? #表示不驗證客戶端證書
  2. image改為阿里鏡像:registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server:v0.6.4

修改后的components.yaml文件如下:

apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    k8s-app: metrics-server
  name: metrics-server
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    k8s-app: metrics-server
    rbac.authorization.k8s.io/aggregate-to-admin: "true"
    rbac.authorization.k8s.io/aggregate-to-edit: "true"
    rbac.authorization.k8s.io/aggregate-to-view: "true"
  name: system:aggregated-metrics-reader
rules:
- apiGroups:
  - metrics.k8s.io
  resources:
  - pods
  - nodes
  verbs:
  - get
  - list
  - watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    k8s-app: metrics-server
  name: system:metrics-server
rules:
- apiGroups:
  - ""
  resources:
  - nodes/metrics
  verbs:
  - get
- apiGroups:
  - ""
  resources:
  - pods
  - nodes
  verbs:
  - get
  - list
  - watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  labels:
    k8s-app: metrics-server
  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: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  labels:
    k8s-app: metrics-server
  name: metrics-server:system:auth-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: ClusterRoleBinding
metadata:
  labels:
    k8s-app: metrics-server
  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
---
apiVersion: v1
kind: Service
metadata:
  labels:
    k8s-app: metrics-server
  name: metrics-server
  namespace: kube-system
spec:
  ports:
  - name: https
    port: 443
    protocol: TCP
    targetPort: https
  selector:
    k8s-app: metrics-server
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    k8s-app: metrics-server
  name: metrics-server
  namespace: kube-system
spec:
  selector:
    matchLabels:
      k8s-app: metrics-server
  strategy:
    rollingUpdate:
      maxUnavailable: 0
  template:
    metadata:
      labels:
        k8s-app: metrics-server
    spec:
      containers:
      - args:
        - --cert-dir=/tmp
        - --secure-port=4443
        - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
        - --kubelet-use-node-status-port
        - --metric-resolution=15s
        - --kubelet-insecure-tls   #表示不驗證客戶端證書
        image: registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server:v0.6.4  #使用阿里鏡像
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 3
          httpGet:
            path: /livez
            port: https
            scheme: HTTPS
          periodSeconds: 10
        name: metrics-server
        ports:
        - containerPort: 4443
          name: https
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /readyz
            port: https
            scheme: HTTPS
          initialDelaySeconds: 20
          periodSeconds: 10
        resources:
          requests:
            cpu: 100m
            memory: 200Mi
        securityContext:
          allowPrivilegeEscalation: false
          readOnlyRootFilesystem: true
          runAsNonRoot: true
          runAsUser: 1000
        volumeMounts:
        - mountPath: /tmp
          name: tmp-dir
      nodeSelector:
        kubernetes.io/os: linux
      priorityClassName: system-cluster-critical
      serviceAccountName: metrics-server
      volumes:
      - emptyDir: {}
        name: tmp-dir
---
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:
  labels:
    k8s-app: metrics-server
  name: v1beta1.metrics.k8s.io
spec:
  group: metrics.k8s.io
  groupPriorityMinimum: 100
  insecureSkipTLSVerify: true
  service:
    name: metrics-server
    namespace: kube-system
  version: v1beta1
  versionPriority: 100

3.部署metrics-server

kubectl apply -f components.yaml

4.查看結(jié)果

1.查看dashboard

可以看到:metrics-server成功運(yùn)行,而且CPU和內(nèi)存使用率都有數(shù)據(jù)了!

metricsserver.go:238] metrics api not available.,K8S,kubernetes,容器,云原生

2.用命令查看metrics-server的Pod

kubectl get pod -A | grep metrics-server

可以看到:成功運(yùn)行

metricsserver.go:238] metrics api not available.,K8S,kubernetes,容器,云原生

3.查看top結(jié)果

kubectl top pod

可以看到:有數(shù)據(jù)了

metricsserver.go:238] metrics api not available.,K8S,kubernetes,容器,云原生文章來源地址http://www.zghlxwxcb.cn/news/detail-835570.html

到了這里,關(guān)于K8S--安裝metrics-server,解決error: Metrics API not available問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • K8S之 metrics-server 組件(十八)

    K8S之 metrics-server 組件(十八)

    首先下載:K8S之 metrics-server 組件 ? ? ? ????????????????metrics-server 是一個集群范圍內(nèi)的資源數(shù)據(jù)集和工具,同樣的,metrics-server 也只是顯示數(shù)據(jù),并不提供數(shù)據(jù)存儲服務(wù),主要關(guān)注的是資源度量 API 的實現(xiàn),比如 CPU、文件描述符、內(nèi)存、請求延時等指標(biāo),metric-serv

    2024年02月11日
    瀏覽(27)
  • 【k8s、云原生】基于metrics-server彈性伸縮

    【k8s、云原生】基于metrics-server彈性伸縮

    第四階段 時 ?間:2023年8月18日 參加人:全班人員 內(nèi) ?容: 基于metrics-server彈性伸縮 目錄 一、Kubernetes部署方式 (一)minikube (二)二進(jìn)制包 (三)Kubeadm 二、基于kubeadm部署K8S集群 (一)環(huán)境準(zhǔn)備 (二)部署kubernetes集群 (三)安裝Dashboard UI (四)metrics-server服務(wù)部署 (

    2024年02月12日
    瀏覽(22)
  • 24-k8s的附件組件-Metrics-server組件與hpa資源pod水平伸縮

    24-k8s的附件組件-Metrics-server組件與hpa資源pod水平伸縮

    ? ? ? ? Metrics-Server組件目的:獲取集群中pod、節(jié)點等負(fù)載信息; ? ? ? ? hpa資源目的:通過metrics-server獲取的pod負(fù)載信息,自動伸縮創(chuàng)建pod; 參考鏈接: 資源指標(biāo)管道 | Kubernetes https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/metrics-server GitHub - kubernetes-sigs/metrics-server:

    2024年02月21日
    瀏覽(26)
  • rancher和k8s接口地址,Kubernetes監(jiān)控體系,cAdvisor和kube-state-metrics 與 metrics-server

    rancher和k8s接口地址,Kubernetes監(jiān)控體系,cAdvisor和kube-state-metrics 與 metrics-server

    為了能夠提前發(fā)現(xiàn)kubernetes集群的問題以及方便快捷的查詢?nèi)萜鞯母黝悈?shù),比如,某個pod的內(nèi)存使用異常高企?等等這樣的異常狀態(tài)(雖然kubernetes有自動重啟或者驅(qū)逐等等保護(hù)措施,但萬一沒有配置或者失效了呢),容器的內(nèi)存使用量限制,過去10秒容器CPU的平均負(fù)載等等容

    2024年01月23日
    瀏覽(22)
  • K8S系統(tǒng)監(jiān)控:使用Metrics Server和Prometheus

    K8S系統(tǒng)監(jiān)控:使用Metrics Server和Prometheus

    Kubernetes 也提供了類似的linux top的命令,就是 kubectl top,不過默認(rèn)情況下這個命令不會生效,必須要安裝一個插件 Metrics Server 才可以。 Metrics Server 是一個專門用來收集 Kubernetes 核心資源指標(biāo)(metrics)的工具,它定時從所有節(jié)點的 kubelet 里采集信息,但是對集群的整體性能影

    2024年02月16日
    瀏覽(53)
  • [kubernetes]安裝metrics-server

    metrics server為Kubernetes自動伸縮提供一個容器資源度量源。metrics-server 從 kubelet 中獲取資源指標(biāo),并通過 Metrics API 在 Kubernetes API 服務(wù)器中公開它們,以供 HPA 和 VPA 使用。 之前已經(jīng)用k8s的二進(jìn)制文件搭建了一套集群環(huán)境,搭建步驟見:二進(jìn)制部署k8s集群-基于containerd。現(xiàn)需要在

    2024年02月10日
    瀏覽(22)
  • k8s的error: metrics not available yet問題處理

    k8s的error: metrics not available yet問題處理

    因項目要求,需在k8s集群中使用 kubectl top node命令,但是一直報 error: metrics not available yet 錯誤。為了更好的復(fù)現(xiàn)問題,我們將本次解決問題的步驟整理如下。 k8s版本:v1.23.5 k8s部署方式:kubeadm 部署metric-server,使用yaml方式進(jìn)行部署,因為git下載不下來,我提前下載下來,然后

    2024年01月24日
    瀏覽(24)
  • 【云原生-k8s】kubectl top pod 報錯:error: Metrics API not available

    ?? 博主簡介 ????云計算領(lǐng)域優(yōu)質(zhì)創(chuàng)作者 ????華為云開發(fā)者社區(qū)專家博主 ????阿里云開發(fā)者社區(qū)專家博主 ?? 交流社區(qū): 運(yùn)維交流社區(qū) 歡迎大家的加入!

    2023年04月09日
    瀏覽(25)
  • 《已解決 Error from server (NotFound): pods ‘pod-name‘ not found (K8s) 》

    《已解決 Error from server (NotFound): pods ‘pod-name‘ not found (K8s) 》

    ???? 博主貓頭虎(????)帶您 Go to New World??? ???? 貓頭虎建議程序員必備技術(shù)棧一覽表?? : 云原生技術(shù) Cloud Native : ?? Golang ?? Docker ?? Kubernetes ? Helm ?? Serverless ??? AWS Lambda ?? Google Cloud Functions ?? Microservices ?? Envoy ?? Istio ?? Prometheus ?? 博客首頁 : ????

    2024年02月04日
    瀏覽(53)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包