成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一篇帶給你eBpf開源項目解析

開源
WebAssembly的設計目標是為了解決Web上應用程序的性能問題,尤其是在使用JavaScript等高級語言編寫的復雜Web應用中。

前置知識:

  • WASM:WebAssembly(縮寫為Wasm)是一種低級的、與平臺無關的二進制指令格式,是一種新型的虛擬機技術,可以在現代Web瀏覽器中運行,并且可以與JavaScript等其他Web技術一起使用。它被設計為一種可移植的編譯目標,能夠將不同編程語言的代碼編譯成WebAssembly字節碼,這些字節碼可以在Web瀏覽器中快速加載和執行。

WebAssembly的設計目標是為了解決Web上應用程序的性能問題,尤其是在使用JavaScript等高級語言編寫的復雜Web應用中。相比于JavaScript等腳本語言,WebAssembly的執行速度更快,且能夠提供更好的性能和安全性,同時也更加適合進行密集計算和高性能圖形處理等操作。除了在Web瀏覽器中使用,WebAssembly還可以在其他環境中運行,如桌面應用程序、移動應用程序等,因此它也被認為是一種通用的、可移植的虛擬機技術。

A stack-based virtual machine is a type of virtual machine architecture in which the operands for instructions are pushed onto a stack, and the instructions themselves operate on the top elements of the stack. In other words, the virtual machine uses a stack to store data and operands, and the instructions are executed based on the data at the top of the stack.

  • WASI:WebAssembly System Interface(縮寫為WASI)是一個標準化的API接口,它提供了一種通用的系統接口,使得WebAssembly程序能夠在不同的操作系統和硬件平臺上運行,并能夠訪問底層操作系統的資源和功能,如文件系統、網絡、定時器等。
  • eBPF:(Extended Berkeley Packet Filter)是一個內核級別的虛擬機技術,它可以動態地注入用戶自定義的程序代碼到內核中運行并關聯事件,并在不修改內核源代碼的情況下增強內核的功能。eBPF 可以監控和分析內核和用戶空間的事件,從而實現高效的性能分析、網絡抓包、安全監控和資源管理等功能。

eBPF 能夠工作的原理是通過在內核中注冊各種鉤子函數,這些鉤子函數會在特定的事件發生時被觸發,并執行 eBPF 程序來處理這些事件。eBPF 程序是一種特殊的字節碼格式,可以在用戶空間編寫,然后通過內核的加載器加載到內核中運行。eBPF 程序可以訪問內核中的數據結構,并對數據進行修改或過濾。

在云原生環境下,ebpf更有優勢。

可關聯event類型:

Entry to/Exit from Functions:kprobe,kretprobe,uprobe,uretprobe
Tracepoints:/sys/kernel/debug/tracing/events
Perf Events
Linux Security Module Interface
Network Interfaces:XDP
Sockets and Other Networking Hooks
  • Bcc:bcc(BPF Compiler Collection)是一個用于生成eBPF(extended Berkeley Packet Filter)程序的工具集,它提供了一組高級工具和庫,使得用戶可以輕松地編寫和調試eBPF程序。

Starship的架構

1、agent

├── cmd 入口函數

├── deployer 部署eBpf+wasm模塊

├── driver 運行模塊

├── ebpf eBpf相關

├── proc-info 收集process信息

└── wasm wasm處理信息

兩大塊功能:

1、模塊管理,模塊指的是eBpf+wasm。

2、進程信息上報。

Agent的標識是NodeName和agent PodID。這兩個是從kubernetes注入的:

另外,還掛載了主機的/和/sys,用于bcc工具和process監控。

因為要使用ebpf program和監控進程,所以需要特權。

Agent啟動后,首先會清除之前部署過的TricorderProbes trap。然后,程序使用 linux_headers 包中的 Init 函數初始化 BCC 的 Linux 頭文件。之后,grpc連接到api-server、連接到pg、開啟循環獲取process信息、開啟循環處理module的deploy處理。

由于agent容器掛載了主機的/sys路徑,因此可以收集節點上所有的進程信息。在這種情況下,grabProcessInfo函數將搜索主機的/sys/fs/cgroup目錄,因此,它將能夠收集節點上所有進程的信息。

當部署一個module后,會開啟輪詢:1.從eBPF中讀取數據。2.將數據復制到WASM中。3.從WASM中讀取結果。4.將json結果寫入pg。

2、api-server

├── cmd 入口函數

├── grpc 處理deploy和process的grpc調用

├── http 定義http路由,dao

├── meta 原生kubernetes監控資源

├── pb protobuf定義

├── testing 測試

├── utils 工具

└── wasm 編譯

目前部署為StatefulSet,但是卷類型是emptyDir,也就是每次會新建一個tricorder.db文件。

然后啟動的時候進行初始化。

Api-server主要功能有:agent管理,管理模塊的部署,獲取節點進程信息,數據展示,數據持久化(sqlite)。

在部署模塊時,各agent的moduleInstance持久化保存成功后,會觸發cond條件,這時才會去各agent去部署。同時,會在pg創建相應的數據表,供agent進行數據存儲。

在api-server的部署中,使用名為api-server的sa,這個sa具備所有resource的權限。

Api-server同時監測原生kubernetes資源,目前有:

這些資源是通過informer監測的,api-server會將監測信息同步至pg。

Api-server會使用pod informer監測各節點的pod,然后將這些容器id發給agent進行processInfo獲取,獲取后,由api-server存儲至pg。

責任編輯:姜華 來源: 今日頭條
相關推薦

2023-02-27 10:17:05

EventBus觀察者模式

2021-07-12 06:11:14

SkyWalking 儀表板UI篇

2022-01-14 11:45:40

JVM 虛擬機Java

2022-01-17 11:28:55

JVM 虛擬機Java

2021-06-21 14:36:46

Vite 前端工程化工具

2021-01-28 08:55:48

Elasticsear數據庫數據存儲

2023-03-29 07:45:58

VS編輯區編程工具

2021-04-14 14:16:58

HttpHttp協議網絡協議

2021-04-08 11:00:56

CountDownLaJava進階開發

2022-03-22 09:09:17

HookReact前端

2021-07-21 09:48:20

etcd-wal模塊解析數據庫

2021-04-01 10:51:55

MySQL鎖機制數據庫

2021-03-12 09:21:31

MySQL數據庫邏輯架構

2022-02-17 08:53:38

ElasticSea集群部署

2022-04-29 14:38:49

class文件結構分析

2024-06-13 08:34:48

2021-10-28 08:51:53

GPIO軟件框架 Linux

2022-02-25 15:50:05

OpenHarmonToggle組件鴻蒙

2023-03-13 09:31:04

2021-07-08 07:30:13

Webpack 前端Tree shakin
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线视频一区二区三区 | 久久久久久久91 | 久久久91精品国产一区二区三区 | 亚洲精品乱码久久久久久按摩观 | 四虎影院在线免费观看 | 午夜小影院 | 国产欧美在线观看 | 日韩在线免费视频 | 亚洲永久免费观看 | 日韩中文字幕av | 精品视频一区二区三区在线观看 | 亚洲人成免费 | 特黄色一级毛片 | 日韩二区 | 一区中文 | 国产婷婷综合 | 亚洲电影一区二区三区 | 成人欧美一区二区三区在线观看 | www.亚洲成人网 | 99精品欧美一区二区三区 | 国产色视频网站 | 黄色网址免费在线观看 | 国产一级视频 | 一区二区三区视频在线 | 精品一区二区三区在线视频 | 成人在线观看免费 | 日韩欧美不卡 | 精品1区2区3区4区 | 国产乱码高清区二区三区在线 | 国产超碰人人爽人人做人人爱 | 久久久久国产 | 欧美一级片在线观看 | 综合自拍 | 欧美日韩成人在线 | 久热国产精品 | 美女视频网站久久 | 亚洲欧洲精品在线 | 看亚洲a级一级毛片 | 91美女在线观看 | 久久精品男人的天堂 | 羞羞视频网站 |