k8s 1.14部署metrics server显示running但是报ServiceUnavailable错误

查看metrics server日志:
[root@master metrics-server-latest]# kubectl logs -f metrics-server-v0.3.6-b59d6b7cb-9ftdf -nkube-system metrics-server
I0514 03:15:00.325762       1 serving.go:312] Generated self-signed cert (apiserver.local.config/certificates/apiserver.crt, apiserver.local.config/certificates/apiserver.key)
I0514 03:15:04.924172       1 secure_serving.go:116] Serving securely on [::]:443
从日志看没有任何异常,但是执行[root@master ~]# kubectl top nodes时报如下错误,获取不到指标数据
Error from server (ServiceUnavailable): the server is currently unable to handle the request (get pods.metrics.k8s.io)

找了很久的资料也没解决,后来看一github上一个大牛最终解决了。具体链接https://github.com/kubernetes-sigs/metrics-server/issues/157
整个过程的配置文件如下(注意带#的说明是修改的部分)

  • metrics-server-deployment.yaml(完整代码见文章末尾)
      hostNetwork: true #增加containers:- name: metrics-serverimage: k8s.gcr.io/metrics-server-amd64:v0.3.6command:- /metrics-server- --metric-resolution=30s- --requestheader-allowed-names=aggregator#增加修改# These are needed for GKE, which doesn't support secure communication yet.# Remove these lines for non-GKE clusters, and when GKE supports token-based auth.#- --kubelet-port=10255#注释#- --deprecated-kubelet-completely-insecure=true#注释- --kubelet-insecure-tls#增加- --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIPports:- containerPort: 443name: httpsprotocol: TCP- name: metrics-server-nannyimage: k8s.gcr.io/addon-resizer:1.8.7resources:limits:cpu: 100mmemory: 300Mirequests:cpu: 5mmemory: 50Mienv:- name: MY_POD_NAMEvalueFrom:fieldRef:fieldPath: metadata.name- name: MY_POD_NAMESPACEvalueFrom:fieldRef:fieldPath: metadata.namespacevolumeMounts:- name: metrics-server-config-volumemountPath: /etc/configcommand:- /pod_nanny- --config-dir=/etc/config#- --cpu={{ base_metrics_server_cpu }}#注释- --cpu=80m#增加- --extra-cpu=0.5m#- --storage=5Gi#- --memory={{ base_metrics_server_memory }}#注释- --memory=100Mi#增加#- --extra-memory={{ metrics_server_memory_per_node }}Mi#注释- --extra-memory=100Mi#修改- --threshold=5- --deployment=metrics-server-v0.3.6- --container=metrics-server- --poll-period=300000- --estimator=exponential# Specifies the smallest cluster (defined in number of nodes)# resources will be scaled to.#- --minClusterSize=2#注释
  • resource-reader.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:name: system:metrics-serverlabels:kubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: Reconcile
rules:
- apiGroups:- ""resources:- pods- nodes- nodes/stats#增加- namespaces
  • 更新kubectl apply -f .后再次查看,正常了
[root@master manifests]# kubectl top nodes
NAME      CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
master    252m         6%     978Mi           12%
worker1   49m          1%     1442Mi          54%
worker2   47m          1%     1380Mi          51%
worker3   46m          1%     1232Mi          46%
  • metrics-server-deployment.yaml完整代码
apiVersion: v1
kind: ServiceAccount
metadata:name: metrics-servernamespace: kube-systemlabels:kubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: Reconcile
---
apiVersion: v1
kind: ConfigMap
metadata:name: metrics-server-confignamespace: kube-systemlabels:kubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: EnsureExists
data:NannyConfiguration: |-apiVersion: nannyconfig/v1alpha1kind: NannyConfiguration
---
apiVersion: apps/v1
kind: Deployment
metadata:name: metrics-server-v0.3.3namespace: kube-systemlabels:k8s-app: metrics-serverkubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: Reconcileversion: v0.3.3
spec:selector:matchLabels:k8s-app: metrics-serverversion: v0.3.3template:metadata:name: metrics-serverlabels:k8s-app: metrics-serverversion: v0.3.3annotations:scheduler.alpha.kubernetes.io/critical-pod: ''seccomp.security.alpha.kubernetes.io/pod: 'docker/default'spec:priorityClassName: system-cluster-criticalserviceAccountName: metrics-servercontainers:- name: metrics-serverimage: k8s.gcr.io/metrics-server-amd64:v0.3.3command:- /metrics-server- --metric-resolution=30s# These are needed for GKE, which doesn't support secure communication yet.# Remove these lines for non-GKE clusters, and when GKE supports token-based auth.#- --kubelet-port=10255#- --deprecated-kubelet-completely-insecure=true- --kubelet-insecure-tls- --kubelet-preferred-address-types=InternalIP#- --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIPports:- containerPort: 443name: httpsprotocol: TCP- name: metrics-server-nannyimage: k8s.gcr.io/addon-resizer:1.8.5resources:limits:cpu: 100mmemory: 300Mirequests:cpu: 5mmemory: 50Mienv:- name: MY_POD_NAMEvalueFrom:fieldRef:fieldPath: metadata.name- name: MY_POD_NAMESPACEvalueFrom:fieldRef:fieldPath: metadata.namespacevolumeMounts:- name: metrics-server-config-volumemountPath: /etc/configcommand:- /pod_nanny- --config-dir=/etc/config#- --cpu={{ base_metrics_server_cpu }}- --extra-cpu=0.5m#- --memory={{ base_metrics_server_memory }}#- --extra-memory={{ metrics_server_memory_per_node }}Mi- --threshold=5- --deployment=metrics-server-v0.3.3- --container=metrics-server- --poll-period=300000- --estimator=exponential# Specifies the smallest cluster (defined in number of nodes)# resources will be scaled to.- --minClusterSize=2volumes:- name: metrics-server-config-volumeconfigMap:name: metrics-server-configtolerations:- key: "CriticalAddonsOnly"operator: "Exists"
个人博客地址:http://www.lampnick.com/php/921

k8s 1.14部署metrics server显示running但是报ServiceUnavailable错误相关推荐

  1. 在往sql server 插入数据时 报此错误“ 消息 8152,级别 16,状态 14,第 1 行 将截断字符串或二进制数据。”...

    出现该问题的原因是你插入的数据过大 eg:studentId这个字段数据类型为varchar(10),就说明数据库分配给了这个字段10个字节,而你往这个字段插入的数据是'111 111 111'(这个 ...

  2. 光猫灯显示正常但是报651错误解决办法

    光猫3个灯显示正常,一个是power即电源灯,第二个是optical口,即光纤口,第三个是lan口,即局域网口. 排查问题,是因为光猫的4个ETH口没有插在第一个个口上,其他的口不能使用. 转载于:h ...

  3. Kubernetes基于Metrics Server的HPA

    Kubernetes基于Metrics Server的HPA [TOC] 1. 环境说明和相关介绍 我的kubernetes环境: kubeadm安装的kubernetes1.11 Horizonta ...

  4. 【K8S 七】Metrics Server部署中的问题

    目录 填坑过程 问题一:启动metrics server报证书错误:x509: cannot validate certificate for x.x.x.x because it doesn't c ...

  5. Easypack: Ansible方式部署工具中增加Metrics Server支持

    在Easypack中提供了多套Kubernetes快速部署的工具,基于Bash脚本和Ansible的,Ansible的方式也有基于K3S和普通的Kubernetes的两种.这篇文章介绍一下普通Kube ...

  6. k8s搭建监控:安装metrics server和dashboard

    安装metrics server 参考:https://github.com/kubernetes-sigs/metrics-server kubectl  create -f components. ...

  7. k8s v1.10部署笔记

    本文是根据最近一份github上很不错的部署教程所做的验证部署测试,不同之处在于原教程中是3节点,而这里共使用了4个节点.Github上的教程地址如下所示,推荐大家参照原作者文章进行自己的实验.在本文 ...

  8. k8s集群部署 | 三节点(复用)高可用集群过程参考

    文章目录 1. kubeadm 部署三节点(复用)高可用 k8s 集群 1.1 环境规划阶段 1.1.1 实验架构图 1.1.2 系统版本说明 1.1.3 环境基本信息 1.1.4 k8s 网段划分 ...

  9. 【K8S 三】部署 metrics-server 插件

    目录 Metrics Server 安装前提 下载镜像并配置启动YAML 部署并验证 这篇文章写得比较早,当时是在kubeadm部署环境下实施的,如果您是通过二进制部署(因为这种部署拓扑比较灵活)出现 ...

最新文章

  1. 科研指导:机器学习与自然语言处理
  2. 一分钟详解OpenCV之相机标定函数calibrateCamera()
  3. mxnet 和pytorch比较
  4. 跨链(6)波卡XCMP跨链通信协议
  5. docker 操作 记录
  6. WPF基础到企业应用系列7——深入剖析依赖属性(三)
  7. rpm 安装 忽略依赖_rpm 解决依赖的方法
  8. ue4 运行禁用鼠标_从零开始——三:关闭电脑无用服务提高运行速度
  9. 删除操作记录_微信消费记录能删吗?专家告诉你这样做百分百彻底删除!
  10. MATLAB生成数组
  11. 杭电 1421 搬寝室
  12. authware课件
  13. 文库系统 文库网站建设仿百度文库 道客巴巴 豆丁
  14. ADS使用Smith圆图进行阻抗匹配
  15. Vue 中获取 package.json 信息
  16. ubuntu20安装gdb插件gef的爬坑记录
  17. 微信小程序-个人中心/钱包
  18. 学计算机这么课最大的收获是啥,计算机课程学习心得范文
  19. ps2键盘测试软件,51单片机驱动PS2键盘完整程序
  20. 牛客网SQL大厂真题二刷小白白话总结(二)用户增长场景(某度信息流)

热门文章

  1. LaTeX参考文献引用显示?问号解决办法!!!!
  2. 下一代5G计算终端,正在你我的案头苏醒
  3. 在win7系统上使用Python3.8.10进行开发使用
  4. 西南财经大学接受计算机调剂吗,2018年西南财经大学EMBA关于接受考生调剂的公告...
  5. 台式计算机本地连接,台式机没有本地连接的解决方法
  6. Freemarker模板和依赖
  7. 三角兽散招实习面试题
  8. random函数使用说明
  9. 怎么做母婴达人投放计划?达人解读及投放指南
  10. Toony Colors Pro 2项目分析——shader编辑器