在上一篇《kubernetes集群部署(三):部署dashboard服务》中,我们部署了dashboard
,但这个dashboard
页面看上去好像少了点什么,没有cup
和内存使用监控图表。
dashboard
在github
(https://github.com/kubernetes/dashboard)上说的很清楚:
Heapster has to be running in the cluster for the metrics and graphs to be available.
找到heapster
(https://github.com/kubernetes-retired/heapster),发现它又依赖于一个后端存储服务,可以选用influxdb
。
1.部署influxdb
kubectl apply
下面这个yaml
文件:
kind: Service
apiVersion: v1
metadata:
name: influxdb
namespace: kube-system
labels:
# service,deployment,pod都设置一个同样的label,便于控制
k8s-app: influxdb
app-group: monitor
spec:
# 因为目前 k8s 集群还没有安装 DNS,需要通过 clusterIP 访问,所以此处固定一个 clusterIP
# clusterIP 的范围由 master 节点上 kube-apiserver 服务的 service-cluster-ip-range 参数指定,不能乱写
clusterIP: 169.169.105.135
ports:
- port: 8086
- # 指向 containerPort
targetPort: 8086
selector:
k8s-app: influxdb
---
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: influxdb
namespace: kube-system
labels:
k8s-app: influxdb
app-group: monitor
spec:
replicas: 1
selector:
matchLabels:
k8s-app: influxdb
template:
metadata:
labels:
k8s-app: influxdb
spec:
containers:
- name: influxdb
# 镜像替换为私有镜像仓库,执行 docker search influxdb 找个能用的镜像事先拉下来即可
image: 10.0.2.5:443/influxdb
ports:
# 服务暴露在 8086 端口,没必要改,跟镜像有关,改错了自找麻烦
- containerPort