22.2 k8s中ksm采集的使用的dns解析

news2024/10/4 9:33:54

本节重点介绍 :

  • k8s 会为service创建cordns解析
  • pod中dns的搜索域
  • 模拟prometheus进行dns解析后访问数据

k8s对象资源指标 kube-stats-metrics项目

  • prometheus 采集kube-state-metrics通过下面的配置段,
- job_name: kube-state-metrics
  honor_timestamps: true
  scrape_interval: 30s
  scrape_timeout: 10s
  metrics_path: /metrics
  scheme: http
  static_configs:
  - targets:
    - kube-state-metrics:8080

采集配置解读

  • target这里配置的是kube-state-metrics:8080
  - targets:
    - kube-state-metrics:8080
  • 因为kube-state-metrics部署好之后有个service。它的配置如下。
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/name: kube-state-metrics
    app.kubernetes.io/version: v1.9.7
  name: kube-state-metrics
  namespace: kube-system
spec:
  clusterIP: None
  ports:
  - name: http-metrics
    port: 8080
    targetPort: http-metrics
  - name: telemetry
    port: 8081
    targetPort: telemetry
  selector:
    app.kubernetes.io/name: kube-state-metrics

k8s 会为service创建cordns解析

  • 解析域名为${service_name}.${namespace}.svc.cluster.local
  • 其中 cluster.local代表集群的后缀
  • 那么kube-state-metrics的域名为kube-state-metrics.kube-system.svc.cluster.local

pod中dns的配置

  • 同时pod中的dns配置为search 3个域,我们可以exec进入prometheus容器中查看,如下面的实例所示。
search kube-system.svc.cluster.local svc.cluster.local cluster.local
nameserver 10.96.0.10
options ndots:5

  • 所以在容器中可以ping一下 kube-state-metrics,可以看到解析的ip地址
/prometheus $ ping kube-state-metrics
PING kube-state-metrics (10.100.71.4): 56 data bytes
ping: permission denied (are you root?)
/prometheus $

所以采集kube-state-metrics的target配置成 kube-state-metrics:8080是可以的,当然也可以配置成 kube-state-metrics.kube-system.svc:8080kube-state-metrics.kube-system.svc.cluster.local:8080

  • 下面演示了不同搜索域的结果
/prometheus $ cat /etc/resolv.conf 
search kube-system.svc.cluster.local svc.cluster.local cluster.local
nameserver 10.96.0.10
options ndots:5
/prometheus $ ping kube-state-metrics
PING kube-state-metrics (10.100.71.4): 56 data bytes
ping: permission denied (are you root?)
/prometheus $ ping kube-state-metrics.kube-system
PING kube-state-metrics.kube-system (10.100.71.4): 56 data bytes
ping: permission denied (are you root?)
/prometheus $ ping kube-state-metrics.kube-system.svc
PING kube-state-metrics.kube-system.svc (10.100.71.4): 56 data bytes
ping: permission denied (are you root?)
/prometheus $ ping kube-state-metrics.kube-system.svc.cluster.local
PING kube-state-metrics.kube-system.svc.cluster.local (10.100.71.4): 56 data bytes
ping: permission denied (are you root?)

在节点上模拟prometheus访问 ksm

  • prometheus通过访问coredns,解析kube-state-metrics的域名,拿到相关ip,在访问kube-state-metrics 指标。
  • 我们可以在node上模拟这一过程
  • 在master上拿到coredns service 的ip
kubectl get svc  -n kube-system |grep dns
  kube-dns             ClusterIP   10.96.0.10     <none>        53/UDP,53/TCP,9153/TCP   73d

  • 在node上请求 coredns 解析 kube-stats-metrics 域名,以为node上的 /etc/resolv.conf配置配置相关的解析域,所以要写全域名FQDN

[root@k8s-master01 ~]#  dig  kube-state-metrics.kube-system.svc.cluster.local @10.96.0.10  

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.5 <<>> kube-state-metrics.kube-system.svc.cluster.local @10.96.0.10
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26378
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;kube-state-metrics.kube-system.svc.cluster.local. IN A

;; ANSWER SECTION:
kube-state-metrics.kube-system.svc.cluster.local. 30 IN A 10.100.85.200

;; Query time: 0 msec
;; SERVER: 10.96.0.10#53(10.96.0.10)
;; WHEN: Tue Aug 24 16:38:18 CST 2021
;; MSG SIZE  rcvd: 141
  • 访问这个ip的8080/metrics接口可以看到相关的数据
[root@k8s-master01 ~]# curl -s 10.100.85.200:8080/metrics |head
# HELP kube_certificatesigningrequest_labels Kubernetes labels converted to Prometheus labels.
# TYPE kube_certificatesigningrequest_labels gauge
# HELP kube_certificatesigningrequest_created Unix creation timestamp
# TYPE kube_certificatesigningrequest_created gauge
# HELP kube_certificatesigningrequest_condition The number of each certificatesigningrequest condition
# TYPE kube_certificatesigningrequest_condition gauge
# HELP kube_certificatesigningrequest_cert_length Length of the issued cert
# TYPE kube_certificatesigningrequest_cert_length gauge
# HELP kube_configmap_info Information about configmap.
# TYPE kube_configmap_info gauge

本节重点总结 :

  • k8s 会为service创建cordns解析
  • pod中dns的搜索域
  • 模拟prometheus进行dns解析后访问数据

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

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

相关文章

Prometheus Metrics和PromQL的使用

Metrics 官方解释是 Metrics are numerical measurements in layperson terms. (通俗地讲&#xff0c;Metrics就是数字测量) Prometheus fundamentally stores all data as time series &#xff08;Prometheus把所有数据都存储为时间序列&#xff09; Every time series is u…

《PMI-PBA认证与商业分析实战精析》第6章 跟踪与监督

第6章 跟踪与监督 本章主要内容包括&#xff1a; 跟踪 关系与依赖性 批准需求 基线化已批准需求 使用跟踪矩阵来监督需求 需求生命周期 管理需求变更 本章涵盖的考试重点&#xff1a; 跟踪与监督的六项活动 跟踪与监督六项活动的可交付成果及活动间的关系 跟踪的定义…

指南:Linux常用的操作命令!!!

引言: 操作系统是软件的一类。 主要作用是协助用户调度硬件工作&#xff0c;充当用户和计算机硬件之间的桥梁。 尽管图形化是大多数人使用计算机的第一选择&#xff0c;但是在Linux操作系统上多数都是使用的&#xff1a;命令行在开发中&#xff0c;使用命令行形式&#xff0c…

【有啥问啥】联邦学习(Federated Learning, FL):保护隐私的分布式机器学习

联邦学习&#xff08;Federated Learning, FL&#xff09;&#xff1a;保护隐私的分布式机器学习 联邦学习&#xff08;Federated Learning, FL&#xff09;作为一种前沿的分布式机器学习技术&#xff0c;正逐步成为解决数据隐私保护与模型性能提升之间矛盾的关键方案。以下是…

HTTP Cookie与Session

目录 一. 引入Cookie 1.1 定义 1.2 工作原理 1.3 分类 二. 认识Cookie 三. 测试Cookie 五. 引入Session 六. 测试Session 这篇博客&#xff0c;我们来看看Cookie与Session&#xff0c;内容干货满满。 一. 引入Cookie 1.1 定义 HTTP Cookie&…

幂等性及技术解决方案

目录 定义幂等性 为什么需要幂等性幂等性设计注意事项幂等性的范围分布式锁解决幂等性 设计 延伸阅读 定义幂等性 简单地说&#xff0c;我们可以多次执行幂等运算而不改变结果或者使用相同的输入参数中被调用多次&#xff0c;则不具有额外效果的操作&#xff0c;也就是多次执…

使用pytdx获取历史股票行情

使用pytdx获取历史股票行情 先看效果pytdx基础获取历史股票行情将历史数据存入数据库 先看效果 获取从2010年01月01日-2024年09月30日的股票数据 pytdx基础 https://blog.csdn.net/firexiaHouse/article/details/142687052?spm1001.2014.3001.5501 获取历史股票行情 def …

C++11--智能指针

引入 为什么需要智能指针&#xff1f; 在介绍异常时&#xff0c;遇到以下场景&#xff0c;处理异常就会比较棘手&#xff1a; void Func() {int* arr1 new int[10];int* arr2 new int[20];int* arr3 new int[30];// ...delete[] arr1;delete[] arr2;delete[] arr3; }这里…

一文吃透 SpringBoot (从入门到精通)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

15分钟学 Python 第35天 :Python 爬虫入门(一)

Day 35 : Python 爬虫简介 1.1 什么是爬虫&#xff1f; 网页爬虫&#xff08;Web Crawler&#xff09;是自动访问互联网并提取所需信息的程序。爬虫的主要功能是模拟用户通过浏览器访问网页的操作&#xff0c;从而实现对网页内容的批量访问与信息提取。它们广泛应用于数据收集…

【IPv6】IPv6地址格式及地址分类(组播、单播、任播)整理

IPv6地址格式 IPv6 地址从 IPv4 地址的 32 bits 扩展到 128 bits&#xff0c;IPv6 地址的表示、书写方式也从 IPv4 的点分十进制&#xff0c;修改16进制的冒号分割 IPv4 点分格式(.) 192.168.11.11 IPv6 冒号分割(:) 2408:8459:3032:0000:0000:0000:0001:a9fd IPv6 的规范…

平面电磁波的电场能量磁场能量密度相等,注意电场能量公式也没有复数形式(和坡印廷类似)

1、电场能量密度和磁场能量密度相等(实数场算的) 下面是电场能量密度和磁场能量密度的公式&#xff0c;注意这可不是坡印廷定理。且电场能量密度没有复数表达式&#xff0c;即不是把E和D换成复数形式就行的。注意&#xff0c;一个矢量可以转化为复数形式&#xff0c;两个矢量做…

6.4 数据处理架构模式和实践

6.4 数据处理架构模式和实践 目录概述需求&#xff1a; 设计思路实现思路分析1.批处理架构2.实时处理架构3.流处理架构4.微服务架构&#xff08;重点&#xff09;5.数据湖架构6.数据仓库架构 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , s…

Java | Leetcode Java题解之第452题用最少数量的箭引爆气球

题目&#xff1a; 题解&#xff1a; class Solution {public int findMinArrowShots(int[][] points) {if (points.length 0) {return 0;}Arrays.sort(points, new Comparator<int[]>() {public int compare(int[] point1, int[] point2) {if (point1[1] > point2[1…

微软官网列出了 Windows 11 LTSC 2024 中的全部新功能

今天早些时候&#xff0c;微软发布了有关受托管PC的Windows 11 24H2 升级和兼容性的详细信息。 该帖子针对的是负责在各自办公室和组织中处理系统的 IT 系统管理员。与此同时&#xff0c;微软也发布了有关 Windows 11 LTSC 或长期服务渠道的信息。 该公司已于四月早些时候证实…

yolov10+strongsort的目标跟踪实现

此次yolov10deepsort不论是准确率还是稳定性&#xff0c;再次超越了之前的yolodeepsort系列。 yolov10介绍——实时端到端物体检测 YOLOv10 是清华大学研究人员在 UltralyticsPython 清华大学的研究人员在 YOLOv10软件包的基础上&#xff0c;引入了一种新的实时目标检测…

Java 异常一口气讲完!(_ _)。゜zzZ

Java 异常处理 Java面向对象设计 - Java异常处理 异常是在没有定义正常执行路径时在Java程序的执行期间可能出现的条件。 Java通过将执行操作的代码与处理错误的代码分离来处理错误。 当发生异常时&#xff0c;Java会创建一个包含有关异常的所有信息的对象&#xff0c;并将其…

HTML增加文本复制模块(使用户快速复制内容到剪贴板)

增加复制模块主要是为了方便用户快速复制内容到剪贴板&#xff0c;通常在需要提供文本信息可以便捷复制的网页设计或应用程序中常见。以下是为文本内容添加复制按钮的一个简单实现步骤&#xff1a; HTML结构&#xff1a; 在文本旁边添加一个复制按钮&#xff0c;例如 <butto…

蘑菇分类检测数据集 21类蘑菇 8800张 带标注 voc yolo

蘑菇分类检测数据集 21类蘑菇 8800张 带标注 v 蘑菇分类检测数据集 21类蘑菇 8800张 带标注 voc yolo 蘑菇分类检测数据集介绍 数据集名称 蘑菇分类检测数据集 (Mushroom Classification and Detection Dataset) 数据集概述 该数据集专为训练和评估基于YOLO系列目标检测模型…

管理方法(12)-- 采购管理

采购人员不是在为公司讨价还价,而是在为顾客讨价还价,我们应该为顾客争取最低的价钱。-----山姆 沃尔顿 沃尔玛的创始人。 1. 采购的定义和原则 5R原则:适时(Right Time)、适质(Right Quality)、适量(Right Quantity)、适价(Right Price)、适地(Right Place)。…