Method for network load balancing and electronic device using same

The integration of an electronic device with Kubernetes and Multus CNI provides efficient load balancing across multiple network interfaces, addressing the lack of load balancer support in secondary networks and ensuring high-performance and secure exposure of workloads.

WO2026116528A1PCT designated stage Publication Date: 2026-06-04NETLOX CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
NETLOX CO LTD
Filing Date
2024-11-27
Publication Date
2026-06-04

AI Technical Summary

Technical Problem

Secondary networks in Kubernetes environments lack basic load balancer support, making it difficult to expose workloads to external networks, particularly in high-performance networking scenarios.

Method used

An electronic device integrates with Kubernetes and the Multus CNI plugin to provide efficient and scalable network load balancing by utilizing eBPF technology for packet processing and maintaining compatibility with Kubernetes network policies, enabling load balancing across multiple network interfaces.

Benefits of technology

Enables stable, high-performance, and secure exposure of Multus-based workloads to external networks, enhancing network availability and failure resistance while adhering to Kubernetes networking policies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024019053_04062026_PF_FP_ABST
    Figure KR2024019053_04062026_PF_FP_ABST
Patent Text Reader

Abstract

An electronic device according to various embodiments may comprise the operations of: installing a load balancing interface with first Multus of a first worker node and a second Multus of a second worker node; and performing load balancing between the first Multus and the second Multus, wherein the first worker node may include a first pod and a second pod, the first pod and the second pod may configure the first Multus, the second worker node may include a third pod and a fourth pod, and the third pod and the fourth pod may configure a second Multus. Various other embodiments are also possible.
Need to check novelty before this filing date? Find Prior Art

Description

Network load balancing method and electronic device using the same

[0001] Various embodiments of the present invention relate to a network load control method and an electronic device using the same.

[0002] In the Fourth Industrial Revolution, which is a hot topic today, various types of data can be hyper-connected through various devices. In this environment, the market for innovative convergence new products and service solutions that reflect user needs may expand, and to support this, it may be necessary to build a network infrastructure capable of processing various types of data without loss.

[0003] The Multus CNI (Container Network Interface) plugin enables Kubernetes pods to connect to multiple networks and supports use cases requiring high-performance networking or multihoming capabilities. However, these secondary networks lack basic load balancer support, making it difficult to expose the workloads of the secondary networks to the outside.

[0004] An electronic device according to various embodiments comprises: an operation of installing a load balancing interface between a first Multus of a first worker node and a second Multus of a second worker node; and an operation of performing load balancing between the first Multus and the second Multus, wherein the first worker node includes a first pod and a second pod, the first pod forms a first Multus with the second pod, the second worker node includes a third pod and a fourth pod, and the third pod forms a second Multus with the fourth pod.

[0005] According to various embodiments of the present invention, an electronic device (e.g., a load balancer) can be integrated with Kubernetes to provide efficient and scalable network load balancing for Multus-based workloads.

[0006] FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments of the present invention.

[0007] FIG. 2 is a block diagram of a program according to various embodiments of the present invention.

[0008] FIG. 3 is a schematic diagram illustrating a load balancing system for Kubernetes worker nodes through an electronic device according to various embodiments of the present invention.

[0009] FIG. 4 is a diagram illustrating a method for dynamically creating service resources in YAML format in Kubernetes according to various embodiments of the present invention.

[0010] FIG. 5 is a schematic diagram illustrating the flow of setting up a network interface of multus in Kubernetes of an electronic device according to various embodiments of the present invention.

[0011] FIG. 1 is a block diagram of an electronic device (101) in a network environment (100) according to various embodiments. Referring to FIG. 1, in the network environment (100), the electronic device (101) may communicate with an electronic device (102) through a first network (198) (e.g., a short-range wireless communication network) or with an electronic device (104) or a server (108) through a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) through a server (108). According to one embodiment, the electronic device (101) may include a processor (120), memory (130), input device (150), sound output device (155), display device (160), audio module (170), sensor module (176), interface (177), haptic module (179), camera module (180), power management module (188), battery (189), communication module (190), subscriber identification module (196), or antenna module (197). In some embodiments, at least one of these components (e.g., display device (160) or camera module (180)) may be omitted from the electronic device (101), or one or more other components may be added. In some embodiments, some of these components may be implemented as a single integrated circuit. For example, a sensor module (176) (e.g., fingerprint sensor, iris sensor, or light sensor) can be implemented embedded in a display device (160) (e.g., display).

[0012] The processor (120) can control at least one other component (e.g., hardware or software component) of the electronic device (101) connected to the processor (120) by executing software (e.g., program (140)), for example, and can perform various data processing or operations. According to one embodiment, as at least part of the data processing or operations, the processor (120) can load commands or data received from other components (e.g., sensor module (176) or communication module (190)) into volatile memory (132), process the commands or data stored in volatile memory (132), and store the resulting data in non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., central processing unit or application processor) and an auxiliary processor (123) (e.g., graphics processing unit, image signal processor, sensor hub processor, or communication processor) that can be operated independently or together with it. Additionally or generally, the auxiliary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a designated function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as part thereof.

[0013] The auxiliary processor (123) can control at least some of the functions or states associated with at least one component of the electronic device (101) (e.g., display device (160), sensor module (176), or communication module (190)) on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. According to one embodiment, the auxiliary processor (123) (e.g., image signal processor or communication processor) may be implemented as part of another functionally related component (e.g., camera module (180) or communication module (190)).

[0014] The memory (130) can store various data used by at least one component of the electronic device (101) (e.g., processor (120) or sensor module (176)). The data may include, for example, input data or output data for software (e.g., program (140)) and related commands. The memory (130) may include volatile memory (132) or non-volatile memory (134).

[0015] The program (140) may be stored as software in memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).

[0016] The input device (150) can receive commands or data to be used for a component of the electronic device (101) (e.g., processor (120)) from outside the electronic device (101) (e.g., user). The input device (150) may include, for example, a microphone, a mouse, or a keyboard.

[0017] The sound output device (155) can output a sound signal to the outside of the electronic device (101). The sound output device (155) may include, for example, a speaker or a receiver. The speaker may be used for general purposes such as multimedia playback or recording playback, and the receiver may be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part thereof.

[0018] The display device (160) can visually provide information to an external (e.g., user) of the electronic device (101). The display device (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling said device. According to one embodiment, the display device (160) may include a touch circuitry configured to detect a touch, or a sensor circuitry configured to measure the intensity of the force generated by said touch (e.g., a pressure sensor).

[0019] The audio module (170) can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through an input device (150) or output sound through an audio output device (155) or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphones) that is directly or wirelessly connected to the electronic device (101).

[0020] The sensor module (176) can detect the operating state of the electronic device (101) (e.g., power or temperature) or the external environmental state (e.g., user state) and generate an electrical signal or data value corresponding to the detected state. According to one embodiment, the sensor module (176) may include, for example, a gesture sensor, a gyroscope sensor, a barometric pressure sensor, a magnetic sensor, an accelerometer sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biosensor, a temperature sensor, a humidity sensor, or an illuminance sensor.

[0021] The interface (177) may support one or more specified protocols that can be used for the electronic device (101) to be connected directly or wirelessly to an external electronic device (e.g., electronic device (102)). According to one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

[0022] The connection terminal (178) may include a connector through which the electronic device (101) can be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).

[0023] The haptic module (179) can convert an electrical signal into a mechanical stimulus (e.g., vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic senses. According to one embodiment, the haptic module (179) may include, for example, a motor, a piezoelectric element, or an electric stimulation device.

[0024] The camera module (180) can capture still images and video. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.

[0025] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (388) can be implemented, for example, as at least part of a power management integrated circuit (PMIC).

[0026] The battery (189) can supply power to at least one component of the electronic device (101). According to one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

[0027] The communication module (190) can support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between an electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may include one or more communication processors that operate independently of the processor (120) (e.g., application processor) and support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., cellular communication module, short-range wireless communication module, or GNSS (global navigation satellite system) communication module) or a wired communication module (194) (e.g., LAN (local area network) communication module, or power line communication module). The corresponding communication module among these communication modules can communicate with an external electronic device through a first network (198) (e.g., a short-range communication network such as Bluetooth, Wi-Fi Direct, or IrDA (infrared data association)) or a second network (199) (e.g., a cellular network, the Internet, or a long-range communication network such as a computer network (e.g., LAN or WAN). These various types of communication modules may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can identify and authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) using subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module (196).

[0028] The antenna module (197) can transmit a signal or power to or from the outside (e.g., an external electronic device). According to one embodiment, the antenna module (197) may include one or more antennas, from which at least one antenna suitable for a communication method used in a communication network such as a first network 198 or a second network 199 may be selected, for example, by the communication module (190). The signal or power may be transmitted or received between the communication module (190) and the external electronic device through the selected at least one antenna.

[0029] At least some of the above components can be connected to each other via a communication method between peripheral devices (e.g., bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)) and exchange signals (e.g., commands or data) with each other.

[0030] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) through a server (108) connected to a second network (199). Each of the electronic devices (102, 104) may be the same or different type of device as the electronic device (101). According to one embodiment, all or part of the operations performed on the electronic device (101) may be performed on one or more of the external electronic devices (102, 104, or 108). For example, if the electronic device (101) needs to perform a function or service automatically or in response to a request from a user or another device, the electronic device (101) may request one or more external electronic devices to perform at least part of the function or service instead of performing the function or service itself or additionally. One or more external electronic devices that receive the above request may execute at least part of the requested function or service, or additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may provide the result as is or additionally processed as at least part of the response to the request. For this purpose, for example, cloud computing, distributed computing, or client-server computing technology may be used.

[0031] FIG. 2 is a block diagram (200) of a program (140) according to various embodiments. According to one embodiment, the program (140) may include an operating system (142), middleware (144), or an application (146) executable on the operating system (142) for controlling one or more resources of an electronic device (101). The operating system (142) is, for example, Android TM , iOS TM , Windows TM , Symbian TM, Tizen TM , or Bada TM It may include. At least some of the programs (140) may be preloaded into the electronic device (101) at manufacturing time, for example, or downloaded or updated from an external electronic device (e.g., electronic device (102 or 104), or server (108)) in the user's usage environment.

[0032] The operating system (142) can control (e.g., allocate or reclaim) system resources (e.g., processes, memory, or power) of the electronic device (101). The operating system (142) may additionally or substantially include one or more driver programs for driving other hardware devices of the electronic device (101), e.g., an input device (150), an audio output device (155), a display device (160), an audio module (170), a sensor module (176), an interface (177), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197).

[0033] Middleware (144) may provide various functions to the application (146) so that the application (146) can use the functions or information provided by one or more resources of the electronic device (101). Middleware (144) may include, for example, an application manager (201), a window manager (203), a multimedia manager (205), a resource manager (207), a power manager (209), a database manager (211), a package manager (213), a connectivity manager (215), a notification manager (217), a location manager (219), a graphics manager (221), a security manager (223), a call manager (225), or a voice recognition manager (227). The application manager (201) may, for example, manage the lifecycle of the application (146). The window manager (203) may, for example, manage GUI resources used on the screen. The multimedia manager (205) can, for example, identify the format required for the playback of media files and perform encoding or decoding of the media files using a codec that matches the format. The resource manager (207) can, for example, manage the source code or memory space of the application (146). The power manager (209) can, for example, manage the capacity, temperature, or power of the battery and, using the relevant information, determine or provide power information required for the operation of the electronic device (101). According to one embodiment, the power manager (209) can be linked with the BIOS (basic input / output system).

[0034] The database manager (211) can, for example, create, search, or modify a database to be used in the application (146). The package manager (213) can, for example, manage the installation or update of an application distributed in the form of a package file. The connectivity manager (215) can, for example, manage a wireless or wired connection between the electronic device (101) and an external electronic device. The notification manager (217) can, for example, provide a function to notify the user of an event that has occurred (e.g., a call, a message, or an alarm). The location manager (219) can, for example, manage location information of the electronic device (101). The graphics manager (221) can, for example, manage graphic effects to be provided to the user or a user interface related thereto. The security manager (223) can, for example, provide system security or user authentication. The telephony manager (225) can, for example, manage voice or video call functions of the electronic device (101). The voice recognition manager (227) may, for example, transmit the user's voice data to the server (108) and receive a command corresponding to a function to be performed on the electronic device (101) based on the voice data, or text data converted based on the voice data. According to one embodiment, the middleware (244) may dynamically delete some existing components or add new components. According to one embodiment, at least a portion of the middleware (144) may be included as part of the operating system (142) or implemented as software separate from the operating system (142).

[0035] The application (146) may include, for example, a home (251), a dialer (253), an SMS / MMS (255), an IM (instant message) (257), a browser (259), a camera (261), an alarm (263), a contact (265), a voice recognition (267), an email (269), a calendar (271), a media player (273), an album (275), a watch (277), a health (279) (e.g., measuring exercise volume or blood sugar, etc.), or an environmental information (281) (e.g., atmospheric pressure, humidity, or temperature information). According to one embodiment, the application (146) may further include an information exchange application (not shown) capable of supporting information exchange between the electronic device (101) and an external electronic device. The information exchange application may include, for example, a notification relay application for transmitting information (e.g., a call, a message, or an alarm) designated to an external electronic device, or a device management application for managing the external electronic device. The notification relay application may, for example, transmit notification information corresponding to an event (e.g., receiving mail) generated in another application of the electronic device (101) (e.g., an email application (269)) to the external electronic device, or receive notification information from the external electronic device and provide it to the user of the electronic device (101). The device management application may, for example, control the power (e.g., turn-on or turn-off) or function (e.g., brightness, resolution, or focus of the display device (160) or camera module (180)) of the external electronic device or some component thereof that communicates with the electronic device (101). A device management application can additionally or substantially support the installation, deletion, or updating of applications running on external electronic devices.

[0036] The electronic device according to the various embodiments disclosed in this document may be of various forms. The electronic device may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a consumer electronics device. The electronic device according to the embodiments of this document is not limited to the devices described above.

[0037] The various embodiments of this document and the terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutions of such embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of said items unless the relevant context clearly indicates otherwise. In this document, phrases such as "A or B," "at least one of A and B," "at least one of A or B," "A, B or C," "at least one of A, B and C," and "at least one of A, B, or C" may each include any possible combination of items listed together in the corresponding phrase. Terms such as "first," "second," or "first" or "second" may be used simply to distinguish a component from another corresponding component and do not limit the components in any other aspect (e.g., importance or order). Where any (e.g., 1st) component is referred to as “coupled” or “connected” to another (e.g., 2nd) component, with or without the terms “functionally” or “communicationly,” it means that said any component may be connected to said other component directly (e.g., via a wire), wirelessly, or through a third component.

[0038] As used in this document, the term "module" may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be a component formed integrally, or a minimum unit of said component or a part thereof that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).

[0039] Various embodiments of the present document may be implemented as software (e.g., program (140)) comprising one or more instructions stored in a storage medium (e.g., internal memory (136) or external memory (138)) readable by a machine (e.g., electronic device (101)). For example, a processor (e.g., processor (120)) of the machine (e.g., electronic device (101)) may call at least one of the one or more instructions stored in the storage medium and execute it. This enables the machine to be operated to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code that can be executed by an interpreter. The storage medium readable by the machine may be provided in the form of a non-transitory storage medium. Here, 'non-temporary' merely means that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic waves), and this term does not distinguish between cases where data is stored semi-permanently and cases where it is stored temporarily.

[0040] According to one embodiment, the method according to the various embodiments disclosed herein may be provided by being included in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or distributed online (e.g., download or upload) through an application store (e.g., Play Store™) or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily created on a device-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.

[0041] According to various embodiments, each component (e.g., module or program) of the components described above may include a singular or multiple entities. According to various embodiments, one or more of the components or operations among the aforementioned components may be omitted, or one or more other components or operations may be added. Generally or additionally, multiple components (e.g., module or program) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the components of the multiple components in the same or similar manner as those performed by the corresponding component among the multiple components prior to the integration. According to various embodiments, operations performed by the module, program, or other components may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.

[0042] FIG. 3 is a schematic diagram illustrating a load balancing system for Kubernetes worker nodes through an electronic device according to various embodiments of the present invention.

[0043] According to various embodiments, with reference to FIG. 300, the electronic device (310) may correspond to a load balancer. The electronic device (310) may provide a method for exposing a workload connected to a secondary network using Multus CNI in a Kubernetes cluster (320, 330) to an external network. As a high-performance load balancer, the electronic device (310) can efficiently handle network traffic using eBPF technology and reliably provide external access while complying with Kubernetes' networking policies.

[0044] According to various embodiments, the Multus CNI (329, 339) enables Kubernetes pods (pod (327, 337)) to connect to multiple networks (e.g., Multi-homed pod (325, 335)), thereby supporting high-performance networking or multi-homed connectivity when needed. In other words, the Multus CNI may correspond to a plugin that enables pods in a Kubernetes cluster to connect to multiple networks. Previously, auxiliary networks (325, 335) did not natively support load balancers, making external exposure difficult, but the electronic device (310) resolves this, enabling efficient and scalable load balancing for Multus-based workloads. That is, by default, Kubernetes allows each pod to have only one network interface connected, but with Multus, pods (325, 327, 335, 337) can have multiple network interfaces (321, 323, 331, 333). For example, the first pod (325) can use the first network interface (ensp0, 321) and the second network interface (ensp1, 323), and through this, can be connected to the first interface (eth2, 311) or the second interface (eth3, 313) of the electronic device (310). In Multus, eth can refer to a network interface within a pod. Generally, a Kubernetes pod can have a default network interface (e.g., eth0). With Multus, additional network interfaces (e.g., eth1, eth2, etc.) can be connected to a pod. These interfaces allow Pods to connect to multiple networks, and each network interface can provide a connection path to a different network. For example, eth0 can be connected to the default Kubernetes network, and eth1 can be connected to a separate high-performance data network or a specific VLAN network.

[0045] According to various embodiments, a Pod (327, 337) of a Kubernetes cluster (320, 330) can be connected to multiple secondary networks (325, 335) in addition to the primary network via Multus (329, 339). This allows specific traffic to be separated into separate networks or to meet special network requirements. Multus is useful for workloads requiring high-speed networking; for example, data-intensive applications can improve performance through separate data path networks. Multus allows a single Pod to connect to multiple networks, supporting flexible connectivity through various network paths. This can enhance high availability and network failure resistance.

[0046] According to various embodiments, the first interface (311, eth2) of the electronic device (310) may be connected to the first network interface (ensp0, 321) of the first worker node (320) or the second network interface (ens33, 331) of the second worker node (330). The second interface (313, eth3) of the electronic device (310) may be connected to the second network interface (ensp1, 323) of the first worker node (320) or the first network interface (ens0, 333) of the second worker node (330). This allows for the implementation of a multi-network and multi-interface configuration in a Kubernetes cluster by utilizing a load balancer such as the Multus CNI and the electronic device (310). The electronic device (310) can distribute and process network traffic across two worker nodes through multiple network interfaces.

[0047] According to various embodiments, the electronic device (310) may include a service proxy, a NetworkAttachmentDefinition, a load balancer annotation, etc. For example, the service proxy of the electronic device (310) may replace kube-proxy to manage load balancer rules for a Multus secondary network. For example, the NetworkAttachmentDefinition may define a secondary network using Multus. This definition specifies how to handle additional network interfaces for Kubernetes and may include annotations for load balancing in the Kubernetes service manifest. The load balancer annotation may set load balancer rules for a secondary network using annotations for the load balancer. The electronic device (310) may verify that pods and services have been created correctly and that traffic is being managed correctly. The electronic device (310) may check connectivity and rule enforcement through command tools and health checks.

[0048] According to various embodiments, the electronic device (310) can perform packet processing using eBPF by deploying the electronic device (310) as an external node to a Kubernetes cluster having an auxiliary network configured with Multus.

[0049] According to various embodiments, the electronic device (310) can define a Multus network and manage IP addresses (IPAM, IP Address Management). For example, the IPAM of the electronic device (310) may refer to a system or process that systematically tracks and manages IP addresses in a network. Through the IPAM of the electronic device (310), network administrators can efficiently allocate IP address space and monitor usage.

[0050] According to various embodiments, the electronic device (310) can install Kubernetes and components and ensure a connection with Kubernetes nodes. The electronic device (310) can define a Multus network using a Yet Another Markup Language (YAML) file and deploy it to pods. The electronic device (310) can configure service YAML for the Multus network to set up functions or behaviors as a load balancer. Consequently, through the integration of the electronic device (310) and Multus, multiple network workloads of Kubernetes can be efficiently exposed to an external network.

[0051] According to various embodiments, the electronic device (310) is integrated with Kubernetes and the Multus CNI plugin and can be used without making significant changes to the existing Kubernetes setup. This minimizes confusion during the introduction process and allows for rapid application.

[0052] According to various embodiments, the electronic device (310) can efficiently perform packet processing using an eBPF (Extended Berkeley Packet Filter). The eBPF operates within the Linux kernel to enable fast and efficient packet filtering and processing, thereby reducing latency and increasing throughput, which can improve network performance.

[0053] According to various embodiments, the electronic device (310) can support multihoming with high-performance applications (a function in which a single network device is connected to multiple networks). The electronic device (310) can ensure stable and scalable network performance by providing load balancing functions for auxiliary networks configured with Multus.

[0054] According to various embodiments, the electronic device (310) can apply Kubernetes network policies and access controls to auxiliary network traffic as well. By doing so, the electronic device (310) can ensure safe and managed access to the workload by maintaining network rules defined in Kubernetes.

[0055] According to various embodiments, the electronic device (310) can provide a comprehensive solution capable of exposing Multus-based Kubernetes workloads to an external network. By utilizing eBPF for advanced packet processing and maintaining compatibility with Kubernetes network policies, the electronic device (310) can provide a network solution suitable for modern cloud-native applications that is high-performance, scalable, and secure.

[0056] FIG. 4 is a diagram illustrating a method for dynamically creating service resources in YAML format in Kubernetes according to various embodiments of the present invention.

[0057] According to various embodiments, the electronic device (310) may provide example YAML files for deploying a Multus network, load balancer configuration, Kubernetes service definition, etc. The electronic device (310) may provide data comparing network performance before and after integration of Kubernetes and the electronic device (310). For example, the performance improvement provided by the electronic device (310) may be described by including metrics such as latency, packet loss, and throughput.

[0058] According to various embodiments, with reference to FIG. 400, the command may correspond to dynamically creating a service resource in YAML format using the kubectl create -f - command in Kubernetes. For example, the Kubernetes API version, the type of resource, the service name, metadata regarding the Kubernetes object, and settings for the multus network plugin may be specified. For example, when defining the actual configuration of the service, the load balancer to be used may be specified through loadBalancerClass, and the pod to which the service will be connected may be specified through selector. Additionally, the ports to be used by the service may be defined through ports, and the type may be defined to indicate that the service can be connected to an external load balancer. In conclusion, through the YAML of FIG. 400, a Kubernetes service named multus-service may be created, specific network interfaces (macvlan1, macvlan2) may be configured, and a service resource providing external access as a load balancer type may be defined.

[0059] FIG. 5 is a schematic diagram illustrating the flow of performing load balancing by configuring the network interface of multus in Kubernetes according to various embodiments of the present invention.

[0060] According to various embodiments, in a 511 operation, Multus can be deployed to provide auxiliary network interfaces to Kubernetes pods.

[0061] According to various embodiments, in 513 operation, a load balancer can be installed to manage load balancing of auxiliary network interfaces.

[0062] According to various embodiments, in 515 operation, Kubernetes services can be configured based on annotations for creating rules for a load balancer for a Multus network.

[0063] In a method of an electronic device (310) according to various embodiments, the operation of installing a load balancing interface (311, 313) with a first Multus (329) of a first worker node (320) and a second Multus (339) of a second worker node (330); and perform load balancing between the first Multus (329) and the second Multus (330); wherein the first worker node (320) includes a first pod (325) and a second pod (327), the first pod (325) forms the first Multus (329) with the second pod (327), the second worker node (330) includes a third pod (335) and a fourth pod (337), and the third pod (335) forms the second Multus (339) with the fourth pod (337).

[0064] The first worker node (320) includes a first network interface (ensp0, 321) and a second network interface (ensp1, 323), the second worker node (330) includes a third network interface (ens33, 331) and a fourth network interface (ens0, 333), the load balancing interface includes a first load balancing interface (eth2, 311) and a second load balancing interface (eth3, 313), and the first load balancing interface (311) may include an operation of performing load balancing between the first network interface (321) and the third network interface (331); and the second load balancing interface (313) may include an operation of performing load balancing between the second network interface (323) and the fourth network interface (333).

[0065] The first network interface (321) and the third network interface (331) can be connected to the macvlan / sriov etc. of the first worker node (320) and the second worker node (330), respectively.

[0066] The second network interface (323) and the fourth network interface (333) can be connected to the Kubernetes plugins of the first worker node (320) and the second worker node (330), respectively.

[0067] It may include an operation of performing load balancing between the first pod (325) and the second pod (327) through the first Multus (329); and an operation of performing load balancing between the third pod (335) and the fourth pod (337) through the second Multus (339).

[0068] The first pod (325) is a multi-homed pod of the second pod (327), and the third pod (335) may be a multi-homed pod of the fourth pod (337).

[0069] The first pod (325) includes a first pod interface (net1) and a second pod interface (eth0), and the third pod (335) may include a third pod interface (net1) and a fourth pod interface (eth0).

[0070] The operation of performing the above load balancing may include an operation to reduce the load by applying a network policy using eBPF.

[0071] It may include an operation of integrating with an existing CNI of an open source platform including the first worker node (320) and the second worker node (330).

[0072] The above open source platform may be Kubenetes.

Claims

1. In a method of an electronic device, The operation of installing a load balancing interface with the first Multus of the first worker node and the second Multus of the second worker node; and The operation of performing load balancing between the first Multus and the second Multus; is included, The above-mentioned first worker node includes a first pod and a second pod, and The first pod above constitutes the second pod and the first Multus, and The above second worker node includes a third pod and a fourth pod, and The above third pod is a method of electronic devices constituting the above fourth pod and second Multus.

2. In Paragraph 1, The first worker node includes a first network interface and a second network interface, and The second worker node includes a third network interface and a fourth network interface, and The above load balancing interface includes a first load balancing interface and a second load balancing interface, and The first load balancing interface performs load balancing between the first network interface and the third network interface; and A method of an electronic device comprising the operation of the second load balancing interface performing load balancing between the second network interface and the fourth network interface.

3. In Paragraph 2, A method of an electronic device in which the first network interface and the third network interface are connected to the macvlan / sriov etc. of each of the first worker node and the second worker node.

4. In Paragraph 3, The above second network interface and the above fourth network interface are a method of an electronic device connected to a Kubernetes plugin of each of the first worker node and the second worker node.

5. In Paragraph 4, An operation to perform load balancing between the first pod and the second pod through the first Multus; and A method of an electronic device comprising the operation of performing load balancing between the third pod and the fourth pod through the second Multus.

6. In Paragraph 5, The first pod is a multi-homed pod of the second pod, and The above third pod is a method of an electronic device that is a Multi-homed pod of the above fourth pod.

7. In Paragraph 6, The first pod includes a first pod interface and a second pod interface, and The above third pod is a method of an electronic device comprising a third pod interface and a fourth pod interface.

8. In Paragraph 7, The operation of performing the above load balancing is, A method of an electronic device including an operation to reduce load by applying a network policy using eBPF.

9. In Paragraph 8, A method of an electronic device comprising an operation to integrate with an existing CNI of an open source platform including the first worker node and the second worker node.

10. In Paragraph 9, The above open source platform is a method of electronic devices that is Kubenetes.