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

部署成功

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

完成

相关推荐
todoitbo5 小时前
群晖NAS部署JmalCloud:Docker安装、文件管理、博客与公网访问完整教程
运维·docker·容器
是枚小菜鸡儿吖12 小时前
Home Assistant跨品牌智能家居教程:Docker部署、米家接入、vivo桥接与远程访问
docker·容器·智能家居
螺蛳粉 螺蛳粉14 小时前
第 02 篇:镜像分层与 containerd 2.x 实战:SystemdCgroup 与 pause 镜像配置踩坑(底座认知 02)
docker·云原生·容器·kubernetes·etcd·containerd·kube-apiserver
wefg115 小时前
【Docker】镜像相关指令
运维·docker·容器
java_logo16 小时前
Docker 部署 DPanel:轻松搭建轻量容器管理平台
运维·docker·容器·podman·容器管理·dpanel·轩辕镜像
n1121217 小时前
Docker 容器时区错 8 小时:3 个坑
运维·docker·容器·故障排查·服务器运维·容器时区
小白的码BUG之路18 小时前
K8s -- 搭建过程中经常遇到的问题
云原生·容器·kubernetes
慈云数据18 小时前
用 DSH 辅助部署一个网站监控平台:Uptime Kuma + Docker 实战
运维·docker·容器
螺蛳粉 螺蛳粉18 小时前
第 03 篇:为什么 K8s 的最小调度单元是 Pod 而不是容器:pause 容器与边车模式(底座认知 03)
docker·云原生·容器·kubernetes·etcd·运维排障·kube-apiserver
艾伦_耶格宇18 小时前
【kubernetes - 1.28版本】-9 K8S-dashbord可视化界面
云原生·容器·kubernetes