k8s集群使用ingress转发grafana服务

news2024/9/24 1:21:37

文章目录

  • 前言
  • 一、思路
  • 二、grafana准备
    • 1. grafana-configmap.yaml
    • 2. grafana.yaml
  • 三、ingress准备
    • 1. ingress.yaml
    • 2. grafana-externalname.yaml
    • 3. ingress-nginx-controller
  • 四、 本机host文件准备
  • 五、访问测试


前言

在k8s集群中,使用ingress服务转发grafana的页面。


一、思路

ingress方面增加路由规则和跨命名空间的service即可
grafana增加configmap挂载grafana.ini文件,增加匿名登陆配置和root_url配置

二、grafana准备

1. grafana-configmap.yaml

grafana.ini文件的yaml文件

apiVersion: v1
kind: Namespace
metadata:
  name: grafana
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: grafanaini
  namespace: grafana
data:
  grafana.ini: |
    [server]
    domain: daxinxindahaohao.cn
    root_url: http://daxinxindahaohao.cn/grafana
    serve_from_sub_path: true
    [auth.anonymous]
    enabled: true
    org_role: Viewer

在这里插入图片描述

2. grafana.yaml

grafana启动服务的yaml文件
我这里使用的pvc的存储类型是rook-ceph,使用其他存储类型的修改为自己的就可以

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: grafana-pvc
  namespace: grafana
spec:
  storageClassName: rook-cephfs
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 50G
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: grafana
  name: grafana
  namespace: grafana
spec:
  selector:
    matchLabels:
      app: grafana
  template:
    metadata:
      labels:
        app: grafana
    spec:
      securityContext:
        fsGroup: 472
        supplementalGroups:
          - 0
      containers:
        - name: grafana
          image: grafana/grafana:latest
          imagePullPolicy: IfNotPresent
          env:
            - name: TZ
              value: Asia/Shanghai
          ports:
            - containerPort: 3000
              name: http-grafana
              protocol: TCP
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /robots.txt
              port: 3000
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 30
            successThreshold: 1
            timeoutSeconds: 2
          livenessProbe:
            failureThreshold: 3
            initialDelaySeconds: 30
            periodSeconds: 10
            successThreshold: 1
            tcpSocket:
              port: 3000
            timeoutSeconds: 1
          resources:
            requests:
              cpu: 250m
              memory: 750Mi
          volumeMounts:
            - mountPath: /var/lib/grafana
              name: grafana-pv
            - name : grafanaini
              mountPath: /etc/grafana/grafana.ini
              subPath: grafana.ini
      volumes:
        - name: grafanaini
          configMap:
            name: grafanaini
        - name: grafana-pv
          persistentVolumeClaim:
            claimName: grafana-pvc
---
apiVersion: v1
kind: Service
metadata:
  name: grafana
  namespace: grafana
spec:
  ports:
    - port: 3000
      protocol: TCP
      targetPort: http-grafana
  selector:
    app: grafana
  sessionAffinity: None
  type: ClusterIP

在这里插入图片描述

三、ingress准备

1. ingress.yaml

apiVersion: v1
kind: Namespace
metadata:
  name: daxinxindahaohao
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: daxinxindahaohao-ingress    #ingress名称
  namespace: daxinxindahaohao       #这里写ingress服务运行所在的命名空间名称
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
    - host: daxinxindahaohao.cn     #设置域名
      http:
        paths:
          - path: /grafana
            pathType: Prefix    # 前缀匹配
            backend:
              service:
                name: grafana
                port:
                  number: 3000

在这里插入图片描述

2. grafana-externalname.yaml

这里配置的是grafana的跨命名空间的service

kind: Service
apiVersion: v1
metadata:
  name: grafana
  namespace: daxinxindahaohao
spec:
  type: ExternalName
  externalName: grafana.grafana.svc.cluster.local

在这里插入图片描述

3. ingress-nginx-controller

在这里插入图片描述
端口是31247,下面会用到

四、 本机host文件准备

路径 C:\Windows\System32\drivers\etc\hosts
在这里插入图片描述

五、访问测试

通过浏览器进行访问测试
地址是:http://daxinxindahaohao.cn:31247/grafana
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1014579.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

苹果是真牛,数据线的钱要赚,换电池钱也要赚,贪婪成性

iPhone15发布会是苹果当前的热点,发布会结束后苹果又传出了一个消息,进一步提高更换电池的价格,显示出苹果意图进一步割韭菜,提升利润,这就有点贪婪成性了吧? 据了解 iPhone 7、8 及 SE 系列由 528 元涨至 …

商淘云八周年 与实体店业务共发展

引言:商淘云主要从事电商平台、B2B订货系统、供应链管理系统的开发和搭建,目前服务的客户有:中商北斗供应链管理集团有限公司、奥克斯物业、苏州广电总台、中国平安、南方新闻网等。 随着时间的流淌,市场不断发展,商淘…

【多线程案例】阻塞式队列

1. 什么是阻塞式队列 阻塞队列是一种特殊的队列. 也遵守 "先进先出" 的原则. 阻塞队列能是一种线程安全的数据结构, 并且具有以下特性: 当队列满的时候, 继续入队列就会阻塞, 直到有其他线程从队列中取走元素. 当队列空的时候, 继续出队列也会阻塞, 直到有其他线程往…

性能工程落地的4个阶段

性能工程按照不同的内容和目的划分为4个阶段,分别是线下单系统压测分析阶段、线下全链路压测分析阶段、生产只读业务压测及容量评估阶段、生产读写业务全链路压测及容量评估阶段。(也可以理解为一个企业性能测试体系的发展阶段) 线下单系统压测分析阶段 针对单系统的性能…

第71步 时间序列建模实战:ARIMA建模(Python)

基于WIN10的64位系统演示 一、写在前面 这一期,我们使用Python进行SARIMA模型的构建。 同样,这里使用这个数据: 《PLoS One》2015年一篇题目为《Comparison of Two Hybrid Models for Forecasting the Incidence of Hemorrhagic Fever wi…

LeetCode算法动态规划—剑指 Offer 10- II. 青蛙跳台阶问题

目录 剑指 Offer 10- II. 青蛙跳台阶问题 题解: 代码: 运行结果:​编辑 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e97(1000000007&#xff…

实现按钮悬停动画

知识点与技巧 伪元素 使用伪元素来作为按钮悬停效果动画展示的元素 z-index 的使用技巧 使用z-index属性来控制按钮和伪元素的层次关系 transform、transition 复习 使用transform、transition两个属性来实现动画的展示 按钮边框动画 切换效果 核心代码 .btn.btn-border-…

Python语言开发环境安装

视频版教程 Python3零基础7天入门实战视频教程 首先去Python官网下载Python安装包 https://www.python.org/ 目前最新版本:Python 3.11.4 直接点击下载。(建议用迅雷下载,速度快) 双击安装包进行Python安装。 勾选下 Add pytho…

3D生成式AI模型、应用与工具大全

当谈到技术炒作时,人工智能正在超越虚拟世界,吸引世界各地企业和消费者的注意力。 但人工智能可以进一步增强虚拟世界,至少在某种意义上:资产创造。 AI 有潜力扩大用于虚拟环境的 3D 资产的创建。 推荐:用 NSDT编辑器…

二叉树(堆)

堆的性质: 堆中某个节点的值总是不大于或不小于其父节点的值; 堆总是一棵完全二叉树。 大堆:任何父亲≥孩子 小堆:任何父亲≤孩子 接下来,我们要做的便是对堆进行增加和删除: 首先是增加操作&#xff0c…

【算法专题突破】滑动窗口 - 找到字符串中所有字母异位词(14)

目录 1. 题目解析 2. 算法原理 3. 代码编写 写在最后: 1. 题目解析 题目链接:438. 找到字符串中所有字母异位词 - 力扣(Leetcode) 这道题很好理解,就是找出从不同位置开始的所有异位词。 2. 算法原理 那我们该如…

下载安装python的详细步骤-2023

目录 一、介绍 二、下载 三、安装 四、测试 一、介绍 读者手册(必读)_csdn文章评分怎么看_云边的快乐猫的博客-CSDN博客 Python 是一种高级编程语言,具有简洁、易读、易学的特点。它由Guido van Rossum于1989年首次发布,并于1…

无涯教程-JavaScript - ACOTH函数

描述 ACOTH函数返回数字的反双曲余切。 语法 ACOTH (number)争论 Argument描述Required/OptionalNumberThe absolute value of Number must be greater than 1. i.e., Number must be must be less than -1 or greater than 1.Required Notes 用于计算双曲反余切的方程为-…

【第200篇原创文章】解决低于1%概率出现的芯片VPSS模块跑飞的问题

在发布SDK内测的时候,我们发现在切换视频分辨率的时候有低概率出现VPSS模块跑飞的情况,概率低于1%,试个两三百次,能出1~2次。切换视频分辨率这个功能在安防产品上也确实存在需求,网络带宽不大好的地方分辨率可以适当下…

边缘计算AI智能安防监控视频平台车辆违停算法详解与应用

随着城市车辆保有量呈现高速增长趋势,交通拥堵、违章行为也日益泛滥。因为车辆未停放在指定区域导致的车位浪费、占用/堵塞交通要道、车辆剐蹭等问题层出不穷。通过人工进行违法停车的监控,不仅让监控人员工作负荷越来越大,而且存在发现不及时…

文心一言:中文生成式对话产品

【产品介绍】 名称 文心一言上线/成立时间 2023年3月27日具体描述 文心一言(英文名:ERNIE Bot)是百度全新一代知识增强大语言模型,文心大模型家族的新成员,能够与人对话互动,回答问…

pacman下载源失败怎么办

背景 编译c程序的时候,提示链接失败,错误如下: clang-15: error: linker command failed with exit code 1 (use -v to see invocation) [24/25] Linking CXX executable samples/xxx ninja: build stopped: subcommand failed.此处不过多介…

计算机竞赛 机器视觉的试卷批改系统 - opencv python 视觉识别

文章目录 0 简介1 项目背景2 项目目的3 系统设计3.1 目标对象3.2 系统架构3.3 软件设计方案 4 图像预处理4.1 灰度二值化4.2 形态学处理4.3 算式提取4.4 倾斜校正4.5 字符分割 5 字符识别5.1 支持向量机原理5.2 基于SVM的字符识别5.3 SVM算法实现 6 算法测试7 系统实现8 最后 0…

数学实验-圆周率π的计算(Mathematica实现)

一、实验名称:圆周率π的计算 二、实验环境:机房、Mathematica 10.3软件 三、实验目的:通过各种方法在Mathematica中计算圆周率π的值, 四、实验内容及结果 1 数值积分法计算π 计算定积分的数值,就得到了的值&am…

外包干了2个月,技术退步明显。。。。。

先说一下自己的情况,大专生,18年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…