K8S中部署Grafana

官方部署文档: Deploy Grafana on Kubernetes | Grafana Labs

以下Yaml从官方copy下来的并做了些修改,Service使用Nodeport方式是为了便于本地访问

$ cat grafana.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: grafana-pvc
  namespace: kube-mon
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi
  storageClassName: ebs-sc
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: grafana
  name: grafana
  namespace: kube-mon
spec:
  selector:
    matchLabels:
      app: grafana
  template:
    metadata:
      labels:
        app: grafana
    spec:
      securityContext:
        fsGroup: 472
        supplementalGroups:
          - 0
      containers:
        - name: grafana
          image: grafana/grafana:8.4.4
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 3000
              name: http-grafana
              protocol: TCP
          resources:
            requests:
              cpu: 250m
              memory: 750Mi
          volumeMounts:
            - mountPath: /var/lib/grafana
              name: grafana-pv
      volumes:
        - name: grafana-pv
          persistentVolumeClaim:
            claimName: grafana-pvc
---
apiVersion: v1
kind: Service
metadata:
  name: grafana
  namespace: kube-mon
spec:
  ports:
    - port: 3000
      protocol: TCP
      targetPort: http-grafana
  selector:
    app: grafana
  type: NodePort

$ kubectl apply -f grafana.yml

访问Grafana UI ,这里访问K8S节点ip + grafana svc 的NodePort端口(如下的30198端口)

$ kubectl get svc -n kube-mon
NAME          TYPE       CLUSTER-IP       EXTERNAL-IP      PORT(S)              AGE
grafana       NodePort   172.20.56.122            3000:30198/TCP          11m

首次登录用户密码为admin,首次进入grafana还需要修改密码

K8S中部署Grafana_第1张图片

你可能感兴趣的:(Grafana,kubernetes,运维)