BumbleBee, isang mahusay na proyekto upang pasimplehin ang paggawa at pamamahagi ng mga programang eBPF

solo.io, ang cloud computing company, microservices, sandboxed at serverless, inihayag ang open source na proyekto na "BumbleBee". Pinapasimple ng bagong proyekto ang karanasan ng developer upang bumuo, mag-package at mamahagi ng mga tool ng eBPF, ayon kay Solo.

bubuyog awtomatikong bumubuo ng code ng espasyo ng gumagamit boilerplate upang bumuo ng mga tool ng eBPF, ipinaliwanag ng kumpanya. Nagbibigay din ito ng karanasang tulad ng Docker para mag-package ng isang eBPF program. Binibigyang-daan ka nitong kumonekta sa iba pang mga workflow ng imahe ng OCI para sa pag-publish at pamamahagi.

Tungkol sa BumbleBee

bubuyog ginagawang posible na i-package ang isang eBPF program bilang isang imahe ng lalagyan mula sa Open Container Initiative (OCI) na maaaring tumakbo sa anumang system nang hindi nagre-compile o gumagamit ng mga karagdagang bahagi sa espasyo ng gumagamit.

Ang pakikipag-ugnayan sa eBPF code sa kernel, kabilang ang pagproseso ng data na nagmumula sa eBPF processor, ay pinangangasiwaan ng BumbleBee, na awtomatikong nag-e-export ng data na ito sa anyo ng mga sukatan, histogram, o log, na maaaring ma-access, halimbawa, gamit ang ang curl utility. Ang iminungkahing diskarte ay nagbibigay-daan sa developer na tumutok sa pagsulat ng eBPF code. at hindi magambala sa pamamagitan ng pag-aayos ng pakikipag-ugnayan sa code na ito mula sa espasyo ng gumagamit, pagpupulong, at pag-load sa kernel.

Ang CEO ng Solo.io, Sinabi ni Idit Levine na:

Binuo ng kumpanya ang BumbleBee upang awtomatikong buuin ang boilerplate userspace code na kinakailangan upang ma-access ang mga teknolohiya ng eBPF na tumatakbo sa antas ng kernel. Ang BumbleBee ay may kasamang command line interface (CLI) na awtomatikong bumubuo ng user space code para sa mga eBPF program sa pamamagitan ng awtomatikong paglalantad ng mga mapa gaya ng mga log, sukatan, at histogram.

Upang pamahalaan ang mga programang eBPF, isang Docker-style na "bee" na utility ay ibinigay, kung saan maaari mong i-download kaagad ang driver ng eBPF ng interes mula sa isang panlabas na imbakan at patakbuhin ito sa lokal na sistema.

Binibigyang-daan ka ng toolkit na bumuo ng isang C code framework para sa mga driver ng eBPF ng isang napiling tema (kasalukuyang mga driver lang ng file at network na humarang sa mga tawag sa network stack at mga file system ang sinusuportahan). Batay sa nabuong balangkas, mabilis na maipapatupad ng developer ang functionality na kinaiinteresan niya.

Hindi tulad ng BCC (BPF Compiler Collection), Hindi ganap na muling buuin ng BumbleBee ang driver code para sa bawat bersyon ng kernel Linux (Gumagamit ang BCC ng on-the-fly compilation kasama ang Clang sa tuwing tatakbo ang eBPF program).

Upang malutas ang mga isyu sa portable, Ay umuunlad ang mga tool kit CO-RE at libbpf, na nagbibigay-daan sa iyong mag-compile ng code nang isang beses at gumamit ng espesyal na unibersal na loader na umaangkop sa na-load na programa sa kasalukuyang mga uri ng kernel at BTF (BPF Type Format).

Ang BumbleBee ay isang plugin sa ibabaw ng libbpf at nagbibigay ng mga karagdagang uri para sa awtomatikong interpretasyon at pagpapakita ng data na inilagay sa karaniwang RingBuffer at HashMap eBPF na mga istruktura ng mapa.

Upang buuin ang panghuling programa ng eBPF at i-save ito bilang isang OCI na imahe, patakbuhin lang ang command:

bee build file_with_code name:version

At patakbuhin ang utos

bee run name:version

Bilang default, ang mga kaganapan na natanggap mula sa controller ay ipapakita sa terminal window, ngunit kung kinakailangan maaari mong makuha ang data sa pamamagitan ng pagtawag sa curl o wget utility sa network port na nakatali sa controller.

Ang mga driver ay maaaring ipamahagi sa pamamagitan ng OCI-compliant na mga repository, halimbawa, para magpatakbo ng external na driver mula sa ghcr.io (GitHub Container Registry) repository, maaari mong patakbuhin ang command

bee run ghcr.io/solo-io/bumblebee/tcpconnect:$(bee version)

Upang ilagay ang controller sa repositoryo, inaalok ang command

bee push

At upang i-link ang bersyon

bee tag

Ang pinakamalaking benepisyo ng eBPF ay simpleng kahusayan. Ang kabuuang halaga ng pagpoproseso para sa seguridad, networking, at mga platform ng imbakan ay dapat bumaba habang mas maraming provider ang sinasamantala ang kanilang mga kakayahan. 

Ngayon, ang eBPF ay malawakang ginagamit ng mga web-scale na kumpanya gaya ng mga cloud service provider. Ginagamit ito ng Facebook bilang pangunahing software-defined load balancer sa mga data center nito, habang ang Google ay gumagamit ng open source na Cilium networking software sa loob ng pinamamahalaang mga alok nito sa Kubernetes. 

Gayunpaman, sa pagpapatuloy, sinabi ni Levine na ilang oras na lang bago ang eBPF ay mas malawak na pinagtibay dahil mas maraming operating system ang nagbibigay-daan sa kakayahan.

Sa wakas kung nais mong malaman ang tungkol dito, maaari mong suriin ang mga detalye Sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.