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