×

FlowCollector 是网络流量收集 API 的模式,它引导和配置底层部署。

FlowCollector API 规范

描述

FlowCollector 是网络流量收集 API 的模式,它引导和配置底层部署。

类型

对象

属性 类型 描述

apiVersion

字符串

APIVersion 定义了此对象表示的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可能会从客户端提交请求的端点推断出这一点。不能更新。采用驼峰命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

对象

标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

对象

定义 FlowCollector 资源的期望状态。

*: 本文档中对功能的“不受支持”或“已弃用”的提及意味着 Red Hat 不正式支持此功能。例如,它可能是由社区贡献并接受的,但没有正式的维护协议。产品维护人员可能会尽最大努力为这些功能提供一些支持。

.metadata

描述
类型

对象

.spec

描述

定义 FlowCollector 资源的期望状态。

*: 本文档中对功能的“不受支持”或“已弃用”的提及意味着 Red Hat 不正式支持此功能。例如,它可能是由社区贡献并接受的,但没有正式的维护协议。产品维护人员可能会尽最大努力为这些功能提供一些支持。

类型

对象

属性 类型 描述

agent

对象

流量提取的代理配置。

consolePlugin

对象

consolePlugin 定义了与 OpenShift Container Platform Console 插件相关的设置(如果可用)。

deploymentModel

字符串

deploymentModel 定义了流量处理的期望部署类型。可能的值为:

- Direct(默认)使流量处理器直接监听来自代理的流量。

- Kafka 使流量在被处理器消费之前发送到 Kafka 管道。

Kafka 可以提供更好的可扩展性、弹性和高可用性(更多详情,请参见 https://www.redhat.com/en/topics/integration/what-is-apache-kafka)。

exporters

数组

exporters 定义了用于自定义使用或存储的附加可选导出器。

kafka

对象

Kafka 配置,允许将 Kafka 用作流量收集管道的一部分的代理。当 spec.deploymentModelKafka 时可用。

loki

对象

loki,流量存储,客户端设置。

namespace

字符串

部署网络可观测性 Pod 的命名空间。

networkPolicy

对象

networkPolicy 定义网络可观测性组件隔离的入口网络策略设置。

processor

对象

processor 定义接收来自代理的流量、对其进行丰富、生成指标并将其转发到 Loki 持久层和/或任何可用导出器的组件的设置。

prometheus

对象

prometheus 定义 Prometheus 设置,例如用于从控制台插件获取指标的查询器配置。

.spec.agent

描述

流量提取的代理配置。

类型

对象

属性 类型 描述

ebpf

对象

spec.agent.type 设置为 eBPF 时,ebpf 描述了与基于 eBPF 的流量报告程序相关的设置。

type

字符串

type [已弃用 (*)] 选择流量跟踪代理。以前,此字段允许在 eBPFIPFIX 之间进行选择。现在只允许 eBPF,因此此字段已弃用,并计划在 API 的未来版本中删除。

.spec.agent.ebpf

描述

spec.agent.type 设置为 eBPF 时,ebpf 描述了与基于 eBPF 的流量报告程序相关的设置。

类型

对象

属性 类型 描述

advanced

对象

advanced 允许设置 eBPF 代理内部配置的某些方面。此部分主要用于调试和细粒度的性能优化,例如 GOGCGOMAXPROCS 环境变量。自行承担使用这些值的风险。

cacheActiveTimeout

字符串

cacheActiveTimeout 指的是报告器在发送聚合流量之前的最大等待时间。增加cacheMaxFlowscacheActiveTimeout 可以减少网络流量开销和 CPU 负载,但是会增加内存消耗和流量收集延迟。

cacheMaxFlows

整数

cacheMaxFlows 指的是聚合中最大流量数;达到此数量后,报告器会发送这些流量。增加cacheMaxFlowscacheActiveTimeout 可以减少网络流量开销和 CPU 负载,但是会增加内存消耗和流量收集延迟。

excludeInterfaces

数组 (字符串)

excludeInterfaces 包含从流量跟踪中排除的接口名称。用斜杠括起来的条目,例如/br-/,将作为正则表达式匹配。否则,它将作为区分大小写的字符串匹配。

features

数组 (字符串)

要启用的附加功能列表。默认情况下,所有功能都处于禁用状态。启用附加功能可能会影响性能。可能的值为:

- PacketDrop:启用数据包丢弃流量日志记录功能。此功能需要挂载内核调试文件系统,因此 eBPF 代理 Pod 必须以特权模式运行。如果未设置spec.agent.ebpf.privileged参数,则会报告错误。

- DNSTracking:启用 DNS 追踪功能。

- FlowRTT:在 eBPF 代理中启用从 TCP 流量中提取流量延迟 (sRTT) 的功能。

- NetworkEvents:启用网络事件监控功能,例如关联流量和网络策略。此功能需要挂载内核调试文件系统,因此 eBPF 代理 Pod 必须以特权模式运行。它需要使用具有可观察性功能的 OVN-Kubernetes 网络插件。重要提示:此功能作为开发者预览版提供。

flowFilter

对象

flowFilter 定义了关于流量过滤的 eBPF 代理配置。

imagePullPolicy

字符串

imagePullPolicy 是上面定义的镜像的 Kubernetes 拉取策略。

interfaces

数组 (字符串)

interfaces 包含收集流量的接口名称。如果为空,则代理会获取系统中的所有接口,但excludeInterfaces中列出的接口除外。用斜杠括起来的条目,例如/br-/,将作为正则表达式匹配。否则,它将作为区分大小写的字符串匹配。

kafkaBatchSize

整数

kafkaBatchSize 限制发送到分区的请求的最大大小(以字节为单位)。在不使用 Kafka 时忽略。默认值:1MB。

logLevel

字符串

logLevel 定义网络可观察性 eBPF 代理的日志级别。

metrics

对象

metrics 定义了关于指标的 eBPF 代理配置。

privileged

布尔值

eBPF 代理容器的特权模式。忽略或设置为false时,操作员会将细粒度的功能(BPF、PERFMON、NET_ADMIN、SYS_RESOURCE)设置为容器。如果由于某种原因无法设置这些功能(例如,如果使用了不知道 CAP_BPF 的旧内核版本),则可以启用此模式以获得更全局的特权。某些代理功能需要特权模式,例如数据包丢弃跟踪 (请参见features) 和 SR-IOV 支持。

resources

对象

resources 是此容器所需的计算资源。更多信息,请参见 https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

sampling

整数

流量报告器的采样率。100 表示每 100 个流量发送一个。0 或 1 表示对所有流量进行采样。

.spec.agent.ebpf.advanced

描述

advanced 允许设置 eBPF 代理内部配置的某些方面。此部分主要用于调试和细粒度的性能优化,例如 GOGCGOMAXPROCS 环境变量。自行承担使用这些值的风险。

类型

对象

属性 类型 描述

env

对象 (字符串)

env 允许将自定义环境变量传递给底层组件。这对于传递一些非常具体的性能调整选项很有用,例如GOGCGOMAXPROCS,这些选项不应作为 FlowCollector 描述符的一部分公开,因为它们仅在边缘调试或支持场景中才有用。

scheduling

对象

scheduling 控制 pod 如何在节点上调度。

.spec.agent.ebpf.advanced.scheduling

描述

scheduling 控制 pod 如何在节点上调度。

类型

对象

属性 类型 描述

affinity

对象

如果指定,则为 pod 的调度约束。有关文档,请参阅 https://kubernetes.ac.cn/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling

nodeSelector

对象 (字符串)

nodeSelector 允许仅将 pod 调度到具有每个指定标签的节点上。有关文档,请参阅 https://kubernetes.ac.cn/docs/concepts/configuration/assign-pod-node/

priorityClassName

字符串

如果指定,则表示 pod 的优先级。有关文档,请参阅 https://kubernetes.ac.cn/docs/concepts/scheduling-eviction/pod-priority-preemption/#how-to-use-priority-and-preemption。如果未指定,则使用默认优先级,如果没有默认优先级则为零。

tolerations

数组

tolerations 是容忍度列表,允许 pod 调度到具有匹配污点的节点上。有关文档,请参阅 https://kubernetes.ac.cn/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling

.spec.agent.ebpf.advanced.scheduling.affinity

描述

如果指定,则为 pod 的调度约束。有关文档,请参阅 https://kubernetes.ac.cn/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling

类型

对象

.spec.agent.ebpf.advanced.scheduling.tolerations

描述

tolerations 是容忍度列表,允许 pod 调度到具有匹配污点的节点上。有关文档,请参阅 https://kubernetes.ac.cn/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling

类型

数组

.spec.agent.ebpf.flowFilter

描述

flowFilter 定义了关于流量过滤的 eBPF 代理配置。

类型

对象

属性 类型 描述

action

字符串

action 定义对匹配过滤器的流量执行的操作。可用选项为Accept(默认为接受)和Reject(拒绝)。

cidr

字符串

cidr 定义用于按 IP CIDR 过滤流量。示例:10.10.10.0/24100:100:100:100::/64

destPorts

整数或字符串

destPorts 可选地定义用于按目标端口过滤流量。要过滤单个端口,请设置单个端口作为整数值。例如,destPorts: 80。要过滤端口范围,请使用字符串格式的“起始-结束”范围。例如,destPorts: "80-100"。要过滤两个端口,请使用字符串格式的“port1,port2”。例如,ports: "80,100"

direction

字符串

direction 可选地定义用于按方向过滤流量。可用选项为Ingress(入站)和Egress(出站)。

enable

布尔值

enable设置为true以启用 eBPF 流量过滤功能。

icmpCode

整数

对于互联网控制报文协议 (ICMP) 流量,icmpCode 可选地定义用于按 ICMP 代码过滤流量。

icmpType

整数

对于 ICMP 流量,icmpType 可选地定义用于按 ICMP 类型过滤流量。

peerIP

字符串

peerIP 可选地定义用于按远程 IP 地址过滤流量。示例:10.10.10.10

pktDrops

布尔值

pktDrops 可选地仅过滤包含数据包丢弃的流量。

ports

整数或字符串

ports 可选地定义用于按端口过滤流量。它同时用于源端口和目标端口。要过滤单个端口,请设置单个端口作为整数值。例如,ports: 80。要过滤端口范围,请使用字符串格式的“起始-结束”范围。例如,ports: "80-100"。要过滤两个端口,请使用字符串格式的“port1,port2”。例如,ports: "80,100"

protocol

字符串

protocol 可选参数,用于按协议过滤流。可用选项包括 TCPUDPICMPICMPv6SCTP

sourcePorts

整数或字符串

sourcePorts 可选参数,用于按源端口过滤流。要过滤单个端口,请设置单个端口的整数值,例如 sourcePorts: 80。要过滤端口范围,请使用字符串格式的“起始-结束”范围,例如 sourcePorts: "80-100"。要过滤两个端口,请使用字符串格式的“port1,port2”,例如 ports: "80,100"

tcpFlags

字符串

tcpFlags 可选参数,用于按 TCP 标志过滤流。除了标准标志 (RFC-9293) 外,还可以按以下三种组合之一进行过滤:SYN-ACKFIN-ACKRST-ACK

.spec.agent.ebpf.metrics

描述

metrics 定义了关于指标的 eBPF 代理配置。

类型

对象

属性 类型 描述

disableAlerts

数组 (字符串)

disableAlerts 是一个应禁用的警报列表。可能的取值包括:

NetObservDroppedFlows,当 eBPF 代理丢失数据包或流时触发,例如 BPF 哈希映射繁忙或已满,或容量限制器被触发时。

enable

布尔值

enable 设置为 false 可禁用 eBPF 代理指标收集。默认情况下启用。

server

对象

Prometheus scraper 的指标服务器端点配置。

.spec.agent.ebpf.metrics.server

描述

Prometheus scraper 的指标服务器端点配置。

类型

对象

属性 类型 描述

port

整数

指标服务器 HTTP 端口。

tls

对象

TLS 配置。

.spec.agent.ebpf.metrics.server.tls

描述

TLS 配置。

类型

对象

必需
  • type

属性 类型 描述

insecureSkipVerify

布尔值

insecureSkipVerify 允许跳过客户端对提供的证书的验证。如果设置为 true,则忽略 providedCaFile 字段。

provided

对象

type 设置为 Provided 时的 TLS 配置。

providedCaFile

对象

type 设置为 Provided 时,CA 文件的引用。

type

字符串

选择 TLS 配置的类型

- Disabled(默认)表示不为端点配置 TLS。- Provided 表示手动提供证书文件和密钥文件。(不支持 (*))- Auto 表示使用 OpenShift Container Platform 使用注释自动生成的证书。

.spec.agent.ebpf.metrics.server.tls.provided

描述

type 设置为 Provided 时的 TLS 配置。

类型

对象

属性 类型 描述

certFile

字符串

certFile 定义证书文件名在 config map 或 secret 中的路径。

certKey

字符串

certKey 定义证书私钥文件名在 config map 或 secret 中的路径。如果密钥不需要,则可以省略。

name

字符串

包含证书的 config map 或 secret 的名称。

namespace

字符串

包含证书的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

证书引用的类型:configmapsecret

.spec.agent.ebpf.metrics.server.tls.providedCaFile

描述

type 设置为 Provided 时,CA 文件的引用。

类型

对象

属性 类型 描述

file

字符串

config map 或 secret 中的文件名。

name

字符串

包含文件的 config map 或 secret 的名称。

namespace

字符串

包含文件的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

文件的引用类型:configmapsecret

.spec.agent.ebpf.resources

描述

resources 是此容器所需的计算资源。更多信息,请参见 https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

类型

对象

属性 类型 描述

limits

整数或字符串

Limits 描述了允许的最大计算资源量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

requests

整数或字符串

Requests 描述了所需的最小计算资源量。如果容器省略了 Requests,则默认为 Limits(如果明确指定),否则为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

.spec.consolePlugin

描述

consolePlugin 定义了与 OpenShift Container Platform Console 插件相关的设置(如果可用)。

类型

对象

属性 类型 描述

advanced

对象

advanced 允许设置控制台插件内部配置的某些方面。此部分主要针对调试和细粒度的性能优化,例如 GOGCGOMAXPROCS 环境变量。自行承担设置这些值的风险。

autoscaler

对象

插件部署要设置的水平 Pod 自动缩放器的 autoscaler 规范。请参考 HorizontalPodAutoscaler 文档 (autoscaling/v2)。

enable

布尔值

启用控制台插件部署。

imagePullPolicy

字符串

imagePullPolicy 是上面定义的镜像的 Kubernetes 拉取策略。

logLevel

字符串

控制台插件后端的 logLevel

portNaming

对象

portNaming 定义端口到服务名称转换的配置

quickFilters

数组

quickFilters 为控制台插件配置快速过滤器预设

replicas

整数

replicas 定义要启动的副本(Pod)数量。

resources

对象

此容器所需的计算资源 resources。更多信息,请参见 https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

.spec.consolePlugin.advanced

描述

advanced 允许设置控制台插件内部配置的某些方面。此部分主要针对调试和细粒度的性能优化,例如 GOGCGOMAXPROCS 环境变量。自行承担设置这些值的风险。

类型

对象

属性 类型 描述

args

数组 (字符串)

args 允许向底层组件传递自定义参数。这对于覆盖某些参数很有用,例如 URL 或配置路径,这些参数不应作为 FlowCollector 描述符的一部分公开,因为它们仅在边缘调试或支持场景中有用。

env

对象 (字符串)

env 允许将自定义环境变量传递给底层组件。这对于传递一些非常具体的性能调整选项很有用,例如GOGCGOMAXPROCS,这些选项不应作为 FlowCollector 描述符的一部分公开,因为它们仅在边缘调试或支持场景中才有用。

port

整数

port 是插件服务端口。请勿使用 9002,该端口保留用于指标。

register

布尔值

当设置为 true 时,register 允许自动将提供的控制台插件注册到 OpenShift Container Platform 控制台操作员。如果设置为 false,您仍然可以通过编辑 console.operator.openshift.io/cluster 并使用以下命令手动注册它:oc patch console.operator.openshift.io cluster --type='json' -p '[{"op": "add", "path": "/spec/plugins/-", "value": "netobserv-plugin"}]'

scheduling

对象

scheduling 控制 Pod 如何在节点上调度。

.spec.consolePlugin.advanced.scheduling

描述

scheduling 控制 Pod 如何在节点上调度。

类型

对象

属性 类型 描述

affinity

对象

如果指定,则为 pod 的调度约束。有关文档,请参阅 https://kubernetes.ac.cn/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling

nodeSelector

对象 (字符串)

nodeSelector 允许仅将 pod 调度到具有每个指定标签的节点上。有关文档,请参阅 https://kubernetes.ac.cn/docs/concepts/configuration/assign-pod-node/

priorityClassName

字符串

如果指定,则表示 pod 的优先级。有关文档,请参阅 https://kubernetes.ac.cn/docs/concepts/scheduling-eviction/pod-priority-preemption/#how-to-use-priority-and-preemption。如果未指定,则使用默认优先级,如果没有默认优先级则为零。

tolerations

数组

tolerations 是容忍度列表,允许 pod 调度到具有匹配污点的节点上。有关文档,请参阅 https://kubernetes.ac.cn/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling

.spec.consolePlugin.advanced.scheduling.affinity

描述

如果指定,则为 pod 的调度约束。有关文档,请参阅 https://kubernetes.ac.cn/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling

类型

对象

.spec.consolePlugin.advanced.scheduling.tolerations

描述

tolerations 是容忍度列表,允许 pod 调度到具有匹配污点的节点上。有关文档,请参阅 https://kubernetes.ac.cn/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling

类型

数组

.spec.consolePlugin.autoscaler

描述

插件部署要设置的水平 Pod 自动缩放器的 autoscaler 规范。请参考 HorizontalPodAutoscaler 文档 (autoscaling/v2)。

类型

对象

.spec.consolePlugin.portNaming

描述

portNaming 定义端口到服务名称转换的配置

类型

对象

属性 类型 描述

enable

布尔值

启用控制台插件端口到服务名称转换

portNames

对象 (字符串)

portNames 定义在控制台中使用的其他端口名称,例如,portNames: {"3100": "loki"}

.spec.consolePlugin.quickFilters

描述

quickFilters 为控制台插件配置快速过滤器预设

类型

数组

.spec.consolePlugin.quickFilters[]

描述

QuickFilter 定义控制台快速过滤器的预设配置

类型

对象

必需
  • 过滤器

  • name

属性 类型 描述

默认

布尔值

default 定义此过滤器是否默认启用。

过滤器

对象 (字符串)

filter 是一组键值对,在选择此过滤器时会被设置。每个键都可以通过逗号分隔的字符串关联多个值,例如,filter: {"src_namespace": "namespace1,namespace2"}

name

字符串

在控制台中显示的过滤器名称。

.spec.consolePlugin.resources

描述

此容器所需的计算资源 resources。更多信息,请参见 https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

类型

对象

属性 类型 描述

limits

整数或字符串

Limits 描述了允许的最大计算资源量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

requests

整数或字符串

Requests 描述了所需的最小计算资源量。如果容器省略了 Requests,则默认为 Limits(如果明确指定),否则为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

.spec.exporters

描述

exporters 定义了用于自定义使用或存储的附加可选导出器。

类型

数组

.spec.exporters[]

描述

FlowCollectorExporter 定义一个额外的导出器,用于发送增强的流量。

类型

对象

必需
  • type

属性 类型 描述

ipfix

对象

IPFIX 配置,例如发送增强的 IPFIX 流量的 IP 地址和端口。

kafka

对象

Kafka 配置,例如发送增强流量的地址和主题。

openTelemetry

对象

OpenTelemetry 配置,例如发送增强日志或指标的 IP 地址和端口。

type

字符串

type 选择导出器的类型。可用的选项包括 KafkaIPFIXOpenTelemetry

.spec.exporters[].ipfix

描述

IPFIX 配置,例如发送增强的 IPFIX 流量的 IP 地址和端口。

类型

对象

必需
  • 目标主机

  • 目标端口

属性 类型 描述

目标主机

字符串

IPFIX 外部接收器的地址。

目标端口

整数

IPFIX 外部接收器的端口。

传输协议

字符串

IPFIX 连接使用的传输协议 (TCPUDP),默认为 TCP

.spec.exporters[].kafka

描述

Kafka 配置,例如发送增强流量的地址和主题。

类型

对象

必需
  • 地址

  • 主题

属性 类型 描述

地址

字符串

Kafka 服务器的地址

sasl

对象

SASL 身份验证配置。[不支持 (*) ]。

tls

对象

TLS 客户端配置。使用 TLS 时,请验证地址与 Kafka 用于 TLS 的端口匹配,通常为 9093。

主题

字符串

要使用的 Kafka 主题。主题必须已存在,网络可观测性不会创建它。

.spec.exporters[].kafka.sasl

描述

SASL 身份验证配置。[不支持 (*) ]。

类型

对象

属性 类型 描述

clientIDReference

对象

包含客户端 ID 的密钥或配置映射的引用。

clientSecretReference

对象

包含客户端密钥的密钥或配置映射的引用。

type

字符串

要使用的 SASL 身份验证类型,如果未使用 SASL,则为 Disabled

.spec.exporters[].kafka.sasl.clientIDReference

描述

包含客户端 ID 的密钥或配置映射的引用。

类型

对象

属性 类型 描述

file

字符串

config map 或 secret 中的文件名。

name

字符串

包含文件的 config map 或 secret 的名称。

namespace

字符串

包含文件的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

文件的引用类型:configmapsecret

.spec.exporters[].kafka.sasl.clientSecretReference

描述

包含客户端密钥的密钥或配置映射的引用。

类型

对象

属性 类型 描述

file

字符串

config map 或 secret 中的文件名。

name

字符串

包含文件的 config map 或 secret 的名称。

namespace

字符串

包含文件的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

文件的引用类型:configmapsecret

.spec.exporters[].kafka.tls

描述

TLS 客户端配置。使用 TLS 时,请验证地址与 Kafka 用于 TLS 的端口匹配,通常为 9093。

类型

对象

属性 类型 描述

caCert

对象

caCert 定义证书颁发机构证书的引用。

enable

布尔值

启用 TLS

insecureSkipVerify

布尔值

insecureSkipVerify 允许跳过服务器证书的客户端验证。如果设置为 true,则忽略 caCert 字段。

userCert

对象

userCert 定义用户证书引用,用于 mTLS。当您使用单向 TLS 时,可以忽略此属性。

.spec.exporters[].kafka.tls.caCert

描述

caCert 定义证书颁发机构证书的引用。

类型

对象

属性 类型 描述

certFile

字符串

certFile 定义证书文件名在 config map 或 secret 中的路径。

certKey

字符串

certKey 定义证书私钥文件名在 config map 或 secret 中的路径。如果密钥不需要,则可以省略。

name

字符串

包含证书的 config map 或 secret 的名称。

namespace

字符串

包含证书的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

证书引用的类型:configmapsecret

.spec.exporters[].kafka.tls.userCert

描述

userCert 定义用户证书引用,用于 mTLS。当您使用单向 TLS 时,可以忽略此属性。

类型

对象

属性 类型 描述

certFile

字符串

certFile 定义证书文件名在 config map 或 secret 中的路径。

certKey

字符串

certKey 定义证书私钥文件名在 config map 或 secret 中的路径。如果密钥不需要,则可以省略。

name

字符串

包含证书的 config map 或 secret 的名称。

namespace

字符串

包含证书的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

证书引用的类型:configmapsecret

.spec.exporters[].openTelemetry

描述

OpenTelemetry 配置,例如发送增强日志或指标的 IP 地址和端口。

类型

对象

必需
  • 目标主机

  • 目标端口

属性 类型 描述

fieldsMapping

数组

自定义字段映射到符合 OpenTelemetry 格式。默认情况下,使用网络可观测性格式建议:https://github.com/rhobs/observability-data-model/blob/main/network-observability.md#format-proposal。由于目前没有被接受的 L3 或 L4 增强网络日志标准,您可以随意使用自己的标准覆盖它。

headers

对象 (字符串)

要添加到消息的标头(可选)

logs

对象

OpenTelemetry 日志配置。

metrics

对象

OpenTelemetry 指标配置。

protocol

字符串

OpenTelemetry 连接协议。可用的选项包括 httpgrpc

目标主机

字符串

OpenTelemetry 接收器的地址。

目标端口

整数

OpenTelemetry 接收器的端口。

tls

对象

TLS 客户端配置。

.spec.exporters[].openTelemetry.fieldsMapping

描述

自定义字段映射到符合 OpenTelemetry 格式。默认情况下,使用网络可观测性格式建议:https://github.com/rhobs/observability-data-model/blob/main/network-observability.md#format-proposal。由于目前没有被接受的 L3 或 L4 增强网络日志标准,您可以随意使用自己的标准覆盖它。

类型

数组

.spec.exporters[].openTelemetry.fieldsMapping[]

描述
类型

对象

属性 类型 描述

输入

字符串

乘数

整数

输出

字符串

.spec.exporters[].openTelemetry.logs

描述

OpenTelemetry 日志配置。

类型

对象

属性 类型 描述

enable

布尔值

enable 设置为 true 以将日志发送到 OpenTelemetry 接收器。

.spec.exporters[].openTelemetry.metrics

描述

OpenTelemetry 指标配置。

类型

对象

属性 类型 描述

enable

布尔值

enable 设置为 true 以将指标发送到 OpenTelemetry 接收器。

pushTimeInterval

字符串

指定向收集器发送指标的频率。

.spec.exporters[].openTelemetry.tls

描述

TLS 客户端配置。

类型

对象

属性 类型 描述

caCert

对象

caCert 定义证书颁发机构证书的引用。

enable

布尔值

启用 TLS

insecureSkipVerify

布尔值

insecureSkipVerify 允许跳过服务器证书的客户端验证。如果设置为 true,则忽略 caCert 字段。

userCert

对象

userCert 定义用户证书引用,用于 mTLS。当您使用单向 TLS 时,可以忽略此属性。

.spec.exporters[].openTelemetry.tls.caCert

描述

caCert 定义证书颁发机构证书的引用。

类型

对象

属性 类型 描述

certFile

字符串

certFile 定义证书文件名在 config map 或 secret 中的路径。

certKey

字符串

certKey 定义证书私钥文件名在 config map 或 secret 中的路径。如果密钥不需要,则可以省略。

name

字符串

包含证书的 config map 或 secret 的名称。

namespace

字符串

包含证书的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

证书引用的类型:configmapsecret

.spec.exporters[].openTelemetry.tls.userCert

描述

userCert 定义用户证书引用,用于 mTLS。当您使用单向 TLS 时,可以忽略此属性。

类型

对象

属性 类型 描述

certFile

字符串

certFile 定义证书文件名在 config map 或 secret 中的路径。

certKey

字符串

certKey 定义证书私钥文件名在 config map 或 secret 中的路径。如果密钥不需要,则可以省略。

name

字符串

包含证书的 config map 或 secret 的名称。

namespace

字符串

包含证书的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

证书引用的类型:configmapsecret

.spec.kafka

描述

Kafka 配置,允许将 Kafka 用作流量收集管道的一部分的代理。当 spec.deploymentModelKafka 时可用。

类型

对象

必需
  • 地址

  • 主题

属性 类型 描述

地址

字符串

Kafka 服务器的地址

sasl

对象

SASL 身份验证配置。[不支持 (*) ]。

tls

对象

TLS 客户端配置。使用 TLS 时,请验证地址与 Kafka 用于 TLS 的端口匹配,通常为 9093。

主题

字符串

要使用的 Kafka 主题。主题必须已存在,网络可观测性不会创建它。

.spec.kafka.sasl

描述

SASL 身份验证配置。[不支持 (*) ]。

类型

对象

属性 类型 描述

clientIDReference

对象

包含客户端 ID 的密钥或配置映射的引用。

clientSecretReference

对象

包含客户端密钥的密钥或配置映射的引用。

type

字符串

要使用的 SASL 身份验证类型,如果未使用 SASL,则为 Disabled

.spec.kafka.sasl.clientIDReference

描述

包含客户端 ID 的密钥或配置映射的引用。

类型

对象

属性 类型 描述

file

字符串

config map 或 secret 中的文件名。

name

字符串

包含文件的 config map 或 secret 的名称。

namespace

字符串

包含文件的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

文件的引用类型:configmapsecret

.spec.kafka.sasl.clientSecretReference

描述

包含客户端密钥的密钥或配置映射的引用。

类型

对象

属性 类型 描述

file

字符串

config map 或 secret 中的文件名。

name

字符串

包含文件的 config map 或 secret 的名称。

namespace

字符串

包含文件的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

文件的引用类型:configmapsecret

.spec.kafka.tls

描述

TLS 客户端配置。使用 TLS 时,请验证地址与 Kafka 用于 TLS 的端口匹配,通常为 9093。

类型

对象

属性 类型 描述

caCert

对象

caCert 定义证书颁发机构证书的引用。

enable

布尔值

启用 TLS

insecureSkipVerify

布尔值

insecureSkipVerify 允许跳过服务器证书的客户端验证。如果设置为 true,则忽略 caCert 字段。

userCert

对象

userCert 定义用户证书引用,用于 mTLS。当您使用单向 TLS 时,可以忽略此属性。

.spec.kafka.tls.caCert

描述

caCert 定义证书颁发机构证书的引用。

类型

对象

属性 类型 描述

certFile

字符串

certFile 定义证书文件名在 config map 或 secret 中的路径。

certKey

字符串

certKey 定义证书私钥文件名在 config map 或 secret 中的路径。如果密钥不需要,则可以省略。

name

字符串

包含证书的 config map 或 secret 的名称。

namespace

字符串

包含证书的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

证书引用的类型:configmapsecret

.spec.kafka.tls.userCert

描述

userCert 定义用户证书引用,用于 mTLS。当您使用单向 TLS 时,可以忽略此属性。

类型

对象

属性 类型 描述

certFile

字符串

certFile 定义证书文件名在 config map 或 secret 中的路径。

certKey

字符串

certKey 定义证书私钥文件名在 config map 或 secret 中的路径。如果密钥不需要,则可以省略。

name

字符串

包含证书的 config map 或 secret 的名称。

namespace

字符串

包含证书的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

证书引用的类型:configmapsecret

.spec.loki

描述

loki,流量存储,客户端设置。

类型

对象

必需
  • 模式

属性 类型 描述

advanced

对象

advanced 允许设置 Loki 客户端内部配置的某些方面。此部分主要针对调试和细粒度的性能优化。

enable

布尔值

enable 设置为 true 以将流量存储在 Loki 中。控制台插件可以使用 Loki 或 Prometheus 作为指标的数据源(另请参见 spec.prometheus.querier),或两者兼用。并非所有查询都可以在 Loki 和 Prometheus 之间转换。因此,如果禁用 Loki,则插件的某些功能也会被禁用,例如获取每个 Pod 的信息或查看原始流量。如果同时启用 Prometheus 和 Loki,则 Prometheus 优先,Loki 用作 Prometheus 无法处理的查询的备用方案。如果两者都禁用,则不会部署控制台插件。

lokiStack

对象

LokiStack 模式的 Loki 配置。这对于简单的 Loki Operator 配置很有用。对于其他模式,此配置将被忽略。

手动

对象

Manual 模式的 Loki 配置。这是最灵活的配置。对于其他模式,此配置将被忽略。

微服务

对象

Microservices 模式的 Loki 配置。当 Loki 使用微服务部署模式安装时使用此选项 (https://grafana.org.cn/docs/loki/latest/fundamentals/architecture/deployment-modes/#microservices-mode)。对于其他模式,此配置将被忽略。

模式

字符串

必须根据 Loki 的安装模式设置 mode

- 当 Loki 使用 Loki Operator 管理时,使用 LokiStack

- 当 Loki 安装为单体工作负载时,使用 Monolithic

- 当 Loki 作为微服务安装,但不使用 Loki Operator 时,使用 Microservices

- 如果以上选项都不符合您的设置,请使用 Manual

单体

对象

Monolithic 模式的 Loki 配置。当 Loki 使用单体部署模式安装时使用此选项 (https://grafana.org.cn/docs/loki/latest/fundamentals/architecture/deployment-modes/#monolithic-mode)。对于其他模式,此配置将被忽略。

读取超时

字符串

readTimeout 是 Loki 查询的最大超时时间限制。超时时间为零表示不超时。

writeBatchSize

整数

writeBatchSize 是在发送之前累积的 Loki 日志的最大批量大小(以字节为单位)。

writeBatchWait

字符串

writeBatchWait 是在发送 Loki 批处理之前等待的最大时间。

writeTimeout

字符串

writeTimeout 是 Loki 连接/请求的最大时间限制。超时时间为零表示不超时。

.spec.loki.advanced

描述

advanced 允许设置 Loki 客户端内部配置的某些方面。此部分主要针对调试和细粒度的性能优化。

类型

对象

属性 类型 描述

staticLabels

对象 (字符串)

staticLabels 是一个公共标签的映射,用于在 Loki 存储中的每个流上设置。

writeMaxBackoff

字符串

writeMaxBackoff 是 Loki 客户端连接重试之间最大回退时间。

writeMaxRetries

整数

writeMaxRetries 是 Loki 客户端连接的最大重试次数。

writeMinBackoff

字符串

writeMinBackoff 是 Loki 客户端连接重试之间的初始回退时间。

.spec.loki.lokiStack

描述

LokiStack 模式的 Loki 配置。这对于简单的 Loki Operator 配置很有用。对于其他模式,此配置将被忽略。

类型

对象

必需
  • name

属性 类型 描述

name

字符串

要使用的现有 LokiStack 资源的名称。

namespace

字符串

LokiStack资源所在的命名空间。如果省略,则假定与spec.namespace相同。

.spec.loki.manual

描述

Manual 模式的 Loki 配置。这是最灵活的配置。对于其他模式,此配置将被忽略。

类型

对象

属性 类型 描述

authToken

字符串

authToken 描述了获取令牌以对 Loki 进行身份验证的方式。

- Disabled 不发送任何令牌。

- Forward 转发用户令牌进行授权。

- Host [已弃用 (*)] - 使用本地 Pod 服务帐户对 Loki 进行身份验证。

使用 Loki Operator 时,必须将其设置为Forward

ingesterUrl

字符串

ingesterUrl 是现有 Loki ingester 服务的地址,用于推送流。使用 Loki Operator 时,将其设置为带有路径中设置的network租户的 Loki 网关服务,例如 https://loki-gateway-http.netobserv.svc:8080/api/logs/v1/network

querierUrl

字符串

querierUrl 指定 Loki querier 服务的地址。使用 Loki Operator 时,将其设置为带有路径中设置的network租户的 Loki 网关服务,例如 https://loki-gateway-http.netobserv.svc:8080/api/logs/v1/network

statusTls

对象

Loki 状态 URL 的 TLS 客户端配置。

statusUrl

字符串

statusUrl 指定 Loki /ready/metrics/config 端点的地址(如果它与 Loki querier URL 不同)。如果为空,则使用querierUrl值。这有助于在前端显示错误消息和一些上下文。使用 Loki Operator 时,将其设置为 Loki HTTP 查询前端服务,例如 https://loki-query-frontend-http.netobserv.svc:3100/。当设置statusUrl时,使用statusTLS配置。

tenantID

字符串

tenantID 是 Loki 的X-Scope-OrgID,用于标识每个请求的租户。使用 Loki Operator 时,将其设置为network,对应于一种特殊的租户模式。

tls

对象

Loki URL 的 TLS 客户端配置。

.spec.loki.manual.statusTls

描述

Loki 状态 URL 的 TLS 客户端配置。

类型

对象

属性 类型 描述

caCert

对象

caCert 定义证书颁发机构证书的引用。

enable

布尔值

启用 TLS

insecureSkipVerify

布尔值

insecureSkipVerify 允许跳过服务器证书的客户端验证。如果设置为 true,则忽略 caCert 字段。

userCert

对象

userCert 定义用户证书引用,用于 mTLS。当您使用单向 TLS 时,可以忽略此属性。

.spec.loki.manual.statusTls.caCert

描述

caCert 定义证书颁发机构证书的引用。

类型

对象

属性 类型 描述

certFile

字符串

certFile 定义证书文件名在 config map 或 secret 中的路径。

certKey

字符串

certKey 定义证书私钥文件名在 config map 或 secret 中的路径。如果密钥不需要,则可以省略。

name

字符串

包含证书的 config map 或 secret 的名称。

namespace

字符串

包含证书的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

证书引用的类型:configmapsecret

.spec.loki.manual.statusTls.userCert

描述

userCert 定义用户证书引用,用于 mTLS。当您使用单向 TLS 时,可以忽略此属性。

类型

对象

属性 类型 描述

certFile

字符串

certFile 定义证书文件名在 config map 或 secret 中的路径。

certKey

字符串

certKey 定义证书私钥文件名在 config map 或 secret 中的路径。如果密钥不需要,则可以省略。

name

字符串

包含证书的 config map 或 secret 的名称。

namespace

字符串

包含证书的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

证书引用的类型:configmapsecret

.spec.loki.manual.tls

描述

Loki URL 的 TLS 客户端配置。

类型

对象

属性 类型 描述

caCert

对象

caCert 定义证书颁发机构证书的引用。

enable

布尔值

启用 TLS

insecureSkipVerify

布尔值

insecureSkipVerify 允许跳过服务器证书的客户端验证。如果设置为 true,则忽略 caCert 字段。

userCert

对象

userCert 定义用户证书引用,用于 mTLS。当您使用单向 TLS 时,可以忽略此属性。

.spec.loki.manual.tls.caCert

描述

caCert 定义证书颁发机构证书的引用。

类型

对象

属性 类型 描述

certFile

字符串

certFile 定义证书文件名在 config map 或 secret 中的路径。

certKey

字符串

certKey 定义证书私钥文件名在 config map 或 secret 中的路径。如果密钥不需要,则可以省略。

name

字符串

包含证书的 config map 或 secret 的名称。

namespace

字符串

包含证书的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

证书引用的类型:configmapsecret

.spec.loki.manual.tls.userCert

描述

userCert 定义用户证书引用,用于 mTLS。当您使用单向 TLS 时,可以忽略此属性。

类型

对象

属性 类型 描述

certFile

字符串

certFile 定义证书文件名在 config map 或 secret 中的路径。

certKey

字符串

certKey 定义证书私钥文件名在 config map 或 secret 中的路径。如果密钥不需要,则可以省略。

name

字符串

包含证书的 config map 或 secret 的名称。

namespace

字符串

包含证书的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

证书引用的类型:configmapsecret

.spec.loki.microservices

描述

Microservices 模式的 Loki 配置。当 Loki 使用微服务部署模式安装时使用此选项 (https://grafana.org.cn/docs/loki/latest/fundamentals/architecture/deployment-modes/#microservices-mode)。对于其他模式,此配置将被忽略。

类型

对象

属性 类型 描述

ingesterUrl

字符串

ingesterUrl 是现有 Loki ingester 服务的地址,用于推送流。

querierUrl

字符串

querierURL 指定 Loki querier 服务的地址。

tenantID

字符串

tenantID 是 Loki 的X-Scope-OrgID标头,用于标识每个请求的租户。

tls

对象

Loki URL 的 TLS 客户端配置。

.spec.loki.microservices.tls

描述

Loki URL 的 TLS 客户端配置。

类型

对象

属性 类型 描述

caCert

对象

caCert 定义证书颁发机构证书的引用。

enable

布尔值

启用 TLS

insecureSkipVerify

布尔值

insecureSkipVerify 允许跳过服务器证书的客户端验证。如果设置为 true,则忽略 caCert 字段。

userCert

对象

userCert 定义用户证书引用,用于 mTLS。当您使用单向 TLS 时,可以忽略此属性。

.spec.loki.microservices.tls.caCert

描述

caCert 定义证书颁发机构证书的引用。

类型

对象

属性 类型 描述

certFile

字符串

certFile 定义证书文件名在 config map 或 secret 中的路径。

certKey

字符串

certKey 定义证书私钥文件名在 config map 或 secret 中的路径。如果密钥不需要,则可以省略。

name

字符串

包含证书的 config map 或 secret 的名称。

namespace

字符串

包含证书的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

证书引用的类型:configmapsecret

.spec.loki.microservices.tls.userCert

描述

userCert 定义用户证书引用,用于 mTLS。当您使用单向 TLS 时,可以忽略此属性。

类型

对象

属性 类型 描述

certFile

字符串

certFile 定义证书文件名在 config map 或 secret 中的路径。

certKey

字符串

certKey 定义证书私钥文件名在 config map 或 secret 中的路径。如果密钥不需要,则可以省略。

name

字符串

包含证书的 config map 或 secret 的名称。

namespace

字符串

包含证书的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

证书引用的类型:configmapsecret

.spec.loki.monolithic

描述

Monolithic 模式的 Loki 配置。当 Loki 使用单体部署模式安装时使用此选项 (https://grafana.org.cn/docs/loki/latest/fundamentals/architecture/deployment-modes/#monolithic-mode)。对于其他模式,此配置将被忽略。

类型

对象

属性 类型 描述

tenantID

字符串

tenantID 是 Loki 的X-Scope-OrgID标头,用于标识每个请求的租户。

tls

对象

Loki URL 的 TLS 客户端配置。

url

字符串

url 是现有 Loki 服务的唯一地址,指向 ingester 和 querier。

.spec.loki.monolithic.tls

描述

Loki URL 的 TLS 客户端配置。

类型

对象

属性 类型 描述

caCert

对象

caCert 定义证书颁发机构证书的引用。

enable

布尔值

启用 TLS

insecureSkipVerify

布尔值

insecureSkipVerify 允许跳过服务器证书的客户端验证。如果设置为 true,则忽略 caCert 字段。

userCert

对象

userCert 定义用户证书引用,用于 mTLS。当您使用单向 TLS 时,可以忽略此属性。

.spec.loki.monolithic.tls.caCert

描述

caCert 定义证书颁发机构证书的引用。

类型

对象

属性 类型 描述

certFile

字符串

certFile 定义证书文件名在 config map 或 secret 中的路径。

certKey

字符串

certKey 定义证书私钥文件名在 config map 或 secret 中的路径。如果密钥不需要,则可以省略。

name

字符串

包含证书的 config map 或 secret 的名称。

namespace

字符串

包含证书的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

证书引用的类型:configmapsecret

.spec.loki.monolithic.tls.userCert

描述

userCert 定义用户证书引用,用于 mTLS。当您使用单向 TLS 时,可以忽略此属性。

类型

对象

属性 类型 描述

certFile

字符串

certFile 定义证书文件名在 config map 或 secret 中的路径。

certKey

字符串

certKey 定义证书私钥文件名在 config map 或 secret 中的路径。如果密钥不需要,则可以省略。

name

字符串

包含证书的 config map 或 secret 的名称。

namespace

字符串

包含证书的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

证书引用的类型:configmapsecret

.spec.networkPolicy

描述

networkPolicy 定义网络可观测性组件隔离的入口网络策略设置。

类型

对象

属性 类型 描述

additionalNamespaces

数组 (字符串)

additionalNamespaces 包含允许连接到网络可观测性命名空间的其他命名空间。它为网络策略配置提供了灵活性,但如果您需要更具体的配置,可以将其禁用并自行安装。

enable

布尔值

enable设置为true可在网络可观测性(主命名空间和特权命名空间)使用的命名空间上部署网络策略。默认情况下它是禁用的。这些网络策略可以更好地隔离网络可观测性组件,以防止对其进行不需要的连接。我们建议您启用它,或为网络可观测性创建您自己的网络策略。

.spec.processor

描述

processor 定义接收来自代理的流量、对其进行丰富、生成指标并将其转发到 Loki 持久层和/或任何可用导出器的组件的设置。

类型

对象

属性 类型 描述

addZone

布尔值

addZone 通过使用其源和目标区域标记流来实现可用性区域感知。此功能需要在节点上设置“topology.kubernetes.io/zone”标签。

advanced

对象

advanced 允许设置流处理器内部配置的某些方面。此部分主要针对调试和细粒度的性能优化,例如GOGCGOMAXPROCS环境变量。自行承担设置这些值的风险。

clusterName

字符串

clusterName 是出现在流数据中的集群名称。这在多集群环境中非常有用。使用 OpenShift Container Platform 时,保留为空以使其自动确定。

imagePullPolicy

字符串

imagePullPolicy 是上面定义的镜像的 Kubernetes 拉取策略。

kafkaConsumerAutoscaler

对象

kafkaConsumerAutoscaler 是为flowlogs-pipeline-transformer(它消费 Kafka 消息)设置的水平 Pod 自动缩放器的规范。禁用 Kafka 时,此设置将被忽略。请参阅 HorizontalPodAutoscaler 文档 (autoscaling/v2)。

kafkaConsumerBatchSize

整数

kafkaConsumerBatchSize 指示代理消费者接受的最大批量大小(以字节为单位)。不使用 Kafka 时忽略。默认值:10MB。

kafkaConsumerQueueCapacity

整数

kafkaConsumerQueueCapacity 定义 Kafka 消费者客户端中使用的内部消息队列的容量。不使用 Kafka 时忽略。

kafkaConsumerReplicas

整数

kafkaConsumerReplicas 定义要为flowlogs-pipeline-transformer(它消费 Kafka 消息)启动的副本(Pod)数量。禁用 Kafka 时,此设置将被忽略。

logLevel

字符串

处理器的运行时logLevel

logTypes

字符串

logTypes 定义要生成的所需记录类型。可能的值为

- Flows(默认)导出常规网络流

- Conversations 为启动的会话、结束的会话以及周期性的“tick”更新生成事件

- EndedConversations 只生成结束的会话事件

- All 生成网络流和所有会话事件

metrics

对象

Metrics 定义处理器关于指标的配置。

multiClusterDeployment

布尔值

multiClusterDeployment 设置为 true 以启用多集群功能。这会为流数据添加clusterName 标签。

resources

对象

resources 是此容器所需的计算资源。更多信息,请参见 https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

subnetLabels

对象

subnetLabels 允许在子网和 IP 上定义自定义标签,或启用对 OpenShift Container Platform 中已识别子网的自动标记,用于识别集群外部流量。当子网与流的源 IP 或目标 IP 匹配时,会添加相应的字段:SrcSubnetLabelDstSubnetLabel

.spec.processor.advanced

描述

advanced 允许设置流处理器内部配置的某些方面。此部分主要针对调试和细粒度的性能优化,例如GOGCGOMAXPROCS环境变量。自行承担设置这些值的风险。

类型

对象

属性 类型 描述

conversationEndTimeout

字符串

conversationEndTimeout 是在收到网络流后等待的时间,以判断会话是否结束。当为 TCP 流收集 FIN 数据包时,此延迟将被忽略(请改用conversationTerminatingTimeout)。

conversationHeartbeatInterval

字符串

conversationHeartbeatInterval 是会话“心跳”事件之间的等待时间。

conversationTerminatingTimeout

字符串

conversationTerminatingTimeout 是从检测到 FIN 标志到结束会话的等待时间。仅与 TCP 流相关。

dropUnusedFields

布尔值

dropUnusedFields [已弃用 (*)] 此设置不再使用。

enableKubeProbes

布尔值

enableKubeProbes 是一个标志,用于启用或禁用 Kubernetes 存活性探针和就绪性探针。

env

对象 (字符串)

env 允许将自定义环境变量传递给底层组件。这对于传递一些非常具体的性能调整选项很有用,例如GOGCGOMAXPROCS,这些选项不应作为 FlowCollector 描述符的一部分公开,因为它们仅在边缘调试或支持场景中才有用。

healthPort

整数

healthPort 是 Pod 中公开健康检查 API 的收集器 HTTP 端口。

port

整数

流收集器的端口(主机端口)。按照惯例,某些值是被禁止的。它必须大于 1024,并且不同于 4500、4789 和 6081。

profilePort

整数

profilePort 允许设置一个监听此端口的 Go pprof 分析器。

scheduling

对象

scheduling 控制 pod 如何在节点上调度。

secondaryNetworks

数组

定义要检查以识别资源的辅助网络。为了保证正确的识别,索引值必须在整个集群中形成唯一的标识符。如果多个资源使用相同的索引,则这些资源可能会被错误地标记。

.spec.processor.advanced.scheduling

描述

scheduling 控制 pod 如何在节点上调度。

类型

对象

属性 类型 描述

affinity

对象

如果指定,则为 pod 的调度约束。有关文档,请参阅 https://kubernetes.ac.cn/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling

nodeSelector

对象 (字符串)

nodeSelector 允许仅将 pod 调度到具有每个指定标签的节点上。有关文档,请参阅 https://kubernetes.ac.cn/docs/concepts/configuration/assign-pod-node/

priorityClassName

字符串

如果指定,则表示 pod 的优先级。有关文档,请参阅 https://kubernetes.ac.cn/docs/concepts/scheduling-eviction/pod-priority-preemption/#how-to-use-priority-and-preemption。如果未指定,则使用默认优先级,如果没有默认优先级则为零。

tolerations

数组

tolerations 是容忍度列表,允许 pod 调度到具有匹配污点的节点上。有关文档,请参阅 https://kubernetes.ac.cn/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling

.spec.processor.advanced.scheduling.affinity

描述

如果指定,则为 pod 的调度约束。有关文档,请参阅 https://kubernetes.ac.cn/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling

类型

对象

.spec.processor.advanced.scheduling.tolerations

描述

tolerations 是容忍度列表,允许 pod 调度到具有匹配污点的节点上。有关文档,请参阅 https://kubernetes.ac.cn/docs/reference/kubernetes-api/workload-resources/pod-v1/#scheduling

类型

数组

.spec.processor.advanced.secondaryNetworks

描述

定义要检查以识别资源的辅助网络。为了保证正确的识别,索引值必须在整个集群中形成唯一的标识符。如果多个资源使用相同的索引,则这些资源可能会被错误地标记。

类型

数组

.spec.processor.advanced.secondaryNetworks[]

描述
类型

对象

必需
  • index

  • name

属性 类型 描述

index

数组 (字符串)

index 是用于为 Pod 建立索引的字段列表。它们应该在整个集群中形成唯一的 Pod 标识符。可以是以下任何一个:MACIPInterface。'k8s.v1.cni.cncf.io/network-status' 注解中不存在的字段不得添加到索引中。

name

字符串

name 应与 Pod 注解 'k8s.v1.cni.cncf.io/network-status' 中显示的网络名称匹配。

.spec.processor.kafkaConsumerAutoscaler

描述

kafkaConsumerAutoscaler 是为flowlogs-pipeline-transformer(它消费 Kafka 消息)设置的水平 Pod 自动缩放器的规范。禁用 Kafka 时,此设置将被忽略。请参阅 HorizontalPodAutoscaler 文档 (autoscaling/v2)。

类型

对象

.spec.processor.metrics

描述

Metrics 定义处理器关于指标的配置。

类型

对象

属性 类型 描述

disableAlerts

数组 (字符串)

disableAlerts 是一个应禁用的警报列表。可能的取值包括:

NetObservNoFlows,当在一段时间内未观察到任何流时触发。

NetObservLokiError,当由于 Loki 错误导致流被丢弃时触发。

includeList

数组 (字符串)

includeList 是一个指标名称列表,用于指定要生成的指标。这些名称对应于 Prometheus 中的名称(不带前缀)。例如,namespace_egress_packets_total 在 Prometheus 中显示为 netobserv_namespace_egress_packets_total。请注意,您添加的指标越多,对 Prometheus 工作负载资源的影响就越大。默认启用的指标包括:namespace_flows_totalnode_ingress_bytes_totalnode_egress_bytes_totalworkload_ingress_bytes_totalworkload_egress_bytes_totalnamespace_drop_packets_total(启用 PacketDrop 功能时)、namespace_rtt_seconds(启用 FlowRTT 功能时)、namespace_dns_latency_seconds(启用 DNSTracking 功能时)。更多信息以及可用指标的完整列表:https://github.com/netobserv/network-observability-operator/blob/main/docs/Metrics.md

server

对象

用于 Prometheus 刮取器的指标服务器端点配置。

.spec.processor.metrics.server

描述

用于 Prometheus 刮取器的指标服务器端点配置。

类型

对象

属性 类型 描述

port

整数

指标服务器 HTTP 端口。

tls

对象

TLS 配置。

.spec.processor.metrics.server.tls

描述

TLS 配置。

类型

对象

必需
  • type

属性 类型 描述

insecureSkipVerify

布尔值

insecureSkipVerify 允许跳过客户端对提供的证书的验证。如果设置为 true,则忽略 providedCaFile 字段。

provided

对象

type 设置为 Provided 时的 TLS 配置。

providedCaFile

对象

type 设置为 Provided 时,CA 文件的引用。

type

字符串

选择 TLS 配置的类型

- Disabled(默认)表示不为端点配置 TLS。- Provided 表示手动提供证书文件和密钥文件。(不支持 (*))- Auto 表示使用 OpenShift Container Platform 使用注释自动生成的证书。

.spec.processor.metrics.server.tls.provided

描述

type 设置为 Provided 时的 TLS 配置。

类型

对象

属性 类型 描述

certFile

字符串

certFile 定义证书文件名在 config map 或 secret 中的路径。

certKey

字符串

certKey 定义证书私钥文件名在 config map 或 secret 中的路径。如果密钥不需要,则可以省略。

name

字符串

包含证书的 config map 或 secret 的名称。

namespace

字符串

包含证书的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

证书引用的类型:configmapsecret

.spec.processor.metrics.server.tls.providedCaFile

描述

type 设置为 Provided 时,CA 文件的引用。

类型

对象

属性 类型 描述

file

字符串

config map 或 secret 中的文件名。

name

字符串

包含文件的 config map 或 secret 的名称。

namespace

字符串

包含文件的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

文件的引用类型:configmapsecret

.spec.processor.resources

描述

resources 是此容器所需的计算资源。更多信息,请参见 https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

类型

对象

属性 类型 描述

limits

整数或字符串

Limits 描述了允许的最大计算资源量。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

requests

整数或字符串

Requests 描述了所需的最小计算资源量。如果容器省略了 Requests,则默认为 Limits(如果明确指定),否则为实现定义的值。Requests 不能超过 Limits。更多信息:https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/

.spec.processor.subnetLabels

描述

subnetLabels 允许在子网和 IP 上定义自定义标签,或启用对 OpenShift Container Platform 中已识别子网的自动标记,用于识别集群外部流量。当子网与流的源 IP 或目标 IP 匹配时,会添加相应的字段:SrcSubnetLabelDstSubnetLabel

类型

对象

属性 类型 描述

customLabels

数组

customLabels 允许自定义子网和 IP 标记,例如识别集群外部工作负载或 Web 服务。如果您启用 openShiftAutoDetectcustomLabels 可以覆盖检测到的子网(如果它们重叠)。

openShiftAutoDetect

布尔值

openShiftAutoDetect 设置为 true 时,允许根据 OpenShift Container Platform 安装配置和集群网络操作员配置自动检测机器、Pod 和服务的子网。间接地,这是一种准确检测外部流量的方法:未标记这些子网的流位于集群外部。在 OpenShift Container Platform 上默认启用。

.spec.processor.subnetLabels.customLabels

描述

customLabels 允许自定义子网和 IP 标记,例如识别集群外部工作负载或 Web 服务。如果您启用 openShiftAutoDetectcustomLabels 可以覆盖检测到的子网(如果它们重叠)。

类型

数组

.spec.processor.subnetLabels.customLabels[]

描述

SubnetLabel 允许标记子网和 IP,例如识别集群外部工作负载或 Web 服务。

类型

对象

必需
  • cidrs

  • name

属性 类型 描述

cidrs

数组 (字符串)

CIDR 列表,例如 ["1.2.3.4/32"]

name

字符串

标签名称,用于标记匹配的流。

.spec.prometheus

描述

prometheus 定义 Prometheus 设置,例如用于从控制台插件获取指标的查询器配置。

类型

对象

属性 类型 描述

querier

对象

Prometheus 查询配置,例如在控制台插件中使用的客户端设置。

.spec.prometheus.querier

描述

Prometheus 查询配置,例如在控制台插件中使用的客户端设置。

类型

对象

必需
  • 模式

属性 类型 描述

enable

布尔值

enabletrue 时,控制台插件会在尽可能的情况下从 Prometheus 查询流指标,而不是 Loki。它默认启用:将其设置为 false 以禁用此功能。控制台插件可以使用 Loki 或 Prometheus 作为指标的数据源(另请参见 spec.loki),或两者兼用。并非所有查询都可从 Loki 转移到 Prometheus。因此,如果禁用 Loki,插件的某些功能也会被禁用,例如获取每个 Pod 的信息或查看原始流。如果同时启用 Prometheus 和 Loki,则 Prometheus 优先,Loki 用作 Prometheus 无法处理的查询的备用方案。如果两者都禁用,则不会部署控制台插件。

手动

对象

用于Manual模式的Prometheus配置。

模式

字符串

mode 必须根据存储网络可观测性指标的 Prometheus 安装类型进行设置。

- 使用 Auto 自动尝试配置。在 OpenShift Container Platform 中,它使用来自 OpenShift Container Platform 集群监控的 Thanos querier。

- 使用 Manual 进行手动设置。

timeout

字符串

timeout 是控制台插件查询 Prometheus 的读取超时时间。零超时意味着没有超时。

.spec.prometheus.querier.manual

描述

用于Manual模式的Prometheus配置。

类型

对象

属性 类型 描述

forwardUserToken

布尔值

设置为 true 以将登录用户的令牌转发到 Prometheus 的查询中。

tls

对象

Prometheus URL 的 TLS 客户端配置。

url

字符串

url 是用于查询指标的现有 Prometheus 服务的地址。

.spec.prometheus.querier.manual.tls

描述

Prometheus URL 的 TLS 客户端配置。

类型

对象

属性 类型 描述

caCert

对象

caCert 定义证书颁发机构证书的引用。

enable

布尔值

启用 TLS

insecureSkipVerify

布尔值

insecureSkipVerify 允许跳过服务器证书的客户端验证。如果设置为 true,则忽略 caCert 字段。

userCert

对象

userCert 定义用户证书引用,用于 mTLS。当您使用单向 TLS 时,可以忽略此属性。

.spec.prometheus.querier.manual.tls.caCert

描述

caCert 定义证书颁发机构证书的引用。

类型

对象

属性 类型 描述

certFile

字符串

certFile 定义证书文件名在 config map 或 secret 中的路径。

certKey

字符串

certKey 定义证书私钥文件名在 config map 或 secret 中的路径。如果密钥不需要,则可以省略。

name

字符串

包含证书的 config map 或 secret 的名称。

namespace

字符串

包含证书的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

证书引用的类型:configmapsecret

.spec.prometheus.querier.manual.tls.userCert

描述

userCert 定义用户证书引用,用于 mTLS。当您使用单向 TLS 时,可以忽略此属性。

类型

对象

属性 类型 描述

certFile

字符串

certFile 定义证书文件名在 config map 或 secret 中的路径。

certKey

字符串

certKey 定义证书私钥文件名在 config map 或 secret 中的路径。如果密钥不需要,则可以省略。

name

字符串

包含证书的 config map 或 secret 的名称。

namespace

字符串

包含证书的 config map 或 secret 的命名空间。如果省略,则默认为使用与部署网络可观测性相同的命名空间。如果命名空间不同,则会复制 config map 或 secret,以便可以按需挂载。

type

字符串

证书引用的类型:configmapsecret