追踪 Kubernetes 系统组件
系统组件追踪功能记录各个集群操作的时延信息和这些操作之间的关系。
Kubernetes 组件基于 gRPC 导出器的 OpenTelemetry 协议 发送追踪信息,并用 收集追踪信息,再将其转交给追踪系统的后台。
默认情况下,Kubernetes 组件使用 gRPC 的 OTLP 导出器来导出追踪信息,将信息写到 IANA OpenTelemetry 端口。 举例来说,如果收集器以 Kubernetes 组件的边车模式运行,以下接收器配置会收集 spans 信息,并将它们写入到标准输出。
kube-apiserver 为传入的 HTTP 请求、传出到 webhook 和 etcd 的请求以及重入的请求生成 spans。 由于 kube-apiserver 通常是一个公开的端点,所以它通过出站的请求传播 , 但不使用入站请求的追踪上下文。
在 kube-apiserver 中启用追踪
apiVersion: apiserver.config.k8s.io/v1alpha1
# default value
samplingRatePerMillion: 100
有关 TracingConfiguration 结构体的更多信息,请参阅 。
追踪工具仍在积极开发中,未来它会以多种方式发生变化。 这些变化包括:span 名称、附加属性、检测端点等等。 此类特性在达到稳定版本之前,不能保证追踪工具的向后兼容性。