kubernetes sd configs配置详解

news/2024/10/17 8:17:23/

1.基于Kubernetes的服务发现

kubernetes_sd_config 这个是以角色(role)来定义收集的,Kubernetes SD配置允许从Kubernetes的RESTAPI中检索scrape目标,并始终与群集状态保持同步。
凡<role>必须是endpoints,service,pod,node,或ingress。


2.Role可配置的发现目标


2.1.node

nodenode角色发现每个群集节点有一个目标,其地址默认为Kubelet的HTTP端口。 目标地址默认为NodeInternalIP,NodeExternalIP,NodeLegacyHostIP和NodeHostName的地址类型顺序中Kubernetes节点对象的第一个现有地址。
可用元标签:

    __meta_kubernetes_node_name:节点对象的名称。

    __meta_kubernetes_node_label_<labelname>:节点对象中的每个标签。

    __meta_kubernetes_node_labelpresent_<labelname>:true对于节点对象中的每个标签。

    __meta_kubernetes_node_annotation_<annotationname>:来自节点对象的每个注释。

    __meta_kubernetes_node_annotationpresent_<annotationname>:true对于节点对象中的每个注释。

    __meta_kubernetes_node_address_<address_type>:每个节点地址类型的第一个地址(如果存在)。

此外,instance节点的标签将设置为从API服务器检索的节点名称。


2.2.service

该service角色为每个服务发现每个服务端口的目标。这对于服务的黑盒监控通常很有用。该地址将设置为服务的Kubernetes DNS名称和相应的服务端口。

可用元标签:

    __meta_kubernetes_namespace:服务对象的命名空间。

    __meta_kubernetes_service_annotation_<annotationname>:来自服务对象的每个注释。

    __meta_kubernetes_service_annotationpresent_<annotationname>:“true”表示服务对象的每个注释。

    __meta_kubernetes_service_cluster_ip:服务的群集IP地址。(不适用于ExternalName类型的服务)

    __meta_kubernetes_service_external_name:服务的DNS名称。(适用于ExternalName类型的服务)

    __meta_kubernetes_service_label_<labelname>:来自服务对象的每个标签。

    __meta_kubernetes_service_labelpresent_<labelname>:true对于服务对象的每个标签。

    __meta_kubernetes_service_name:服务对象的名称。

    __meta_kubernetes_service_port_name:目标服务端口的名称。

    __meta_kubernetes_service_port_protocol:目标服务端口的协议。

2.3.pod

该pod角色发现所有pod并将其容器公开为目标。对于容器的每个声明端口,将生成单个目标。如果容器没有指定端口,则会创建每个容器的无端口目标,以通过重新标记手动添加端口。

可用元标签:

    __meta_kubernetes_namespace:pod对象的命名空间。

    __meta_kubernetes_pod_name:pod对象的名称。

    __meta_kubernetes_pod_ip:pod对象的pod IP。

    __meta_kubernetes_pod_label_<labelname>:pod对象中的每个标签。

    __meta_kubernetes_pod_labelpresent_<labelname>:true对于pod对象中的每个标签。

    __meta_kubernetes_pod_annotation_<annotationname>:pod对象中的每个注释。

    __meta_kubernetes_pod_annotationpresent_<annotationname>:true对于pod对象中的每个注释。

    __meta_kubernetes_pod_container_init:true如果容器是InitContainer

    __meta_kubernetes_pod_container_name:目标地址指向的容器的名称。

    __meta_kubernetes_pod_container_port_name:容器端口的名称。

    __meta_kubernetes_pod_container_port_number:容器端口号。

    __meta_kubernetes_pod_container_port_protocol:容器端口的协议。

    __meta_kubernetes_pod_ready:设置为true或false准备好pod的就绪状态。

    __meta_kubernetes_pod_phase:设置为Pending,Running,Succeeded,Failed或Unknown在生命周期。

    __meta_kubernetes_pod_node_name:pod安排到的节点的名称。

    __meta_kubernetes_pod_host_ip:pod对象的当前主机IP。

    __meta_kubernetes_pod_uid:pod对象的UID。

    __meta_kubernetes_pod_controller_kind:对象类型的pod控制器。

    __meta_kubernetes_pod_controller_name:pod控制器的名称。

2.4.endpoints

该endpoints角色从列出的服务端点发现目标。对于每个端点地址,每个端口发现一个目标。如果端点由pod支持,则pod的所有其他容器端口(未绑定到端点端口)也会被发现为目标。

可用元标签:

    __meta_kubernetes_namespace:端点对象的命名空间。

    __meta_kubernetes_endpoints_name:端点对象的名称。对于直接从端点列表中发现的所有目标(不是从底层pod中另外推断的那些),附加以下标签:__meta_kubernetes_endpoint_hostname`:端点的主机名。

    __meta_kubernetes_endpoint_node_name:托管端点的节点的名称。

    __meta_kubernetes_endpoint_ready:设置为true或false为端点的就绪状态。

    __meta_kubernetes_endpoint_port_name:端点端口的名称。

    __meta_kubernetes_endpoint_port_protocol:端点端口的协议。

    __meta_kubernetes_endpoint_address_target_kind:端点地址目标的种类。

    __meta_kubernetes_endpoint_address_target_name:端点地址目标的名称

    如果端点属于服务,role: service则附加发现的所有标签。

    对于由pod支持的所有目标,role: pod将附加发现的所有标签。

2.5.ingress

该ingress角色发现了一个目标,为每个进入的每个路径。这通常用于黑盒监控入口。地址将设置为入口规范中指定的主机。

可用元标签`:

    __meta_kubernetes_namespace:入口对象的命名空间。

    __meta_kubernetes_ingress_name:入口对象的名称。

    __meta_kubernetes_ingress_label_<labelname>:入口对象中的每个标签。

    __meta_kubernetes_ingress_labelpresent_<labelname>:true对于入口对象中的每个标签

    __meta_kubernetes_ingress_annotation_<annotationname>:来自入口对象的每个注释。

    __meta_kubernetes_ingress_annotationpresent_<annotationname>:true对于来自入口对象的每个注释。

    __meta_kubernetes_ingress_scheme:入口的协议方案,https如果设置了TLS配置。默认为http。

    __meta_kubernetes_ingress_path:来自入口规范的路径。默认为/
 

3.有关Kubernetes发现的配置选项

The information to access the Kubernetes API.The API server addresses. If left empty, Prometheus is assumed to run insideof the cluster and will discover API servers automatically and use the pod'sCA certificate and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/.API服务器地址。 如果保留为空,则假定Prometheus在集群内部运行并自动发现API服务器,并在/var/run/secrets/kubernetes.io/serviceaccount/上使用pod的CA证书和不记名令牌文件。[ api_server: <host> ]The Kubernetes role of entities that should be discovered.应该被发现的实体的Kubernetes角色。role: <role>Optional authentication information used to authenticate to the API server.Note that `basic_auth`, `bearer_token` and `bearer_token_file` options aremutually exclusive.password and password_file are mutually exclusive.用于向API服务器进行身份验证的可选身份验证信息。请注意,`basic_auth`,`bearer_token`和`bearer_token_file`选项是互斥的.password和password_file是互斥的。Optional HTTP basic authentication information.可选的HTTP基本认证信息。basic_auth:[ username: <string> ][ password: <secret> ][ password_file: <string> ]Optional bearer token authentication information.可选的承载令牌认证信息。[ bearer_token: <secret> ]Optional bearer token file authentication information.可选的承载令牌文件认证信息。[ bearer_token_file: <filename> ]Optional proxy URL.可选的代理URL。[ proxy_url: <string> ]TLS configuration.tls_config:[ <tls_config> ]Optional namespace discovery. If omitted, all namespaces are used.可选命名空间发现 如果省略,则使用所有名称空间。namespaces:names:[ - <string> ]


http://www.ppmy.cn/news/26602.html

相关文章

【论文速递】ACL 2021-CLEVE: 事件抽取的对比预训练

【论文速递】ACL 2021-CLEVE: 事件抽取的对比预训练 【论文原文】&#xff1a;CLEVE: Contrastive Pre-training for Event Extraction 【作者信息】&#xff1a;Wang, Ziqi and Wang, Xiaozhi and Han, Xu and Lin, Yankai and Hou, Lei and Liu, Zhiyuan and Li, Peng and …

october-cms

环境准备 靶机链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;3e4s 虚拟机网络链接模式&#xff1a;桥接模式 攻击机系统&#xff1a;kali linux 2021.1 信息收集 1.探测目标靶机ip。 2.探测靶机开放端口和服务情况。 漏洞探测 1.访问网页 2.用dirsearch扫描…

【C++】模拟map和set以及改造红黑树

文章目录1、set和map的基础用法1.1 set的基本使用1.2 map的基本使用2、set和map的模拟实现2.1 建立map和set类2.1 红黑树的完善1、set和map的基础用法 stl中&#xff0c;像vector、list、deque等这样的容器&#xff0c;称之为序列式容器&#xff0c;其底层是线性序列的数据结构…

RT-Thread SPI使用教程

RT-Thread SPI 使用教程 实验环境使用的是正点原子的潘多拉开发板。 SPI从机设备使用的是BMP280温湿度大气压传感器。 使用RT-Thread Studio搭建基础功能。 1. 创建工程 使用RT-Thread Studio IDE创建芯片级的工程。创建完成后&#xff0c;可以直接编译下载进行测试。 2.…

Java多线程——Thread类的基本用法

一.线程的创建继承Thread类//继承Thread类class MyThread extends Thread{Overridepublic void run() {System.out.println("线程运行的代码");} } public class Demo1 {public static void main(String[] args) {MyThread t new MyThread();t.start();//启动线程&a…

数值方法笔记3:线性和非线性方程组求解

前置知识1&#xff1a;矩阵范数前置知识2&#xff1a;舒尔补前置知识3&#xff1a;可约矩阵前置知识4&#xff1a;谱半径1.【线性方程组】直接求解&#xff1a;高斯消元法(LULULU分解)、LDVLDVLDV分解、LDLTLDL^TLDLT分解、UDUTUDU^TUDUT分解1.1 高斯消元法(LULULU分解)1.2 LDV…

fuzz测试之libfuzzer使用小结

fuzz测试之libfuzzer使用小结背景基本原理使用方法主调DEMO参考资料背景 项目中&#xff0c;为测试算法的鲁棒性&#xff0c;经常会用到fuzz测试进行压力测试。fuzz测试是一种模糊测试方法&#xff0c;本质是通过灌入各种变异的随机数据&#xff0c;去遍历不同函数分支&#xf…

简洁易用的记账小程序——微点记账

背景 由于每个月的信用卡账单太过吓人&#xff0c;记性也不是特别的好&#xff0c;加上微信支付宝账单中有些明细不是很明确。比如在京东花销的明细不会记录用户购买了什么&#xff0c;只会记录那个通道支出的。所以&#xff0c;才会有了想自己开发一款记账小程序&#xff0c;…