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
验证结果:

部署成功

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

完成

相关推荐
寻林写彡18 小时前
01| 裸机部署 K8S:从零搭建生产可用集群
云原生·kubernetes
更深兼春远21 小时前
第2篇:Dify 部署保姆级教程:用 Docker跑起来
docker·容器·dify
小白的码BUG之路1 天前
Docker -- No space left on device
运维·docker·容器
wzq11_6661 天前
Kubernetes集群——Service篇(详细讲解!!!)
云原生·容器·kubernetes
程序员老陆1 天前
Docker 命令全景指南:从镜像构建到生产运维
运维·docker·容器
江湖有缘2 天前
3款开源绘图工具整理合集,可Docker一键部署!
docker·容器·开源
蓝胖的四次元口袋2 天前
Prometheus+Grafana知识梳理(2)
grafana·prometheus
小匠石钧知2 天前
06_在k8s集群中安装MetalLB实现LoadBalancer
云原生·容器·kubernetes·service·loadbalancer·metallb
troy1283 天前
阿里云 vs 谷歌云:Kubernetes 部署深度对比分析
阿里云·kubernetes·云计算
谢亮_vipxieliang3 天前
容器排障实战手册:从日志到内核的分层排障
docker·云原生·容器·eureka