This commit is contained in:
zhangkun9038@dingtalk.com 2026-02-17 21:10:48 +08:00
parent 0d959e4c25
commit b64d90cab2
7 changed files with 119 additions and 0 deletions

View File

@ -0,0 +1,43 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: grafana
namespace: grafana
labels:
app: grafana
spec:
replicas: 1
selector:
matchLabels:
app: grafana
template:
metadata:
labels:
app: grafana
spec:
containers:
- name: grafana
image: grafana/grafana:9.5.2
ports:
- containerPort: 3000
name: http
resources:
limits:
cpu: 1
memory: 1Gi
requests:
cpu: 500m
memory: 512Mi
volumeMounts:
- name: grafana-data-volume
mountPath: /var/lib/grafana
- name: timezone
mountPath: /etc/localtime
readOnly: true
volumes:
- name: grafana-data-volume
persistentVolumeClaim:
claimName: grafana-data-pvc
- name: timezone
hostPath:
path: /usr/share/zoneinfo/Asia/Shanghai

View File

@ -0,0 +1,27 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: grafana-ingress
namespace: grafana
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: web
traefik.ingress.kubernetes.io/router.pathmatcher: grafana
traefik.ingress.kubernetes.io/service.passhostheader: "true"
spec:
ingressClassName: traefik
rules:
- host: grafana.k8s.xunlang.home
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: grafana
port:
number: 3000
# 如果你希望启用 TLS/SSL需要额外的配置
# tls:
# - hosts:
# - grafana.k8s.xunlang.home
# secretName: grafana-tls-secret # 这是用于TLS的secret

View File

@ -0,0 +1,6 @@
apiVersion: v1
kind: Namespace
metadata:
name: grafana
labels:
name: grafana

12
grafana/grafana-pv.yaml Normal file
View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: grafana-data-pv
spec:
capacity:
storage: 50Gi
accessModes:
- ReadWriteOnce
storageClassName: microk8s-hostpath
hostPath:
path: /var/snap/microk8s/common/mnt/data/grafana-data

13
grafana/grafana-pvc.yaml Normal file
View File

@ -0,0 +1,13 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: grafana-data-pvc
namespace: grafana
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 50Gi
storageClassName: microk8s-hostpath
volumeName: grafana-data-pv

View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
name: grafana
namespace: grafana
spec:
selector:
app: grafana
ports:
- name: http
port: 3000
targetPort: 3000
nodePort: 30087
type: NodePort

View File

@ -11,4 +11,8 @@ spec:
port: 8086
targetPort: 8086
nodePort: 30086
<<<<<<< Updated upstream
type: NodePort
=======
type: NodePort
>>>>>>> Stashed changes