Metrics插件部署

Mon Sep 2, 2019

200 Words|Read in about 1 Min
Tags: Devops  

Kubernetes关于资源使用情况的metrics,可以通过 Metrics API 获取到。
Kubernetes 1.11以后已经废弃heapster。
再加上HPA弹性横向扩缩容,也需要通过Metrics服务收集到的CPU、MEM等指标进行扩容和缩容操作。
这里我们基于Kubernetes1.14版本安装Metrics Server。

安装

1.仓库https://github.com/kubernetes-incubator/metrics-server
2.修改
metrics-server/deploy/1.8+/resource-reader.yaml
在rules.apiGroups.resources 增加 –namespaces

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: system:metrics-server
rules:
- apiGroups:
  - ""
  resources:
  - pods
  - nodes
  - namespaces      # 增加此行
  - nodes/stats
  verbs:
  - get
  - list
  - watch

metrics-server/deploy/1.8+/metrics-server-deployment.yaml

---
(变更前)
containers:
- name: metrics-server
  image: k8s.gcr.io/metrics-server-amd64:v0.3.2
  imagePullPolicy: Always

---
(变更后)
containers:
- name: metrics-server
  image: k8s.gcr.io/metrics-server-amd64:v0.3.2
  command:
  - /metrics-server
  - --kubelet-insecure-tls

3.应用

kubectl apply -f .

获取节点使用率

kubectl top node

获取pod使用率

kubectl top pod

可能遇见的问题

1.kubectl logs -f -n kube-system metrics-server-xxx-xxx -n kube-system

unable to fetch node metrics for node "node28": no metrics known for node

在coredns里面配置映射静态,参考

https://blog.sklinux.com/posts/devops/coredns%E5%AE%9A%E4%B9%89%E8%87%AA%E5%AE%9A%E4%B9%89%E4%B8%BB%E6%9C%BA/

See Also

Mon Sep 2, 2019

200 Words|Read in about 1 Min
Tags: Devops