kubernetes (1.18.x) metrics-server(0.4.2) 踩坑

1. 访问Kubelet报错的问题 403

   基本上在metrics-server启动参数里添加 --kubelet-insecure-tls 可以解决

2. 访问不到kubelet的问题

    metrics-server 启动项里添加 --kubelet-preferred-address-types, 具体看文档介绍

3. apiservice 401 

    kubelet get apiservice 发现metrics的service是401的状态,

    报错 

     Unable to authenticate the request due to an error: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")

     需要为metrics-server生成单独的cert文件,这个大部分文章都写了

     还有就是启动参数这个参考 https://github.com/kubernetes-sigs/metrics-server/issues/550#issuecomment-657676205

     主要的问题是  --requestheader-client-ca-file 这个文件需要指向metrics-server.pem, 配置在apiserver和metrics-server 要一致

     很多文章写这个里配置成ca.pem应该是不对的 根据 https://kubernetes.io/docs/tasks/extend-kubernetes/configure-aggregation-layer/#ca-reusage-and-conflicts 

     aggregation layer启动后apiserver会创建 extension-apiserver-authentication configmap 在kube-system下 所以metrics-server可以引用这个

原文地址:https://www.cnblogs.com/xuchenCN/p/14601799.html