安装 metrics server
安装 kubernetes 的 metrics server
参考:https://github.com/kubernetes-sigs/metrics-server/#installation
安装 metrics server
下载:
mkdir -p ~/work/soft/k8s
cd ~/work/soft/k8s
wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
修改下载下来的 components.yaml, 增加 --kubelet-insecure-tls 并修改 --kubelet-preferred-address-types:
template:
metadata:
labels:
k8s-app: metrics-server
spec:
containers:
- args:
- --cert-dir=/tmp
- --secure-port=4443
- --kubelet-preferred-address-types=InternalIP # 修改这行,默认是InternalIP,ExternalIP,Hostname
- --kubelet-use-node-status-port
- --metric-resolution=15s
- --kubelet-insecure-tls # 增加这行
然后安装:
k apply -f components.yaml
稍等片刻看是否启动:
$ kubectl get pod -n kube-system | grep metrics-server
metrics-server-7c9977449d-h4psq 1/1 Running 0 34s
验证一下,查看 service 信息
$ kubectl describe svc metrics-server -n kube-system
Name: metrics-server
Namespace: kube-system
Labels: k8s-app=metrics-server
Annotations: <none>
Selector: k8s-app=metrics-server
Type: ClusterIP
IP Family Policy: SingleStack
IP Families: IPv4
IP: 10.97.226.236
IPs: 10.97.226.236
Port: https 443/TCP
TargetPort: https/TCP
Endpoints: 10.244.0.9:10250
Session Affinity: None
Internal Traffic Policy: Cluster
Events: <none>
简单验证一下基本使用:
kubectl top nodes
kubectl top pods -n kube-system
正常能看到类似如下的输出:
$ kubectl top nodes
NAME CPU(cores) CPU(%) MEMORY(bytes) MEMORY(%)
debian13 161m 4% 1040Mi 13%
$ kubectl top pods -n kube-system
NAME CPU(cores) MEMORY(bytes)
coredns-848fbff4f8-2lx6w 1m 15Mi
coredns-848fbff4f8-lgr6d 1m 16Mi
etcd-debian13 7m 47Mi
kube-apiserver-debian13 13m 241Mi
kube-controller-manager-debian13 6m 53Mi
kube-proxy-xc4mn 1m 17Mi
kube-scheduler-debian13 3m 23Mi
metrics-server-7c9977449d-h4psq 1m 18Mi
如果出现下面的错误:
error: Metrics API not available
可以稍等片刻,等 metrics-server 启动后,再尝试查看。