eBPF系列之:Pixie浅剖析
部署过程和指令参考:pixie install
Pixie平台主要由以下组件组成:
Pixie Edge Module 边缘模块(PEM): Pixie’s agent, installed per node. PEMs use eBPF to collect data, which is stored locally on the node. Pixie的代理,安装在每个节点上。PEM使用eBPF收集数据,这些数据存储在节点本地。
Vizier: Pixie’s collector, installed per cluster. Responsible for query execution and managing PEMs. Pixie的收集器,安装在每个集群上。负责查询执行和管理PEM。
Pixie Cloud: Used for user management, authentication, and data proxying. Can be hosted or self-hosted. 用于用户管理、身份验证和数据代理。可以托管或自托管。
Pixie CLI: Used to deploy Pixie. Can also be used to run queries and manage resources like API keys. 用于部署Pixie。还可用于运行查询和管理API密钥等资源。
Pixie Client API: Used for programmatic access to Pixie (e.g. integrations, Slackbots, and custom user logic requiring Pixie data as an input) 用于对Pixie进行编程访问(例如,集成、Slackbots和需要Pixie数据作为输入的自定义用户逻辑)
本地部署涉及的组件和步骤:
- 初始化
- 日常运行时
Pixie自动收集以下数据:
Protocol traces: Full-body messages between the pods of your applications. Tracing currently supports the following list of protocols. For more information, see the Request Tracing, Service Performance, and Database Query Profiling tutorials.
Resource metrics 资源指标: CPU, memory and I/O metrics for your pods. For more information, see the Infra Health tutorial. 单元的CPU、内存和I/O指标。有关详细信息,请参见基础架构运行状况教程.
Network metrics 网络度量: Network-layer and connection-level RX/TX statistics. For more information, see the Network Monitoring tutorial. 网络层和连接级RX/TX统计信息。有关详细信息,请参阅网络监视教程。
JVM metrics: JVM memory management metrics for Java applications. Java应用程序的JVM内存管理度量。
Application CPU profiles: Sampled stack traces from your application. Pixie的连续性能分析器始终处于运行状态,以便在您需要时帮助识别应用程序的性能瓶颈。目前支持编译语言(Go、Rust、C/C ++)。有关详细信息,请参阅 Continuous Application Profiling 教程.
私有云端部署组件及架构:
- 涉及到的镜像:
- olm组件管理pixie 该组件部署要重制索引镜像指向国内仓库,并在国内仓库一一完成镜像指向配置。
- elastic-operator 部署 elastic集群
- nats集群组件
- postgres
- gcr.io/pixie-oss/pixie-dev/cloud/api_server_image
- gcr.io/pixie-oss/pixie-dev/cloud/artifact_tracker_server_image
- gcr.io/pixie-oss/pixie-dev/cloud/auth_server_image
- gcr.io/pixie-oss/pixie-dev/cloud/config_manager_server_image
- gcr.io/pixie-oss/pixie-dev/cloud/proxy_server_image
- gcr.io/pixie-oss/pixie-dev/cloud/indexer_server_image
- gcr.io/pixie-oss/pixie-dev/cloud/metrics_server_image
- gcr.io/pixie-oss/pixie-dev/cloud/plugin_server_image
- gcr.io/pixie-oss/pixie-dev/cloud/profile_server_image
- gcr.io/pixie-oss/pixie-dev/cloud/project_manager_server_image
- gcr.io/pixie-oss/pixie-dev/cloud/scriptmgr_server_image
- gcr.io/pixie-oss/pixie-dev/cloud/cron_script_server_image
- gcr.io/pixie-oss/pixie-dev/cloud/vzconn_server_image
- gcr.io/pixie-oss/pixie-dev/cloud/vzmgr_server_image
- gcr.io/pixie-oss/pixie-dev/cloud/plugin/load_db
用户管理,脚本管理,任务执行管理记录在Postgres,Es用于缓存计算。
