рдмрдореНрдмрд▓рдмреА - рдИрдмреАрдкреАрдПрдл рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╡рд┐рддрд░рдг рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреВрд▓рдХрд┐рдЯ

рд╕реЛрд▓реЛ.рдЖрдИрдУ, рдПрдХ рдХрдВрдкрдиреА рдЬреЛ рдХреНрд▓рд╛рдЙрдб рд╕рд┐рд╕реНрдЯрдо, рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ, рдкреГрдердХ рдХрдВрдЯреЗрдирд░ рдФрд░ рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрд╛рдж рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреА рд╣реИ, рдиреЗ рдмрдореНрдмрд▓рдмреА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдЯреВрд▓рдХрд┐рдЯ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдИрдмреАрдкреАрдПрдл рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рддреИрдпрд╛рд░реА, рд╡рд┐рддрд░рдг рдФрд░ рд▓реЙрдиреНрдЪ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдирд╛ рд╣реИ рдЬреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВред рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрдЪрд╛рд▓рди, рдирд┐рдпрдВрддреНрд░рдг рдкрд╣реБрдВрдЪ рдФрд░ рдореЙрдирд┐рдЯрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдХреЛрдб Go рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ Apache 2.0 рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

BumbleBee рдПрдХ eBPF рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ OCI (рдУрдкрди рдХрдВрдЯреЗрдирд░ рдЗрдирд┐рд╢рд┐рдПрдЯрд┐рд╡) рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рдХрдВрдЯреЗрдирд░ рдЫрд╡рд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдкреИрдХреЗрдЬ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдХрд┐рд╕реА рднреА рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкреБрдирд░реНрд╕рдВрдХрд▓рди рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рди рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдШрдЯрдХреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд┐рдирд╛ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреЛрд░ рдореЗрдВ рдИрдмреАрдкреАрдПрдл рдХреЛрдб рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реЗрдХреНрд╢рди, рдИрдмреАрдкреАрдПрдл рд╣реИрдВрдбрд▓рд░ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рд╣рд┐рдд, рдмрдореНрдмрд▓рдмреА рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рдореЗрдЯреНрд░рд┐рдХреНрд╕, рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдпрд╛ рд▓реЙрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд░реНрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛. рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдИрдмреАрдкреАрдПрдл рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рди, рдЕрд╕реЗрдВрдмрд▓реА рдФрд░ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдЗрд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрд╢рди рдЖрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╡рд┐рдЪрд▓рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдИрдмреАрдкреАрдПрдл рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдбреЙрдХрд░-рд╢реИрд▓реА "рдмреА" рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рддреБрд░рдВрдд рдмрд╛рд╣рд░реА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд░реБрдЪрд┐ рдХреЗ рдИрдмреАрдкреАрдПрдл рд╣реИрдВрдбрд▓рд░ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЯреВрд▓рдХрд┐рдЯ рдЖрдкрдХреЛ рдЪрдпрдирд┐рдд рд╡рд┐рд╖рдп рдХреЗ рдИрдмреАрдкреАрдПрдл рд╣реИрдВрдбрд▓рд░ рдХреЗ рд▓рд┐рдП рд╕реА рдореЗрдВ рдПрдХ рдХреЛрдб рдлреНрд░реЗрдорд╡рд░реНрдХ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдлрд╝рд╛рдЗрд▓ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рд╣реИрдВрдбрд▓рд░ рдЬреЛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдЯреИрдХ рдФрд░ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреЙрд▓ рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВ) рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред рдЙрддреНрдкрдиреНрди рдврд╛рдВрдЪреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдбреЗрд╡рд▓рдкрд░ рдЕрдкрдиреА рд░реБрдЪрд┐ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рддреБрд░рдВрдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдмреАрд╕реАрд╕реА (рдмреАрдкреАрдПрдл рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд▓реЗрдХреНрд╢рди) рдХреЗ рд╡рд┐рдкрд░реАрдд, рдмрдореНрдмрд▓рдмреА рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╣реИрдВрдбрд▓рд░ рдХреЛрдб рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдмреАрд╕реАрд╕реА рд╣рд░ рдмрд╛рд░ рдИрдмреАрдкреАрдПрдл рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рдкрд░ рдХреНрд▓реИрдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрди-рдж-рдлреНрд▓рд╛рдИ рд╕рдВрдХрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ)ред рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, CO-RE рдФрд░ libbpf рдЙрдкрдХрд░рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдХреЛрдб рдмрдирд╛рдиреЗ рдФрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд▓реЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╡рд░реНрддрдорд╛рди рдХрд░реНрдиреЗрд▓ рдФрд░ BTF рдкреНрд░рдХрд╛рд░ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдмрдореНрдмрд▓рдмреА libbpf рдХреЗ рд▓рд┐рдП рдПрдХ рдРрдб-рдСрди рд╣реИ рдФрд░ рдорд╛рдирдХ eBPF рдорд╛рдирдЪрд┐рддреНрд░ рд╕рдВрд░рдЪрдирд╛рдУрдВ рд░рд┐рдВрдЧрдмрдлрд╝рд░ рдФрд░ рд╣реИрд╢рдореИрдк рдореЗрдВ рд╕реНрдерд┐рдд рдбреЗрдЯрд╛ рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡реНрдпрд╛рдЦреНрдпрд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдХрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдЕрдВрддрд┐рдо 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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ