k8s安装metrics

潇潇暮鱼鱼 / 2024-10-17 / 原文

有的集群安装完之后没有metrics组件,无法使用top命令查看node和pod的资源利用率

下载Metrics Server 配置文件
wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml -O metrics.yaml

修改配置文件,修改以下内容
......
    spec:
      containers:
      - args:
        - --cert-dir=/tmp
        - --secure-port=10250
        - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
        - --kubelet-use-node-status-port
        - --metric-resolution=15s
        - --kubelet-insecure-tls     # 增加这行,禁用 TLS 证书验证。生产环境禁用这个选项并配置了正确的 TLS 证书和签名
        image: registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server:v0.7.1             # 改为从阿里云代理拉取镜像
......

kubectl apply -f ./metrics.yaml

过1-2分钟,然后验证安装
kubectl get apiservice | grep metrics
确保 `v1beta1.metrics.k8s.io` 的状态为 `True`。
如果不是,则运行下面命令排查错误
kubectl get pods -n kube-system | grep metrics-server
kubectl logs metrics-server-75d7968c55-qxlcr -n kube-system
kubectl get events --sort-by='.metadata.creationTimestamp' -n kube-system | tail -n10

如果一切ok,则可以查看节点和 Pod 的 CPU 使用情况
kubectl top nodes

kubectl top pods --all-namespaces

来源:https://blog.csdn.net/weilaozongge/article/details/139267389