k8s集群授权prometheus(集群外部署)

news/2024/5/19 1:19:51 标签: kubernetes, prometheus, java

一、前言

在集群外部prometheus想要调用k8s集群的apiserver获取监控数据需要通过token和ca验证,在集群内部部署的prometheus就不会有这个情况,因为集群内部部署prometheus pod的时候就已经注入了访问集群的token和ca文件,所以以下就针对k8s集群外部署的prometheus创建token和ca文件使得prometheus能够访问k8s集群的apiserver获取监控数据


二、k8s集群创建RBAC对象

vi prometheus-rabc.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: prometheus
  namespace: prometheus
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: prometheus
rules:
- apiGroups:
  - ""
  resources:
  - nodes
  - services
  - endpoints
  - pods
  - nodes/proxy
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - "extensions"
  resources:
    - ingresses
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - ""
  resources:
  - configmaps
  - nodes/metrics
  verbs:
  - get
- nonResourceURLs:
  - /metrics
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: prometheus
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: prometheus
subjects:
- kind: ServiceAccount
  name: prometheus
  namespace: prometheus

创建命名空间

kubectl create namespace prometheus

创建rbac

kubectl create -f prometheus-rabc.yaml

在新版本的k8s中创建ServiceAccount不会默认创建secret,需要自己手动创建

vi prometheus-secret.yaml 

apiVersion: v1
kind: Secret
metadata:
  name: prometheus
  namespace: prometheus
  annotations:
    kubernetes.io/service-account.name: prometheus   #这里需要填写创建的ServiceAccount的名称
type: kubernetes.io/service-account-token

查看token

kubectl describe secret prometheus -n prometheus

 查看一下ServiceAccount

kubectl describe sa prometheus -n prometheus

 prometheus调用k8s集群接口获取监控数据,使用以上的token和集群ca证书即可

k8s集群的ca证书在以下目录中

ls /etc/kubenetes/pki


http://www.niftyadmin.cn/n/5098682.html

相关文章

C++ 用户学习 Python 的最佳方法

对于很多是一名计算机科学专业的学生而言,很多入门是学习的C和 C,可能熟悉非常基本的 python 语法,以及 C 中相当高级的数据结构。现在想深入学习Python的话,光看很多在线教程可能没法有较大的提升,这里有一些针对C用户…

RecyclerView 数据更新方法 notifyItemChanged/notifyItemInsert/notifyIteRemoved

RecyclerView 数据更新方法 notifyItemChanged/notifyItemInsert/notifyIteRemoved notifyItemInsertednotifyItemRemovednotifyItemChanged notifyItemInserted java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHol…

三维地图开发三维地图服务器

三维地图开发三维地图服务器 发布时间:2020-03-03 版权: 搭建离线地图服务主要是两个步骤:一是:下载离线地图服务需要的地图数据;二是:将下载的离线地图数据发布成地图服务;只有做好这两步&…

文件管理革命:突破限制,实现无限次复制粘贴

我们每天都在和文件打交道,无论是工作还是生活。你是否曾经遇到过这样的问题:需要将某个文件内容多次复制粘贴到不同的地方,但限于系统限制,只能粘贴一次?这种繁琐的操作不仅浪费时间,还可能因为重复劳动而…

云耀服务器L实例部署JumpServer堡垒机|华为云云耀云服务器L实例评测使用体验

云耀服务器L实例部署JumpServer堡垒机 文章目录 云耀服务器L实例部署JumpServer堡垒机1. 华为云云耀服务器L实例介绍2. JumpServer堡垒机2.1 堡垒机2.2 JumpServer 3. 部署华为云云耀服务器L实例3.1 云耀服务器L实例购买3.1.1 云耀服务器L实例初始化配置3.1.2 远程登录云耀服务…

读《中国省级移动政务服务报告2023》

报告地址: 中国省级移动政务服务报告2022 https://www.digitalelite.cn/h-nd-7846.html 中国省级移动政务服务报告2023 中国省级移动政务服务报告2023 报告分为 引言、评估方法、概貌、指数、标杆、建言 六个部分。 一些思考 移动政务服务应用针对各省的常驻人口…

XTU-OJ 1339-Interprime

题目描述 n是两个连续的奇素数的平均值,且n不是素数,那么我们称这样的数是"内部素数"。求区间[a,b]内"内部素数"的个数。比如,前5个"内部素数"是4,6,9,12,15。 输入 第一行是样例数T(1≤T≤1000)。 每个样例一…

AR智能眼镜主板设计方案_AR眼镜PCB板设计

AR智能眼镜是一种采用先进技术的创新产品,具备强大的功能和性能。它采用了MTK8788八核 12nm低功耗硬件平台,搭载IMG GE830063OMhz或以上的GPU,并运行Android 11.0或以上的操作系统。该眼镜支持光波导1080P显示和LVDS接口自由曲面显示&#xf…