BumbleBee, một dự án tuyệt vời để đơn giản hóa việc tạo và phân phối các chương trình eBPF

solo.io, công ty điện toán đám mây, microservices, sandboxed và serverless, công bố dự án mã nguồn mở "BumbleBee". Dự án mới đơn giản hóa trải nghiệm của nhà phát triển để xây dựng, đóng gói và phân phối các công cụ eBPF, theo Solo.

Con ong tự động tạo mã không gian người dùng lặp đi lặp lại để phát triển các công cụ eBPF, công ty giải thích. Nó cũng cung cấp trải nghiệm giống như Docker để đóng gói một chương trình eBPF. Điều này cho phép bạn kết nối với các quy trình công việc hình ảnh OCI khác để xuất bản và phân phối.

Về BumbleBee

Con ong giúp bạn có thể đóng gói chương trình eBPF dưới dạng hình ảnh vùng chứa Open Container Initiative (OCI) có thể chạy trên bất kỳ hệ thống nào mà không cần biên dịch lại hoặc sử dụng các thành phần bổ sung trong không gian người dùng.

Tương tác với mã eBPF trong hạt nhân, bao gồm việc xử lý dữ liệu đến từ bộ xử lý eBPF, được xử lý bởi BumbleBee, tự động xuất dữ liệu này dưới dạng số liệu, biểu đồ hoặc nhật ký, có thể được truy cập, chẳng hạn như sử dụng tiện ích curl. Cách tiếp cận được đề xuất cho phép nhà phát triển tập trung vào việc viết mã eBPF và không bị phân tâm bằng cách sắp xếp tương tác với mã này từ không gian người dùng, lắp ráp và tải vào hạt nhân.

Giám đốc điều hành của Solo.io, Idit Levine, nói rằng:

Công ty đã phát triển BumbleBee để tự động tạo mã không gian người dùng lặp lại được yêu cầu để truy cập các công nghệ eBPF chạy ở cấp nhân. BumbleBee bao gồm một giao diện dòng lệnh (CLI) tự động tạo mã không gian người dùng cho các chương trình eBPF bằng cách tự động hiển thị các bản đồ như nhật ký, số liệu và biểu đồ.

Để quản lý các chương trình eBPF, một tiện ích "con ong" kiểu Docker được cung cấp, với đó bạn có thể tải xuống ngay trình điều khiển eBPF quan tâm từ một kho lưu trữ bên ngoài và chạy nó trên hệ thống cục bộ.

Bộ công cụ cho phép bạn tạo khung mã C cho các trình điều khiển eBPF cho một chủ đề đã chọn (hiện chỉ hỗ trợ tệp và trình điều khiển mạng chặn các cuộc gọi ngăn xếp mạng và hệ thống tệp). Dựa trên khuôn khổ đã tạo, nhà phát triển có thể nhanh chóng triển khai chức năng mà anh ta quan tâm.

Không giống như BCC (Bộ sưu tập trình biên dịch BPF), BumbleBee không xây dựng lại hoàn toàn mã trình điều khiển cho mỗi phiên bản hạt nhân Linux (BCC sử dụng tính năng biên dịch nhanh chóng với Clang mỗi khi chương trình eBPF được chạy).

Để giải quyết các vấn đề về tính di động, Đang phát triển bộ dụng cụ CO-RE và libbpf, cho phép bạn biên dịch mã chỉ một lần và sử dụng một bộ nạp đa năng đặc biệt để điều chỉnh chương trình được tải với hạt nhân hiện tại và các kiểu BTF (định dạng kiểu BPF).

BumbleBee là một trình cắm thêm trên libbpf và cung cấp các loại bổ sung để tự động giải thích và hiển thị dữ liệu được đặt trong cấu trúc bản đồ eBPF RingBuffer và HashMap tiêu chuẩn.

Để xây dựng chương trình eBPF cuối cùng và lưu nó dưới dạng hình ảnh OCI, chỉ cần chạy lệnh:

bee build file_with_code name:version

Và chạy lệnh

bee run name:version

Theo mặc định, các sự kiện nhận được từ bộ điều khiển sẽ được hiển thị trong cửa sổ đầu cuối, nhưng nếu cần, bạn có thể lấy dữ liệu bằng cách gọi các tiện ích curl hoặc wget trên cổng mạng được liên kết với bộ điều khiển.

Các trình điều khiển có thể được phân phối thông qua kho lưu trữ tương thích OCI, ví dụ: để chạy trình điều khiển bên ngoài từ kho lưu trữ ghcr.io (GitHub Container Registry), bạn có thể chạy lệnh

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

Để đặt bộ điều khiển vào kho lưu trữ, lệnh được cung cấp

bee push

Và để liên kết phiên bản

bee tag

Lợi ích lớn nhất của eBPF chỉ đơn giản là hiệu quả. Tổng chi phí xử lý cho các nền tảng bảo mật, mạng và lưu trữ sẽ giảm khi có nhiều nhà cung cấp tận dụng khả năng của họ. 

Bây giờ, eBPF được sử dụng rộng rãi bởi các công ty quy mô web như các nhà cung cấp dịch vụ đám mây. Facebook đang sử dụng nó làm công cụ cân bằng tải chính do phần mềm xác định trong các trung tâm dữ liệu của mình, trong khi Google đang sử dụng phần mềm mạng Cilium mã nguồn mở trong các dịch vụ do Kubernetes quản lý. 

Tuy nhiên, trong tương lai, Levine cho biết bây giờ chỉ còn là vấn đề thời gian trước khi eBPF được áp dụng rộng rãi hơn nhiều khi có nhiều hệ điều hành hỗ trợ công suất.

Cuối cùng nếu bạn muốn biết thêm về nó, bạn có thể kiểm tra các chi tiết Trong liên kết sau đây.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.