k8s部署grafana

先决条件

这里部署过程的前提是已经部署好storageclass,所以pv会根据pvc自动创建.

详情参考:k8s-StoargClass的使用-基于nfs_a volume that contains injected data from multiple-CSDN博客

直接开始:

部署pvc
Go 复制代码
[root@module /zpf/grafana]$cat pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim  #指定类型
metadata:
  name: grafana-pvc  #指定pvc的名称
spec:
  storageClassName: "managed-nfs-storage"  #这里指定的名称就是上面创建的sc的名称,否则是无法创建成功的
  accessModes:
  - ReadWriteMany   #读写权限
  resources:
    requests:
      storage: 20Gi  #分配大小
部署deploy:

注意这里的容器镜像是我自己仓库里面的镜像,

imagePullSecrets 也是我自己创建的,根据个人的情况自行更改即可.

Go 复制代码
[root@module /zpf/grafana]$cat deploy-grafana.yml
kind: Deployment
apiVersion: apps/v1
metadata:
  labels:
    app: grafana
  name: grafana
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: grafana
  template:
    metadata:
      labels:
        app: grafana
    spec:
      imagePullSecrets:
      - name: aliyun-docker-images-registry
      securityContext:
        runAsUser: 0
      containers:
        - name: grafana
          image: registry.cn-beijing.aliyuncs.com/scorpio/grafana-cn:v9.4.0
          imagePullPolicy: IfNotPresent
          env:
            - name: GF_AUTH_BASIC_ENABLED
              value: "true"
            - name: GF_AUTH_ANONYMOUS_ENABLED
              value: "false"
          readinessProbe:
            httpGet:
              path: /login
              port: 3000
          volumeMounts:
            - mountPath: /var/lib/grafana
              name: grafana-data-pvc
          ports:
            - containerPort: 3000
              protocol: TCP
      volumes:
        - name: grafana-data-pvc
          persistentVolumeClaim:
            claimName: grafana-pvc
创建svc:

因为要在集群外访问服务,所以这里就直接使用了Nodeport的方式对外暴漏了.

Go 复制代码
[root@module /zpf/grafana]$cat svc-grafana.yml
kind: Service
apiVersion: v1
metadata:
  labels:
    app: grafana
  name: grafana-service
spec:
  ports:
    - port: 3000
      targetPort: 3000
      nodePort: 30030
  selector:
    app: grafana
  type: NodePort
验证结果:

部署成功

接入数据源:
验证数据源可用性

完成

相关推荐
Qres8214 小时前
docker & WSL & Ubuntu安装记录
ubuntu·docker·容器·wsl
java_cj5 小时前
从kubectl源码学pprof:生产环境性能分析的实战指南
运维·云原生·容器·kubernetes
何中应5 小时前
Grafana面板没有数据问题排查
linux·grafana·prometheus
爱吃龙利鱼6 小时前
K8s 监控实战:victoria-metrics-k8s-stack 高可用部署,资源占用直降 70%,比 Prometheus 省 5 倍磁盘
docker·kubernetes·prometheus
STDD6 小时前
Kubeflow ML 流水线 K8s 部署教程:机器学习工作流编排全攻略
机器学习·容器·kubernetes
爱吃龙利鱼6 小时前
k8s1.36部署helm和storageclass
云原生·容器·kubernetes
yuezhilangniao6 小时前
2026删除K8s命名空间 卡 Terminating 的 ns
java·容器·kubernetes
又是进步的一天6 小时前
一台虚拟机学习CI流程
学习·ci/cd·云原生·容器·kubernetes·devops
就改了6 小时前
微服务指标监控一站式搭建:Prometheus抓取+Grafana大屏展示详解
微服务·grafana·prometheus
IT WorryFree6 小时前
GitHub Actions 流水线注入敏感配置完整方案(Antora + Docker Compose)
docker·容器·github