<kubernetes_sd_config>

Kubernetes SD 配置允许从Kubernetes 的REST API 中检索刮擦目标,并且始终与群集状态保持同步。

可以配置以下类型之一来发现目标:role

node

该角色发现每个群集节点的一个目标,该地址默认为 Kubelet 的 HTTP 端口。目标地址默认为地址类型顺序 、和 中的 Kubernetes 节点对象的第一个现有地址。node``NodeInternalIP``NodeExternalIP``NodeLegacyHostIP``NodeHostName

可用的元标签:

  • __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>:每个节点地址类型的第一个地址(如果存在)。

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

service

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

可用的元标签:

  • __meta_kubernetes_namespace:服务对象的名称空间。
  • __meta_kubernetes_service_annotation_<annotationname>:服务对象的每个注释。
  • __meta_kubernetes_service_annotationpresent_<annotationname>:服务对象的每个注释的"true"。
  • __meta_kubernetes_service_cluster_ip:服务的群集 IP 地址。(不适用于外部名称类型的服务)
  • __meta_kubernetes_service_external_name:服务的 DNS 名称。(适用于外部名称类型的服务)
  • __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:目标的服务端口的协议。
  • __meta_kubernetes_service_type:服务的类型。
pod

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

可用的元标签:

  • __meta_kubernetes_namespace:窗格对象的名称空间。
  • __meta_kubernetes_pod_name:窗格对象的名称。
  • __meta_kubernetes_pod_ip:窗格对象的窗格 IP。
  • __meta_kubernetes_pod_label_<labelname>:来自窗格对象的每个标签。
  • __meta_kubernetes_pod_labelpresent_<labelname>:对于来自 pod 对象的每个标签。true
  • __meta_kubernetes_pod_annotation_<annotationname>:来自窗格对象的每个注释。
  • __meta_kubernetes_pod_annotationpresent_<annotationname>:对于来自 pod 对象的每个注释。true
  • __meta_kubernetes_pod_container_init: 如果容器是InitContainertrue
  • __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
  • __meta_kubernetes_pod_phase:设置为 、 或在生命周期Pending``Running``Succeeded``Failed``Unknown
  • __meta_kubernetes_pod_node_name:计划到的节点的名称。
  • __meta_kubernetes_pod_host_ip:pod 对象的当前主机 IP。
  • __meta_kubernetes_pod_uid:窗格对象的 UID。
  • __meta_kubernetes_pod_controller_kind:对象类的窗格控制器。
  • __meta_kubernetes_pod_controller_name: 窗格控制器的名称。
endpoints

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

可用的元标签:

  • __meta_kubernetes_namespace:终结点对象的命名空间。
  • __meta_kubernetes_endpoints_name:终结点对象的名称。
  • 对于直接从终结点列表中发现的所有目标(未从基础窗格推断的目标),将附加以下标签:
    • __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
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: 如果设置了 TLS 配置,则协议入口方案。默认值为 。https``http
  • __meta_kubernetes_ingress_path: 来自入口规格的路径。默认值为 。/
Logo

开源、云原生的融合云平台

更多推荐