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

部署成功

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

完成

相关推荐
两点王爷1 小时前
docker 运行自定义化的服务-后端
运维·docker·容器
弧襪3 小时前
K8S-证书过期更新
云原生·容器·kubernetes
东风微鸣5 小时前
Grafana将弃用AngularJS-我们该如何迁移
docker·云原生·kubernetes·可观察性
开心码农1号7 小时前
当一个 HTTP 请求发往 Kubernetes(K8s)部署的微服务时,整个过程流转时怎样的?
http·微服务·kubernetes
细心的莽夫8 小时前
Docker学习笔记
运维·笔记·后端·学习·docker·容器
诗句藏于尽头9 小时前
BT面板docker搭建excalidraw遇到的问题
运维·docker·容器
弧襪9 小时前
解决 Docker Swarm 集群节点故障:从问题剖析到修复实战
docker·容器
云攀登者-望正茂10 小时前
通过AWS EKS 生成并部署容器化应用
云原生·kubernetes·aws
kennygu11 小时前
jenkins项目发布-安装k8s(rancher)客户端kubectl
kubernetes·jenkins·rancher