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用于缓存计算。