ಬಂಬಲ್ಬೀ - ಇಬಿಪಿಎಫ್ ಕಾರ್ಯಕ್ರಮಗಳ ರಚನೆ ಮತ್ತು ವಿತರಣೆಯನ್ನು ಸರಳಗೊಳಿಸುವ ಟೂಲ್ಕಿಟ್

Solo.io, ಕ್ಲೌಡ್ ಸಿಸ್ಟಮ್‌ಗಳು, ಮೈಕ್ರೋಸರ್ವಿಸ್‌ಗಳು, ಪ್ರತ್ಯೇಕ ಕಂಟೈನರ್‌ಗಳು ಮತ್ತು ಸರ್ವರ್‌ಲೆಸ್ ಕಂಪ್ಯೂಟಿಂಗ್‌ಗಾಗಿ ಉತ್ಪನ್ನಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವ ಕಂಪನಿಯು ಬಂಬಲ್‌ಬೀ ಅನ್ನು ಪ್ರಕಟಿಸಿದೆ, ಇದು ವಿಶೇಷ ವರ್ಚುವಲ್ ಗಣಕದಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ eBPF ಕಾರ್ಯಕ್ರಮಗಳ ತಯಾರಿಕೆ, ವಿತರಣೆ ಮತ್ತು ಉಡಾವಣೆಯನ್ನು ಸರಳಗೊಳಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿರುವ ಓಪನ್ ಸೋರ್ಸ್ ಟೂಲ್‌ಕಿಟ್ ಆಗಿದೆ. Linux ಕರ್ನಲ್ ಮತ್ತು ನೆಟ್‌ವರ್ಕ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು, ಪ್ರವೇಶವನ್ನು ನಿಯಂತ್ರಿಸಲು ಮತ್ತು ಮಾನಿಟರ್ ಸಿಸ್ಟಮ್‌ಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಕೋಡ್ ಅನ್ನು Go ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು Apache 2.0 ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ.

OCI (ಓಪನ್ ಕಂಟೈನರ್ ಇನಿಶಿಯೇಟಿವ್) ಫಾರ್ಮ್ಯಾಟ್‌ನಲ್ಲಿ eBPF ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಕಂಟೇನರ್ ಇಮೇಜ್‌ನಂತೆ ಪ್ಯಾಕೇಜ್ ಮಾಡಲು BumbleBee ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ, ಇದನ್ನು ಯಾವುದೇ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಮರುಸಂಕಲನವಿಲ್ಲದೆ ಮತ್ತು ಬಳಕೆದಾರ ಜಾಗದಲ್ಲಿ ಹೆಚ್ಚುವರಿ ಘಟಕಗಳನ್ನು ಬಳಸದೆ ಚಲಾಯಿಸಬಹುದು. eBPF ಹ್ಯಾಂಡ್ಲರ್‌ನಿಂದ ಬರುವ ಡೇಟಾದ ಪ್ರಕ್ರಿಯೆ ಸೇರಿದಂತೆ ಕೋರ್‌ನಲ್ಲಿರುವ eBPF ಕೋಡ್‌ನೊಂದಿಗಿನ ಸಂವಹನವನ್ನು BumbleBee ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ, ಇದು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಈ ಡೇಟಾವನ್ನು ಮೆಟ್ರಿಕ್‌ಗಳು, ಹಿಸ್ಟೋಗ್ರಾಮ್‌ಗಳು ಅಥವಾ ಲಾಗ್‌ಗಳ ರೂಪದಲ್ಲಿ ರಫ್ತು ಮಾಡುತ್ತದೆ, ಉದಾಹರಣೆಗೆ, ಇದನ್ನು ಬಳಸಿ ಕರ್ಲ್ ಉಪಯುಕ್ತತೆ. ಪ್ರಸ್ತಾವಿತ ವಿಧಾನವು ಡೆವಲಪರ್‌ಗೆ eBPF ಕೋಡ್ ಬರೆಯುವುದರ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ ಮತ್ತು ಬಳಕೆದಾರರ ಸ್ಥಳ, ಜೋಡಣೆ ಮತ್ತು ಕರ್ನಲ್‌ಗೆ ಲೋಡ್ ಮಾಡುವ ಮೂಲಕ ಈ ಕೋಡ್‌ನೊಂದಿಗೆ ಸಂವಹನವನ್ನು ಆಯೋಜಿಸುವ ಮೂಲಕ ವಿಚಲಿತರಾಗುವುದಿಲ್ಲ.

eBPF ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ನಿರ್ವಹಿಸಲು, ಡಾಕರ್-ಶೈಲಿಯ "ಬೀ" ಸೌಲಭ್ಯವನ್ನು ನೀಡಲಾಗುತ್ತದೆ, ಅದರೊಂದಿಗೆ ನೀವು ತಕ್ಷಣ eBPF ಹ್ಯಾಂಡ್ಲರ್ ಅನ್ನು ಬಾಹ್ಯ ರೆಪೊಸಿಟರಿಯಿಂದ ಡೌನ್‌ಲೋಡ್ ಮಾಡಬಹುದು ಮತ್ತು ಅದನ್ನು ಸ್ಥಳೀಯ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಚಲಾಯಿಸಬಹುದು. ಆಯ್ದ ವಿಷಯದ eBPF ಹ್ಯಾಂಡ್ಲರ್‌ಗಳಿಗಾಗಿ C ಯಲ್ಲಿ ಕೋಡ್ ಫ್ರೇಮ್‌ವರ್ಕ್ ಅನ್ನು ರಚಿಸಲು ಟೂಲ್‌ಕಿಟ್ ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ (ಪ್ರಸ್ತುತ ನೆಟ್‌ವರ್ಕ್ ಮತ್ತು ಫೈಲ್ ಕಾರ್ಯಾಚರಣೆಗಳಿಗೆ ಮಾತ್ರ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳು ನೆಟ್‌ವರ್ಕ್ ಸ್ಟಾಕ್‌ಗೆ ಕರೆಗಳನ್ನು ಪ್ರತಿಬಂಧಿಸುವ ಮತ್ತು ಫೈಲ್ ಸಿಸ್ಟಮ್‌ಗಳಿಗೆ ಬೆಂಬಲಿತವಾಗಿದೆ). ರಚಿಸಲಾದ ಚೌಕಟ್ಟಿನ ಆಧಾರದ ಮೇಲೆ, ಡೆವಲಪರ್ ಅವರು ಆಸಕ್ತಿ ಹೊಂದಿರುವ ಕಾರ್ಯವನ್ನು ತ್ವರಿತವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು.

BCC (BPF ಕಂಪೈಲರ್ ಕಲೆಕ್ಷನ್) ಗಿಂತ ಭಿನ್ನವಾಗಿ, BumbleBee ಲಿನಕ್ಸ್ ಕರ್ನಲ್‌ನ ಪ್ರತಿ ಆವೃತ್ತಿಗೆ ಹ್ಯಾಂಡ್ಲರ್ ಕೋಡ್ ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಮರುನಿರ್ಮಾಣ ಮಾಡುವುದಿಲ್ಲ (BCC ಪ್ರತಿ ಬಾರಿ eBPF ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿದಾಗ ಕ್ಲಾಂಗ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಆನ್-ದಿ-ಫ್ಲೈ ಸಂಕಲನವನ್ನು ಬಳಸುತ್ತದೆ). ಪೋರ್ಟಬಿಲಿಟಿಯೊಂದಿಗಿನ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು, CO-RE ಮತ್ತು libbpf ಪರಿಕರಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗುತ್ತಿದೆ, ಇದು ನಿಮಗೆ ಒಮ್ಮೆ ಮಾತ್ರ ಕೋಡ್ ಅನ್ನು ನಿರ್ಮಿಸಲು ಮತ್ತು ಲೋಡ್ ಮಾಡಲಾದ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಪ್ರಸ್ತುತ ಕರ್ನಲ್ ಮತ್ತು BTF ಟೈಪ್ ಫಾರ್ಮ್ಯಾಟ್‌ಗೆ ಅಳವಡಿಸುವ ವಿಶೇಷ ಸಾರ್ವತ್ರಿಕ ಲೋಡರ್ ಅನ್ನು ಬಳಸಲು ಅನುಮತಿಸುತ್ತದೆ. BumbleBee libbpf ಗೆ ಆಡ್-ಆನ್ ಆಗಿದೆ ಮತ್ತು ಪ್ರಮಾಣಿತ eBPF ನಕ್ಷೆ ರಚನೆಗಳಾದ RingBuffer ಮತ್ತು HashMap ನಲ್ಲಿರುವ ಡೇಟಾದ ಸ್ವಯಂಚಾಲಿತ ವ್ಯಾಖ್ಯಾನ ಮತ್ತು ಪ್ರದರ್ಶನಕ್ಕಾಗಿ ಹೆಚ್ಚುವರಿ ಪ್ರಕಾರಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ.

ಅಂತಿಮ eBPF ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ನಿರ್ಮಿಸಲು ಮತ್ತು ಅದನ್ನು OCI ಇಮೇಜ್ ಆಗಿ ಉಳಿಸಲು, "bee build file_with_code name:version" ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಿ, ಮತ್ತು "bee run name:version" ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಲು. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಹ್ಯಾಂಡ್ಲರ್‌ನಿಂದ ಸ್ವೀಕರಿಸಿದ ಈವೆಂಟ್‌ಗಳು ಟರ್ಮಿನಲ್ ವಿಂಡೋಗೆ ಔಟ್‌ಪುಟ್ ಆಗುತ್ತವೆ, ಆದರೆ ಅಗತ್ಯವಿದ್ದರೆ, ಹ್ಯಾಂಡ್ಲರ್‌ಗೆ ಬಂಧಿಸಲಾದ ನೆಟ್‌ವರ್ಕ್ ಪೋರ್ಟ್‌ಗೆ ಕರ್ಲ್ ಅಥವಾ wget ಉಪಯುಕ್ತತೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು ಡೇಟಾವನ್ನು ಪಡೆಯಬಹುದು. OCI-ಹೊಂದಾಣಿಕೆಯ ರೆಪೊಸಿಟರಿಗಳ ಮೂಲಕ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳನ್ನು ವಿತರಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ, ghcr.io ರೆಪೊಸಿಟರಿಯಿಂದ (GitHub ಕಂಟೈನರ್ ರಿಜಿಸ್ಟ್ರಿ) ಬಾಹ್ಯ ಹ್ಯಾಂಡ್ಲರ್ ಅನ್ನು ಚಲಾಯಿಸಲು, ನೀವು “bee run ghcr.io/solo-io/bumblebee/tcpconnect ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಬಹುದು: $(ಬೀ ಆವೃತ್ತಿ)”. ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಹ್ಯಾಂಡ್ಲರ್ ಅನ್ನು ಇರಿಸಲು, "ಬೀ ಪುಶ್" ಆಜ್ಞೆಯನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ ಮತ್ತು ಆವೃತ್ತಿಯನ್ನು ಬೈಂಡ್ ಮಾಡಲು, "ಬೀ ಟ್ಯಾಗ್".

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ