草庐IT

error: Metrics API not available 查看k8s中pod的cpu,memory的使用率情况

calvinsl 2024-04-20 原文

root@docker03:~# kubectl top pod
error: Metrics API not available

需要在k8s集群安装metrics-server
1.下载metrics-server
wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml -O metrics-server-components.yaml

2.更改为阿里云镜像地址
sed -i 's/k8s.gcr.io\/metrics-server/registry.cn-hangzhou.aliyuncs.com\/google_containers/g' metrics-server-components.yaml

3.应用metrics-server-components.yaml
kubectl apply -f metrics-server-components.yaml
kubectl get pods -A | grep metrics
kube-system         kube-state-metrics-6fb988-25frl                     1/1     Running   1          192d
kube-system         metrics-server-5c4649-4frrg                          0/1     Running   0          5m7s
kubernetes-dashboard   dashboard-metrics-scraper-5bd7fc-99svc   1/1     Running   5          300d

4.发现pod未启动,查看日志
kubectl logs -n kube-system metrics-server-5cd8b84649-4frrg
I1010 07:38:16.346976       1 server.go:187] "Failed probe" probe="metric-storage-ready" err="no metrics to serve"
E1010 07:38:24.290470       1 scraper.go:140] "Failed to scrape node" err="Get \"https://10.10.10.6:10250/metrics/resource\": x509: cannot validate certificate for 10.10.10.6 because it doesn't contain any IP SANs" node="docker08.test.com"

5.根据报错信息x509: cannot validate certificate for 10.10.10.6 because it doesn't contain any IP SANs,需要修改配置忽略CA验证
修改metrics-server-components.yaml
    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                   ###新增--kubelet-insecure-tls 就不会去验证Kubelets提供的服务证书的CA

6.重新应用yaml
kubectl apply -f metrics-server-components.yaml
root@docker03:~# kubectl get pods -A|grep metrics
kube-system            kube-state-metrics-88-25frl                     1/1     Running   1          192d
kube-system            metrics-server-56-zd4d4                         1/1     Running   0          1m
kubernetes-dashboard   dashboard-metrics-scraper-fc-svc    1/1     Running   5          300d

可以看到metrics-server pod启动成功
root@docker03:~# kubectl top pod -n beta
NAME                                                                        CPU(cores)   MEMORY(bytes)   
nginx-base-dps-deployment-769cb4cfb5-twsxp              23m          821Mi           
nginx-base-task-deployment-7bcb75b865-h56g5           28m          1011Mi          
nginx-base-web-deployment-7c98fd5bd6-dc8cb             20m          834Mi           
nginx-baseapi-biz-deployment-74cff5487-8fl52                6m            831Mi           
nginx-basesupport-biz-deployment-5bf9448784-hggr2    7m            880Mi           
nginx-outbound-admin-deployment-6675ffd944-mx68h    5m           807Mi           
nginx-outbound-api-deployment-5f7c575dc8-sj6pm        18m          1033Mi          
nginx-outbound-backend-deployment-78895d77cd-ztqrp  8m           805Mi           
nginx-outbound-report-deployment-6c8597cdf8-vpsnl       5m           936Mi           
nginx-outbound-task-deployment-5b8cc66894-64k66       8m           1208Mi          
nginx-pda-api-deployment-86c6cbfd88-vrscj                     7m           864Mi           
nginx-portal-api-deployment-544f867f87-g744l                 4m           827Mi 
 

有关error: Metrics API not available 查看k8s中pod的cpu,memory的使用率情况的更多相关文章

  1. ruby-on-rails - Ruby on Rails : . 常量化 : wrong constant name error? - 2

    我正在使用这个:4.times{|i|assert_not_equal("content#{i+2}".constantize,object.first_content)}我之前声明过局部变量content1content2content3content4content5我得到的错误NameError:wrongconstantnamecontent2这个错误是什么意思?我很确定我想要content2=\ 最佳答案 你必须用一个大字母来调用ruby​​常量:Content2而不是content2。Aconstantnamestart

  2. ruby-on-rails - 错误 : Error installing pg: ERROR: Failed to build gem native extension - 2

    我克隆了一个rails仓库,我现在正尝试捆绑安装背景:OSXElCapitanruby2.2.3p173(2015-08-18修订版51636)[x86_64-darwin15]rails-v在您的Gemfile中列出的或native可用的任何gem源中找不到gem'pg(>=0)ruby​​'。运行bundleinstall以安装缺少的gem。bundleinstallFetchinggemmetadatafromhttps://rubygems.org/............Fetchingversionmetadatafromhttps://rubygems.org/...Fe

  3. ruby - RVM "ERROR: Unable to checkout branch ."单用户 - 2

    我在新的Debian6VirtualBoxVM上安装RVM时遇到问题。我已经安装了所有需要的包并使用下载了安装脚本(curl-shttps://rvm.beginrescueend.com/install/rvm)>rvm,但以单个用户身份运行时bashrvm我收到以下错误消息:ERROR:Unabletocheckoutbranch.安装在这里停止,并且(据我所知)没有安装RVM的任何文件。如果我以root身份运行脚本(对于多用户安装),我会收到另一条消息:Successfullycheckedoutbranch''安装程序继续并指示成功,但未添加.rvm目录,甚至在修改我的.bas

  4. objective-c - 在设置 Cocoa Pods 和安装 Ruby 更新时出错 - 2

    我正在尝试为我的iOS应用程序设置cocoapods但是当我执行命令时:sudogemupdate--system我收到错误消息:当前已安装最新版本。中止。当我进入cocoapods的下一步时:sudogeminstallcocoapods我在MacOS10.8.5上遇到错误:ERROR:Errorinstallingcocoapods:cocoapods-trunkrequiresRubyversion>=2.0.0.我在MacOS10.9.4上尝试了同样的操作,但出现错误:ERROR:Couldnotfindavalidgem'cocoapods'(>=0),hereiswhy:U

  5. ruby-on-rails - 尝试设置 Amazon 的 S3 存储桶 : 403 Forbidden error & setting permissions - 2

    我正在关注Hartl的railstutorial.org并已到达11.4.4:Imageuploadinproduction.我做了什么:注册亚马逊网络服务在AmazonIdentityandAccessManagement中,我创建了一个用户。用户创建成功。在AmazonS3中,我创建了一个新存储桶。设置新存储桶的权限:权限:本教程指示“授予上一步创建的用户读写权限”。但是,在存储桶的“权限”下,未提及新用户名。我只能在每个人、经过身份验证的用户、日志传送、我和亚马逊似乎根据我的名字+数字创建的用户名之间进行选择。我已经通过选择经过身份验证的用户并选中了上传/删除和查看权限的框(而不

  6. ruby-on-rails - 冒号(:) gives load error in locale YAML file - 2

    我在en:语言环境中有一个字符串display_device:toplay:getplayer冒号给我的错误是cannotloadtranslationsfromC:/DocumentsandSettings/rajg/discoveryaws/branches/internationalization/config/locales/en.yml,expectedittoreturnahash,butdoesnot我怎样才能让它工作? 最佳答案 如果你用这样的引号将它括起来,你可以在你的字符串中转义冒号(和其他“重要”字符):dis

  7. ruby - gem install pg error : couldn't understand kern. osversion `14.0.0' on Yosemite w/Ruby 2.1.5 - 2

    我使用RVM安装Ruby-2.1.5并再次运行bundle。现在pggem不会安装,我得到这个错误:geminstallpg-v'0.17.1'----with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_configBuildingnativeextensionswith:'--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config'Thiscouldtakeawhile...ERROR:Error

  8. ruby-on-rails - 32651 :ERROR comparison of Float with Float failed ruby - 2

    我是Rails的新手,我遇到了一个错误,但我似乎找不到问题所在。这是日志:[32651:ERROR]2012-10-0913:46:52::comparisonofFloatwithFloatfailed[32651:ERROR]2012-10-0913:46:52::/home/sunny/backend/lib/analytics/lifetime.rb:45:in`each'/home/sunny/backend/lib/analytics/lifetime.rb:45:in`max'/home/sunny/backend/lib/analytics/lifetime.rb:45

  9. ruby - rspec: raise_error 用法来匹配错误信息 - 2

    我使用raise(ConfigurationError.new(msg))引发错误我试着用rspec测试一下:expect{Base.configuration.username}.toraise_error(ConfigurationError,message)但这行不通。我该如何测试呢?目标是匹配message。 最佳答案 您可以使用正则表达式匹配错误消息:it{expect{Foo.bar}.toraise_error(NoMethodError,/private/)}这将检查NoMethodError是否由privateme

  10. 【RuntimeError: CUDA error: device-side assert triggered】问题与解决 - 2

    RuntimeError:CUDAerror:device-sideasserttriggered问题描述解决思路发现问题:总结问题描述当我在调试模型的时候,出现了如下的问题/opt/conda/conda-bld/pytorch_1656352465323/work/aten/src/ATen/native/cuda/IndexKernel.cu:91:operator():block:[5,0,0],thread:[63,0,0]Assertion`index>=-sizes[i]&&index通过提示信息可以知道是个数组越界的问题。但是如图一中第二行话所说这个问题可能并不出在提示的代码段

随机推荐