当前位置: 首页 > news >正文

采集集群外的k8s(prometheus监控)

1,创建token
# 一定要cluster-admin角色
#步骤一: 创建sa
[root@k8s-master01 ~]# kubectl create ns monitoring
namespace/monitoring created
​
[root@k8s-master01 ~]# kubectl create sa -n monitoring thanos
serviceaccount/thanos created
# 步骤二: 创建角色绑定
[root@k8s-master01 ~]#  kubectl create clusterrolebinding thanos --clusterrole cluster-admin --serviceaccount=monitoring:thanos
clusterrolebinding.rbac.authorization.k8s.io/thanos created
[root@k8s-master01 ~]# 
# 步骤三: 获取sa中的secret
[root@k8s-master01 ~]# kubectl get sa -n monitoring thanos -o yaml
apiVersion: v1
kind: ServiceAccount
metadata:creationTimestamp: "2025-09-12T02:46:26Z"name: thanosnamespace: monitoringresourceVersion: "5532775"uid: 683fb80a-de74-4ec2-9ec4-4a96c017369f
​
#kubernetes v1.24.0 更新之后进行创建 ServiceAccount 不会自动生成 Secret 需要对其手动创建。
​
cat > thanos-Secret.yaml << EOF
apiVersion: v1
kind: Secret
metadata:name: thanosnamespace: monitoringannotations:kubernetes.io/service-account.name: "thanos"
type: kubernetes.io/service-account-token
EOF
​
kubectl apply -f thanos-Secret.yaml
# 获取 Secret
kubectl -n monitoring get secrets
# 查看 Secret 详情
kubectl -n monitoring describe secrets thanos
# 获取 Token
kubectl -n monitoring get secrets thanos -o go-template --template '{{index .data "token"}}' | base64 --decode
[root@k8s-master01 prometheus-k8s-token]# kubectl  apply -f thanos-Secret.yaml
secret/thanos created
[root@k8s-master01 prometheus-k8s-token]# 
[root@k8s-master01 prometheus-k8s-token]# kubectl -n monitoring get secrets
NAME     TYPE                                  DATA   AGE
thanos   kubernetes.io/service-account-token   3      11s
[root@k8s-master01 prometheus-k8s-token]# # 查看 Secret 详情
[root@k8s-master01 prometheus-k8s-token]# kubectl -n monitoring describe secrets thanos
Name:         thanos
Namespace:    monitoring
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: thanoskubernetes.io/service-account.uid: 683fb80a-de74-4ec2-9ec4-4a96c017369f
​
Type:  kubernetes.io/service-account-token
​
Data
====
ca.crt:     1363 bytes
namespace:  10 bytes
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IkRnWkpzRDNLelRvLVUtcFZ4dDFYLXdjT29oY3h1NjdsOWFydm1IeGhsajAifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJtb25pdG9yaW5nIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6InRoYW5vcyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJ0aGFub3MiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI2ODNmYjgwYS1kZTc0LTRlYzItOWVjNC00YTk2YzAxNzM2OWYiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6bW9uaXRvcmluZzp0aGFub3MifQ.Gkp572wArTrJZPNL0aGbH7vTUEbu5lvdKeI2KwyHNwA_4HX7zKCaXmjVgOflfCmSpUlTLjbbLsakU_7qs7TgJ-T_dMeduo3BAnj5kBI9zCwzoLVE9D_LstDUJyJ6M7mlO4opJIVw7bTwA9kJubmMpqOvcJy3VhWNDKI64hU66D75KbbCuRdvp68ocVkqgH0PnxFxU_S4NEAMRyp8AXSXFJiVoGyHjpfo9YlC0-XiyXQr-_Mu-YljkVQYNcfjGnVziMLBlo7gtgbSLwU-3Jj9LWqB8I0TlxqLkAz-cQ63ixiVyVVKBX5rOSj8n8sH9qHslJjsGd5kCXS41lT8kM6xwg
[root@k8s-master01 prometheus-k8s-token]# 
[root@k8s-master01 prometheus-k8s-token]# kubectl -n monitoring get secrets thanos -o go-template --template '{{index .data "token"}}' | base64 --decode
eyJhbGciOiJSUzI1NiIsImtpZCI6IkRnWkpzRDNLelRvLVUtcFZ4dDFYLXdjT29oY3h1NjdsOWFydm1IeGhsajAifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJtb25pdG9yaW5nIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6InRoYW5vcyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJ0aGFub3MiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI2ODNmYjgwYS1kZTc0LTRlYzItOWVjNC00YTk2YzAxNzM2OWYiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6bW9uaXRvcmluZzp0aGFub3MifQ.Gkp572wArTrJZPNL0aGbH7vTUEbu5lvdKeI2KwyHNwA_4HX7zKCaXmjVgOflfCmSpUlTLjbbLsakU_7qs7TgJ-T_dMeduo3BAnj5kBI9zCwzoLVE9D_LstDUJyJ6M7mlO4opJIVw7bTwA9kJubmMpqOvcJy3VhWNDKI64hU66D75KbbCuRdvp68ocVkqgH0PnxFxU_S4NEAMRyp8AXSXFJiVoGyHjpfo9YlC0-XiyXQr-_Mu-YljkVQYNcfjGnVziMLBlo7gtgbSLwU-3Jj9LWqB8I0TlxqLkAz-cQ63ixiVyVVKBX5rOSj8n8sH9qHslJjsGd5kCXS41lT8kM6xwg
​
[root@devops02]# kubectl create sa -n monitoring thanos      
serviceaccount/thanos created
​
[root@devops02]# kubectl get sa -n monitoring thanos -o yaml
apiVersion: v1
kind: ServiceAccount
metadata:creationTimestamp: "2022-08-30T10:51:48Z"name: thanosnamespace: monitoringresourceVersion: "412483591"selfLink: /api/v1/namespaces/monitoring/serviceaccounts/thanosuid: fd5390e9-103f-498f-8eaf-cc02ed79c9e6
secrets:
- name: thanos-token-mmkgh
步骤三: 获取token
[root@devops02]# kubectl describe secrets -n monitoring thanos-token-mmkgh  
Name:         thanos-token-mmkgh
Namespace:    monitoring
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: thanoskubernetes.io/service-account.uid: fd5390e9-103f-498f-8eaf-cc02ed79c9e6
​
Type:  kubernetes.io/service-account-token
​
Data
====
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IkQ4a3FFN20tdk5ObUwzTXdMbkZjVVBEV0lxRloyRmRUNjgyMWtFeDA2ak0ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJtb25pdG9yaW5nIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6InRoYW5vcy10b2tlbi1tbWtnaCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJ0aGFub3MiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJmZDUzOTBlOS0xMDNmLTQ5OGYtOGVhZi1jYzAyZWQ3OWM5ZTYiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6bW9uaXRvcmluZzp0aGFub3MifQ.4URBz3HffPi0XOiGAoMfx24L56d65F2XkfnWdnAL3S8Z-mMpMjOedr2i_91_lcFRY4a-iroyrSdLuR7yQRVOkxCSZAhoQD0f3g3oGz_DvUPxIcMF55As7yk4vE4NuaseKYCpIlS24DcTll4a76q-ANBcvCOFM5NlhuKSIg8pUGSDgtnBVTqkYlk__TCjuJ3vBf9lbHTLWlvkv8p0wqUyGzPg_8FltNNsulFDu6L-6WybkQEZ6LIvgqIUvuGM3U5KjAGT0T6UHy-CnOoIBDVioEbu0B1xsq3qANmBmvvjIFnJcYyVyO50iVcH4hpmiNI9oY6ftWoa2fV_wXNRAfHXsw
ca.crt:     1066 bytes
namespace:  10 bytes
​
#kubernetes v1.24.0 更新之后进行创建 ServiceAccount 不会自动生成 Secret 需要对其手动创建。
​
cat > thanos-Secret.yaml << EOF
apiVersion: v1
kind: Secret
metadata:name: thanosnamespace: monitoringannotations:kubernetes.io/service-account.name: "thanos"
type: kubernetes.io/service-account-token
EOF
​
kubectl apply -f thanos-Secret.yaml
# 获取 Secret
kubectl -n monitoring get secrets
# 查看 Secret 详情
kubectl -n monitoring describe secrets thanos
# 获取 Token
kubectl -n monitoring get secrets thanos -o go-template --template '{{index .data "token"}}' | base64 --decode
​
​

2,测试token

获取kube-apiserver数据

[root@devops02]# cat k8s/token 
eyJhbGciOiJSUzI1NiIsImtpZCI6IkQ4a3FFN20tdk5ObUwzTXdMbkZjVVBEV0lxRloyRmRUNjgyMWtFeDA2ak0ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJwcm9tZXRoZXVzLXRva2VuLXNmZDVoIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6InByb21ldGhldXMiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIzNmIwZjJiNi04MTQ3LTQ3NjgtOWI4YS01ZDYxY2I0NmZiMTYiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06cHJvbWV0aGV1cyJ9.aVdZ5wXVE7z3ofiWgqZIMSFYlNxFv86ylRvfKlxmu6vFMOFeznk5XGkiQttJY9OJ2Tu-OHbtmmaX-2pwPPipNURfn0G-9_ZF0S4u4PdndUIbeIuCthGI6nN8G5P-0DHKb76bocP9dquDFDnpijSqN-8GXarpJ39kCIO9gyzJZfcQ6FQZExjnOGX3UKJuBJvwCJ3peN_79Tp5KlcgcesoBMxJV4kN0r-n_qbgnVkX6V1ywdaj7GiYjvTJzdC6B0v_dEOo3lcLc8-uXU4TTfFsENuo0lV_y5efW6nGcLAcw8MXkVo2bvc8wYv5vHoviU8c_qFqKAswzqelMDDhDOElrQ
[root@devops02]# TOKEN=`cat k8s/token`
[root@devops02]# curl --header "Authorization: Bearer $TOKEN" --insecure -X  GET https://10.50.4.158:6443/metrics
​获取kubelet数据[root@devops02]# curl --header "Authorization: Bearer $TOKEN" --insecure -X  GET https://10.50.4.18:10250/metrics获取node_exporter数据[root@devops02]# curl --header "Authorization: Bearer $TOKEN" --insecure -X  GET https://10.50.4.117:9100/metrics


文章转载自:

http://PYHP1fiE.wLbwp.cn
http://keyMRSZm.wLbwp.cn
http://kSy42R6s.wLbwp.cn
http://EsHUgMq7.wLbwp.cn
http://obxX8vPT.wLbwp.cn
http://3pXQttPX.wLbwp.cn
http://id0KxVUS.wLbwp.cn
http://fzV0t005.wLbwp.cn
http://5tDvDymi.wLbwp.cn
http://J01NWUbs.wLbwp.cn
http://i5eiA6Bq.wLbwp.cn
http://UL8AACek.wLbwp.cn
http://nLWCVhiM.wLbwp.cn
http://7nDYPblf.wLbwp.cn
http://zZB0j5Ax.wLbwp.cn
http://pbKMLj1L.wLbwp.cn
http://TCtZvyHC.wLbwp.cn
http://Gw9WtoxQ.wLbwp.cn
http://WPf9KXs0.wLbwp.cn
http://XFVd4CMp.wLbwp.cn
http://tCHAPeUt.wLbwp.cn
http://4bVNMCyU.wLbwp.cn
http://YfLvQ3i2.wLbwp.cn
http://BsBGEf2q.wLbwp.cn
http://0INjqr3A.wLbwp.cn
http://QWpwvL02.wLbwp.cn
http://YK51XBrU.wLbwp.cn
http://beIY7aep.wLbwp.cn
http://UVLcHdFO.wLbwp.cn
http://bWBbAtJ7.wLbwp.cn
http://www.dtcms.com/a/380112.html

相关文章:

  • AI 玩转网页自动化无压力:基于函数计算 FC 构建 Browser Tool Sandbox
  • Redisson原理与面试问题解析
  • ICCV 2025 | 首次引入Flash Attention,轻量SR窗口扩至32×32还不卡!
  • 关于线性子空间(Linear Subspace)的数学定义
  • OpenHarmony AVSession深度解析(二):从本地会话到分布式跨设备协同的完整生命周期管理
  • 12.NModbus4在C#上的部署与使用 C#例子 WPF例子
  • 迅为RK3568开发板Linux_NVR_SDK 系统开发-扩展根文件系统
  • OpenCV:特征提取
  • Zynq开发实践(FPGA之第一个vivado工程)
  • 数字人技术如何与数字孪生深度融合?
  • 如何生成 GitHub Token(用于 Hexo 部署):保姆级教程+避坑指南
  • Python uv常用命令及使用详解
  • MySQL主从同步参数调优案例
  • Python的uv包管理工具使用
  • 构建python3.11+uv+openssh环境的docker镜像
  • RabbitMQ的核心使用示例
  • 大数据电商流量分析项目实战:Hive 数据仓库(三)
  • 【Kubernetes】Tomcat 启用 Prometheus 监控指标
  • 数字人分身 + 矩阵系统聚合的源码搭建与定制开发
  • 如何使用 OCR 提取扫描件 PDF 的文本(Python 实现)
  • 并发:使用volatile和不可变性实现线程安全
  • 【qml入门】在qml项目上加入用户登录qml页面(包含源码)
  • 通义灵码产品演示: 数据库设计与数据分析
  • 大疆图传十公里原理:无人机图传技术解析
  • 【论文阅读】小模型是智能体的未来
  • 空间智能 × 无人机丨考拉悠然携 AI+应急创新产品亮相东盟博览会
  • 【C++】list容器的模拟实现
  • Java学习之——“IO流“的进阶流之打印流的学习
  • Vue 进阶实战:从待办清单到完整应用(路由 / 状态管理 / 性能优化全攻略)
  • 《用 Python 和 TensorFlow 构建你的第一个神经网络:从零开始识别手写数字》