安装Grafana
原创
©著作权归作者所有:来自51CTO博客作者You0tech的原创作品,请联系作者获取转载授权,否则将追究法律责任
导入镜像
[root@k8snode1 prometheus]# ctr -n k8s.io image import heapster-grafana-amd64_v5_0_4.tar.gz
unpacking k8s.gcr.io/heapster-grafana-amd64:v5.0.4 (sha256:1703015b12590c4c0a34d82e8c69c4e87a6f2303107034c720624e7cd74380da)...done
编写Yaml
[root@k8smaster1 prometheus]# cat grafana.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: monitor-grafana
namespace: kube-system
spec:
replicas: 1
selector:
matchLabels:
task: monitoring
k8s-app: grafana
template:
metadata:
name: grafana
labels:
task: monitoring
k8s-app: grafana
spec:
nodeName: k8smaster1
containers:
- name: grafana
image: k8s.gcr.io/heapster-grafana-amd64:v5.0.4
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3000
protocol: TCP
volumeMounts:
- name: ca-certificates
mountPath: /etc/ssl/certs
readOnly: true
- name: grafana-storage
mountPath: /var
env:
- name: INFLUXDB_HOST
value: monitoring-influxdb
- name: GF_SERVER_HTTP_PORT
value: "3000"
- name: GF_AUTH_BASIC_ENABLED
value: "false"
- name: GF_AUTH_ANONYMOUS_ENABLED
value: "true"
- name: GF_AUTH_ANONYMOUS_ORG_ROLE
value: Admin
- name: GF_SERVER_ROOT_URL
value: /
volumes:
- name: grafana-storage
emptyDir: {}
- name: ca-certificates
hostPath:
path: /etc/ssl/certs
---
apiVersion: v1
kind: Service
metadata:
name: monitoring-grafana
namespace: kube-system
annotations:
prometheus.io/scrape: 'true'
prometheus.io/port: '9090'
spec:
ports:
- port: 80
targetPort: 3000
selector:
k8s-app: grafana
type: NodePort
查看创建结果Pod
[root@k8smaster1 prometheus]# kubectl get pods -n kube-system -owide | grep grafana
monitor-grafana-6bdd88f877-ctc56 1/1 Running 0 4m42s 10.244.93.72 k8smaster1 <none> <none>
查看service创建结果
[root@k8smaster1 prometheus]# kubectl get svc -n kube-system -owide | grep grafana
monitoring-grafana NodePort 10.108.30.124 <none> 80:30727/TCP 5m43s k8s-app=grafana
浏览器访问测试