Metrics

    • Metrics API 只可以查询当前的度量数据,并不保存历史数据
    • Metrics API URI 为 ,在 k8s.io/metrics 维护

    在部署 metrics-server 之前,需要在 kube-apiserver 中开启 API Aggregation,即增加以下配置

    1. --enable-aggregator-routing=true

    稍后就可以看到 metrics-server 运行起来:

    1. kubectl -n kube-system get pods -l k8s-app=metrics-server
    • http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/nodes/<node-name>
    • http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/pods
    • http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/namespace/<namespace-name>/pods/<pod-name>

    也可以直接通过 kubectl 命令来访问这些 API,比如

    • kubectl get --raw apis/metrics.k8s.io/v1beta1/nodes
    • kubectl get --raw apis/metrics.k8s.io/v1beta1/nodes/<node-name>
    • kubectl get --raw apis/metrics.k8s.io/v1beta1/namespace/<namespace-name>/pods/<pod-name>

    解决方法是:

    1. echo "ExecStartPost=/sbin/iptables -P FORWARD ACCEPT" >> /etc/systemd/system/docker.service.d/exec_start.conf
    2. systemctl daemon-reload