WO2023226197A1 - Cloud native storage method and apparatus based on kubernetes, and device and medium - Google Patents

Cloud native storage method and apparatus based on kubernetes, and device and medium Download PDF

Info

Publication number
WO2023226197A1
WO2023226197A1 PCT/CN2022/110738 CN2022110738W WO2023226197A1 WO 2023226197 A1 WO2023226197 A1 WO 2023226197A1 CN 2022110738 W CN2022110738 W CN 2022110738W WO 2023226197 A1 WO2023226197 A1 WO 2023226197A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage
cloud native
storage control
kubernetes
control plane
Prior art date
Application number
PCT/CN2022/110738
Other languages
French (fr)
Chinese (zh)
Inventor
姚夏冰
王刚峰
张家华
Original Assignee
深圳前海环融联易信息科技服务有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳前海环融联易信息科技服务有限公司 filed Critical 深圳前海环融联易信息科技服务有限公司
Publication of WO2023226197A1 publication Critical patent/WO2023226197A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Definitions

  • This application relates to the field of cloud storage technology, and in particular to a cloud native storage method, device, equipment and media based on kubernetes.
  • ROOK tools are usually used to assist cloud storage
  • the storage system arranges storage resources, and Kubernetes storage is maintained outside the cluster environment.
  • the storage facility is always associated with an external resource.
  • the inventor realized that in most cases, storage is usually associated with nodes in the form of operating system kernel modules instead of being uniformly orchestrated and scheduled by kubernetes, which places a burden on storage operations and results in low storage utilization.
  • a cloud native storage method based on kubernetes includes:
  • the storage volume is allocated to the stateful workload for data storage.
  • a cloud native storage device based on kubernetes includes:
  • a sending unit configured to respond to a storage request initiated by the stateful workload of kubernetes and send the storage request to the kubernetes storage control plane;
  • a forwarding unit configured to remotely call the pre-created cloud native storage control plane through the kubernetes storage control plane, and forward the storage request to the cloud native storage control plane;
  • a parsing unit configured to parse the storage request through the cloud native storage control plane to obtain the persistent volume statement created by the stateful workload and the statement content of the persistent volume statement;
  • a creation unit configured to create a storage volume based on the declaration content by controlling the pre-created cloud native storage control engine through the cloud native storage control plane;
  • a storage unit configured to allocate the storage volume to the stateful workload for data storage.
  • a kind of computer equipment, described computer equipment includes:
  • a memory to store at least one instruction
  • a processor that executes instructions stored in the memory to implement the following steps:
  • the storage volume is allocated to the stateful workload for data storage.
  • a computer-readable storage medium in which at least one instruction is stored, and the at least one instruction is executed by a processor in a computer device to implement the following operations:
  • the storage volume is allocated to the stateful workload for data storage.
  • this application can create a cloud native storage control plane and a cloud native storage control engine on kubernetes, and assist in the creation of storage volumes based on the created cloud native storage control plane and cloud native storage control engine.
  • Kubernetes uniformly orchestrates and schedules storage, achieving hyper-converged integration of storage and Kubernetes, further allocating the created storage volumes to stateful workloads for data storage, and realizing cloud-native storage based on Kubernetes. Since there is no need for an independent storage system to manage storage, It reduces the burden of storage operations and improves storage utilization and storage performance.
  • Figure 1 is a flow chart of a preferred embodiment of the Kubernetes-based cloud native storage method of this application.
  • Figure 2 is a functional module diagram of a preferred embodiment of the Kubernetes-based cloud native storage device of this application.
  • Figure 3 is a schematic structural diagram of a computer device according to a preferred embodiment of this application's implementation of a kubernetes-based cloud native storage method.
  • FIG. 1 it is a flow chart of a preferred embodiment of the cloud native storage method based on kubernetes in this application. Depending on different needs, the order of steps in this flowchart can be changed and some steps can be omitted.
  • the Kubernetes-based cloud native storage method is applied to one or more computer devices.
  • the computer device is a device that can automatically perform numerical calculations and/or information processing according to preset or stored instructions. Its hardware Including but not limited to microprocessors, Application Specific Integrated Circuit (ASIC), Programmable Gate Array (Field-Programmable Gate Array, FPGA), Digital Processor (Digital Signal Processor, DSP), embedded devices, etc.
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • DSP Digital Processor
  • embedded devices etc.
  • the computer device can be any electronic product that can perform human-computer interaction with the user, such as a personal computer, a tablet computer, a smart phone, a personal digital assistant (Personal Digital Assistant, PDA), a game console, an interactive network television ( Internet Protocol Television, IPTV), smart wearable devices, etc.
  • a personal computer a tablet computer
  • a smart phone a personal digital assistant (Personal Digital Assistant, PDA)
  • PDA Personal Digital Assistant
  • game console an interactive network television ( Internet Protocol Television, IPTV), smart wearable devices, etc.
  • IPTV Internet Protocol Television
  • smart wearable devices etc.
  • the computer equipment may also include network equipment and/or user equipment.
  • the network device includes, but is not limited to, a single network server, a server group composed of multiple network servers, or a cloud composed of a large number of hosts or network servers based on cloud computing.
  • the server may be an independent server, or may provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, and content delivery networks (Content Delivery Network, CDN), and cloud servers for basic cloud computing services such as big data and artificial intelligence platforms.
  • cloud services such as big data and artificial intelligence platforms.
  • AI Artificial Intelligence
  • Basic artificial intelligence technologies generally include technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operation/interaction systems, mechatronics and other technologies.
  • Artificial intelligence software technology mainly includes computer vision technology, robotics technology, biometric technology, speech processing technology, natural language processing technology, and machine learning/deep learning.
  • the network where the computer equipment is located includes but is not limited to the Internet, wide area network, metropolitan area network, local area network, virtual private network (Virtual Private Network, VPN), etc.
  • S10 In response to a storage request initiated by the stateful workload of kubernetes, send the storage request to the kubernetes storage control plane.
  • the stateful workload refers to various applications in Kubernetes that have storage requirements, such as databases, middleware, etc.
  • the stateful workload creates a persistent volume declaration while initiating the storage request, which is used to declare attribute information such as storage space, storage space type, and supported read and write operations of the storage volume.
  • the persistent volume claim is carried in the storage request.
  • the stateful workload can interact with the kubernetes storage control plane through mechanisms such as PV/PVC (PersistentVolume/PersistentVolumeClaim).
  • PV/PVC PersistentVolume/PersistentVolumeClaim
  • the cloud native storage control plane runs on kubernetes
  • the cloud native storage control plane is composed of at least one microservice managed by kubernetes
  • the cloud native storage control plane is used to issue data to the cloud native storage control engine. Task instructions.
  • the cloud native storage control plane is also used to manage the life cycle of storage volumes by interacting with CSI (Container Storage Interface, container storage interface) plug-in driver.
  • CSI Container Storage Interface, container storage interface
  • the cloud native storage control plane is also used to provide an interface for interacting with the CSI plug-in driver and at least one configuration tool; wherein the configuration tool may include, but is not limited to, one or a combination of the following tools: Snapshot , clone, resize, backup, restore and other tools.
  • the cloud native storage control plane is also used to integrate into at least one designated tool and perform debugging, troubleshooting, and log management.
  • the designated tools may include, but are not limited to, one or a combination of the following tools: fault detection tools, log management tools, etc.
  • S12 Parse the storage request through the cloud native storage control plane to obtain the persistent volume statement created by the stateful workload and the declaration content of the persistent volume statement.
  • the declaration content may include, but is not limited to: attribute information such as storage space of the storage volume, storage space type, and supported read and write operations.
  • parsing the storage request through the cloud native storage control plane includes:
  • the storage space, the storage space type and the supported read and write operations are determined as the declaration content.
  • the identifier corresponding to the persistent volume statement can be customized and configured, which is not limited by this application.
  • the storage space represents the volume of data that the storage volume can store.
  • the storage space type may include block storage type, file storage type, etc.
  • the supported read and write operations may include: support for multiple reads and writes, support for single read and write, support for multiple reads and single write, etc.
  • the cloud native storage control engine runs on kubernetes, and the cloud native storage control engine includes a CSI plug-in driver, a data engine controller and a configuration plug-in.
  • the CSI plug-in driver is used to interact with the kubernetes storage control plane; the data engine controller is used to control the data engine services of each node of the kubernetes; the configuration plug-in is used to integrate with third-party systems
  • the configuration plug-in may be a third-party plug-in, and the third-party system may be an external monitoring system, backup system, etc.
  • the cloud native storage control engine is used to perform tasks according to the task instructions, such as performing read and write operations on the underlying persistent storage according to the task instructions.
  • the cloud native storage control engine is also used to provide interfaces to local and/or remote storage volumes, such as standard systems or network transmission interfaces (NVMe/iSCSI), etc.; the cloud native storage control engine is also used to provide volume services. , services such as synchronous replication, compression, encryption, maintaining snapshots, and accessing incremental or full snapshots of data.
  • the cloud-native storage control engine provides strong consistency while persisting data to the underlying storage device.
  • controlling the pre-created cloud native storage control engine to create a storage volume through the cloud native storage control plane includes:
  • the storage volume is created according to the declaration content through the cloud native storage control engine.
  • the controller belongs to an independent pod, and the controller and the pod corresponding to the storage volume belong to the same node. That is, each storage volume is independently managed by a lightweight controller to improve storage performance and efficiency.
  • pod is the smallest deployable unit in Kubernetes and represents an independent application running instance in Kubernetes. This instance may consist of a single container or several tightly coupled containers.
  • creating the storage volume according to the declaration content through the cloud native storage control engine includes:
  • the storage space type is a block storage type
  • the cloud native storage control engine calls a file system interface to create a file system subvolume as the storage volume.
  • the cloud native storage control engine After receiving the generation instruction created by the controller according to the declaration content, the cloud native storage control engine generates the storage volume in different ways based on different storage space types.
  • the storage volume can be deployed in a distributed manner to improve storage performance.
  • the storage volume After the storage volume is created, it is assigned to the stateful workload for data storage.
  • Kubernetes uniformly configures computing storage resources and implements storage in hyper-converged mode, which improves storage utilization and storage performance.
  • the method further includes:
  • Telemetry and monitoring of the cloud native storage control plane and the storage volume are performed through the configuration architecture.
  • the configuration architecture may include Prometheus, Grafana, etc., for telemetry and monitoring.
  • this application can create a cloud native storage control plane and a cloud native storage control engine on kubernetes, and assist in the creation of storage volumes based on the created cloud native storage control plane and cloud native storage control engine.
  • Kubernetes uniformly orchestrates and schedules storage, achieving hyper-converged integration of storage and Kubernetes, further allocating the created storage volumes to stateful workloads for data storage, and realizing cloud-native storage based on Kubernetes. Since there is no need for an independent storage system to manage storage, It reduces the burden of storage operations and improves storage utilization and storage performance.
  • FIG. 2 it is a functional module diagram of a preferred embodiment of the cloud native storage device based on kubernetes in this application.
  • the kubernetes-based cloud native storage device 11 includes a sending unit 110, a forwarding unit 111, a parsing unit 112, a creation unit 113, and a storage unit 114.
  • the module/unit referred to in this application refers to a series of computer program segments that can be executed by the processor and can complete fixed functions, which are stored in the memory. In this embodiment, the functions of each module/unit will be described in detail in subsequent embodiments.
  • the sending unit 110 sends the storage request to the kubernetes storage control plane.
  • the stateful workload refers to various applications in Kubernetes that have storage requirements, such as databases, middleware, etc.
  • the stateful workload creates a persistent volume declaration while initiating the storage request, which is used to declare attribute information such as storage space, storage space type, and supported read and write operations of the storage volume.
  • the persistent volume claim is carried in the storage request.
  • the stateful workload can interact with the kubernetes storage control plane through mechanisms such as PV/PVC (PersistentVolume/PersistentVolumeClaim).
  • PV/PVC PersistentVolume/PersistentVolumeClaim
  • the forwarding unit 111 remotely calls the pre-created cloud native storage control plane through the kubernetes storage control plane, and forwards the storage request to the cloud native storage control plane.
  • the cloud native storage control plane runs on kubernetes
  • the cloud native storage control plane is composed of at least one microservice managed by kubernetes
  • the cloud native storage control plane is used to issue data to the cloud native storage control engine. Task instructions.
  • the cloud native storage control plane is also used to manage the life cycle of storage volumes by interacting with CSI (Container Storage Interface, container storage interface) plug-in driver.
  • CSI Container Storage Interface, container storage interface
  • the cloud native storage control plane is also used to provide an interface for interacting with the CSI plug-in driver and at least one configuration tool; wherein the configuration tool may include, but is not limited to, one or a combination of the following tools: Snapshot , clone, resize, backup, restore and other tools.
  • the cloud native storage control plane is also used to integrate into at least one designated tool and perform debugging, troubleshooting, and log management.
  • the designated tools may include, but are not limited to, one or a combination of the following tools: fault detection tools, log management tools, etc.
  • the parsing unit 112 parses the storage request through the cloud native storage control plane to obtain the persistent volume statement created by the stateful workload and the statement content of the persistent volume statement.
  • the declaration content may include, but is not limited to: attribute information such as storage space of the storage volume, storage space type, and supported read and write operations.
  • the parsing unit 112 parsing the storage request through the cloud native storage control plane includes:
  • the storage space, the storage space type and the supported read and write operations are determined as the declaration content.
  • the identifier corresponding to the persistent volume statement can be customized and configured, which is not limited by this application.
  • the storage space represents the volume of data that the storage volume can store.
  • the storage space type may include block storage type, file storage type, etc.
  • the supported read and write operations may include: support for multiple reads and writes, support for single read and write, support for multiple reads and single write, etc.
  • the creation unit 113 controls the pre-created cloud native storage control engine through the cloud native storage control plane to create a storage volume.
  • the cloud native storage control engine runs on kubernetes, and the cloud native storage control engine includes a CSI plug-in driver, a data engine controller and a configuration plug-in.
  • the CSI plug-in driver is used to interact with the kubernetes storage control plane; the data engine controller is used to control the data engine services of each node of the kubernetes; the configuration plug-in is used to integrate with third-party systems
  • the configuration plug-in may be a third-party plug-in, and the third-party system may be an external monitoring system, backup system, etc.
  • the cloud native storage control engine is used to perform tasks according to the task instructions, such as performing read and write operations on the underlying persistent storage according to the task instructions.
  • the cloud native storage control engine is also used to provide interfaces to local and/or remote storage volumes, such as standard systems or network transmission interfaces (NVMe/iSCSI), etc.; the cloud native storage control engine is also used to provide volume services. , services such as synchronous replication, compression, encryption, maintaining snapshots, and accessing incremental or full snapshots of data.
  • the cloud-native storage control engine provides strong consistency while persisting data to the underlying storage device.
  • the creation unit 113 controls the pre-created cloud native storage control engine through the cloud native storage control plane to create a storage volume including:
  • the storage volume is created according to the declaration content through the cloud native storage control engine.
  • the controller belongs to an independent pod, and the controller and the pod corresponding to the storage volume belong to the same node. That is, each storage volume is independently managed by a lightweight controller to improve storage performance and efficiency.
  • pod is the smallest deployable unit in Kubernetes and represents an independent application running instance in Kubernetes. This instance may consist of a single container or several tightly coupled containers.
  • the creation unit 113 creates the storage volume according to the declaration content through the cloud native storage control engine, including:
  • the storage space type is a block storage type
  • the cloud native storage control engine calls a file system interface to create a file system subvolume as the storage volume.
  • the cloud native storage control engine After receiving the generation instruction created by the controller according to the declaration content, the cloud native storage control engine generates the storage volume in different ways based on different storage space types.
  • the storage volume can be deployed in a distributed manner to improve storage performance.
  • the storage unit 114 allocates the storage volume to the stateful workload for data storage.
  • the storage volume After the storage volume is created, it is assigned to the stateful workload for data storage.
  • Kubernetes uniformly configures computing storage resources and implements storage in hyper-converged mode, which improves storage utilization and storage performance.
  • the cloud native storage control plane is integrated with the configuration architecture
  • Telemetry and monitoring of the cloud native storage control plane and the storage volume are performed through the configuration architecture.
  • the configuration architecture may include Prometheus, Grafana, etc., for telemetry and monitoring.
  • this application can create a cloud native storage control plane and a cloud native storage control engine on kubernetes, and assist in the creation of storage volumes based on the created cloud native storage control plane and cloud native storage control engine.
  • Kubernetes uniformly orchestrates and schedules storage, achieving hyper-converged integration of storage and Kubernetes, further allocating the created storage volumes to stateful workloads for data storage, and realizing cloud-native storage based on Kubernetes. Since there is no need for an independent storage system to manage storage, It reduces the burden of storage operations and improves storage utilization and storage performance.
  • FIG. 3 it is a schematic structural diagram of a computer device according to a preferred embodiment of this application's implementation of a kubernetes-based cloud native storage method.
  • the computer device 1 may include a memory 12, a processor 13 and a bus, and may also include a computer program stored in the memory 12 and executable on the processor 13, such as a cloud-native stored program based on kubernetes.
  • the computer device 1 can be either a bus structure or a star structure.
  • the device 1 may also include more or less other hardware or software than shown in the figure, or different component arrangements.
  • the computer device 1 may also include input and output devices, network access devices, etc.
  • the computer device 1 is only an example. If other existing or possible electronic products that may appear in the future can be adapted to this application, they should also be included in the protection scope of this application and be included here by reference. .
  • the memory 12 includes at least one type of readable storage medium, which includes flash memory, mobile hard disk, multimedia card, card-type memory (such as SD or DX memory, etc.), magnetic memory, magnetic disk, optical disk, etc. .
  • the memory 12 may be an internal storage unit of the computer device 1 , such as a mobile hard disk of the computer device 1 .
  • the memory 12 may also be an external storage device of the computer device 1, such as a plug-in mobile hard disk, a smart memory card (Smart Media Card, SMC), or a secure digital (SD) equipped on the computer device 1. ) card, Flash Card, etc.
  • the memory 12 may also include both an internal storage unit of the computer device 1 and an external storage device.
  • the memory 12 can not only be used to store application software and various types of data installed on the computer device 1, such as the code of a cloud-native storage program based on kubernetes, etc., but can also be used to temporarily store data that has been output or will be output.
  • the processor 13 may be composed of an integrated circuit, for example, it may be composed of a single packaged integrated circuit, or it may be composed of multiple integrated circuits packaged with the same function or different functions, including one or more central processing units. Central Processing unit (CPU), microprocessor, digital processing chip, graphics processor and various control chip combinations, etc.
  • the processor 13 is the control core (Control Unit) of the computer device 1, using various interfaces and lines to connect various components of the entire computer device 1, by running or executing programs or modules stored in the memory 12 (for example, executing Cloud-native storage programs based on kubernetes, etc.), and call the data stored in the memory 12 to perform various functions of the computer device 1 and process data.
  • Control Unit Control Unit
  • the processor 13 executes the operating system of the computer device 1 and various installed application programs.
  • the processor 13 executes the application program to implement the steps in each of the above Kubernetes-based cloud native storage method embodiments, such as the steps shown in Figure 1 .
  • the computer program may be divided into one or more modules/units, and the one or more modules/units are stored in the memory 12 and executed by the processor 13 to complete the present invention.
  • the one or more modules/units may be a series of computer-readable instruction segments capable of completing specific functions.
  • the instruction segments are used to describe the execution process of the computer program in the computer device 1.
  • the computer program can be divided into a sending unit 110, a forwarding unit 111, a parsing unit 112, a creation unit 113, and a storage unit 114.
  • the above-mentioned integrated units implemented in the form of software function modules can be stored in a computer-readable storage medium.
  • the above-mentioned software function module is stored in a storage medium and includes a number of instructions to cause a computer device (which can be a personal computer, computer device, or network device, etc.) or processor to execute the steps described in various embodiments of the present application based on Part of Kubernetes’ cloud-native storage approach.
  • the integrated modules/units of the computer device 1 are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the present application can implement all or part of the processes in the methods of the above embodiments by instructing relevant hardware devices through a computer program.
  • the computer program can be stored in a computer-readable storage medium, so The computer-readable storage medium may be non-volatile or volatile.
  • the steps of each of the above method embodiments may be implemented.
  • the computer program includes computer program code, which may be in the form of source code, object code, executable file or some intermediate form.
  • the computer-readable medium may include: any entity or device capable of carrying the computer program code, recording media, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory) , random access memory, etc.
  • the computer-readable storage medium may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, at least one application program required for a function, etc.; the storage data area may store information based on the blockchain node. Use the created data, etc.
  • Blockchain is a new application model of computer technology such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithm.
  • Blockchain is essentially a decentralized database. It is a series of data blocks generated using cryptographic methods. Each data block contains a batch of network transaction information and is used to verify its Validity of information (anti-counterfeiting) and generation of the next block.
  • Blockchain can include the underlying platform of the blockchain, the platform product service layer, and the application service layer.
  • the bus can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one straight line is used in Figure 3, but it does not mean that there is only one bus or one type of bus.
  • the bus is configured to enable connection communication between the memory 12 and at least one processor 13 and the like.
  • the computer device 1 may also include a power supply (such as a battery) that supplies power to various components.
  • the power supply may be logically connected to the at least one processor 13 through a power management device, thereby implementing the power management device. Charge management, discharge management, and power consumption management functions.
  • the power supply may also include one or more DC or AC power supplies, recharging devices, power failure detection circuits, power converters or inverters, power status indicators and other arbitrary components.
  • the computer device 1 may also include a variety of sensors, Bluetooth modules, Wi-Fi modules, etc., which will not be described again here.
  • the computer device 1 may also include a network interface.
  • the network interface may include a wired interface and/or a wireless interface (such as a WI-FI interface, a Bluetooth interface, etc.), which are usually used in the computer device. 1. Establish communication connections with other computer devices.
  • the computer device 1 may also include a user interface, which may be a display (Display) or an input unit (such as a keyboard).
  • the user interface may also be a standard wired interface or a wireless interface.
  • the display may be an LED display, a liquid crystal display, a touch-controlled liquid crystal display, an OLED (Organic Light-Emitting Diode, organic light-emitting diode) touch device, etc.
  • the display which may also be appropriately referred to as a display screen or a display unit, is used for displaying information processed in the computer device 1 and for displaying a visualized user interface.
  • Figure 3 only shows the computer device 1 with components 12-13. Persons skilled in the art can understand that the structure shown in Figure 3 does not constitute a limitation to the computer device 1, and may include less than what is shown in the figure. Or more parts, or a combination of certain parts, or a different arrangement of parts.
  • the memory 12 in the computer device 1 stores multiple instructions to implement a kubernetes-based cloud native storage method, and the processor 13 can execute the multiple instructions to achieve:
  • the storage volume is allocated to the stateful workload for data storage.
  • the application may be used in a variety of general or special purpose computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics devices, network PCs, minicomputers, mainframe computers, including Distributed computing environment for any of the above systems or devices, etc.
  • the application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer.
  • program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types.
  • the present application may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communications network.
  • program modules may be located in both local and remote computer storage media including storage devices.
  • modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical units, that is, they may be located in one place, or they may be distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional module in various embodiments of the present application can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or in the form of hardware plus software function modules.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present application relates to the field of cloud storage. Provided are a cloud native storage method and apparatus based on Kubernetes, and a device and a medium. A cloud native storage control plane and a cloud native storage control engine can be created on Kubernetes, and assistance with the creation of a storage volume is provided on the basis of the created cloud native storage control plane and cloud native storage control engine; Kubernetes performs unified orchestration and scheduling on storage to achieve super-fused integration between the storage and Kubernetes; the created storage volume is further allocated to a stateful working load for data storage, such that cloud native storage based on Kubernetes is achieved; and since the storage is managed without needing an independent storage system, the burden of a storage operation is relieved, such that the storage utilization rate is increased and storage performance is improved.

Description

基于kubernetes的云原生存储方法、装置、设备及介质Cloud native storage methods, devices, equipment and media based on kubernetes
本申请要求于2022年5月26日提交中国专利局、申请号为202210580675.2,申请名称为“基于kubernetes的云原生存储方法、装置、设备及介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application requires the priority of the Chinese patent application submitted to the China Patent Office on May 26, 2022, with the application number 202210580675.2, and the application name is "Kubernetes-based cloud native storage method, device, equipment and medium", and its entire content has been approved This reference is incorporated into this application.
技术领域Technical field
本申请涉及云存储技术领域,尤其涉及一种基于kubernetes的云原生存储方法、装置、设备及介质。This application relates to the field of cloud storage technology, and in particular to a cloud native storage method, device, equipment and media based on kubernetes.
背景技术Background technique
随着云原生应用对可迁移性、可扩展性及动态特性的需求,对云原生存储也带来了相应的要求,不但需要存储产品层次的改进,更需要在云原生的控制及数据处理上进行改进,以推进云原生存储和云存储的演进。With the demand for portability, scalability and dynamic characteristics of cloud native applications, corresponding requirements have also been brought about for cloud native storage, which not only requires improvements at the storage product level, but also requires improvements in cloud native control and data processing. Improvements are made to advance the evolution of cloud-native storage and cloud storage.
现有技术中通常采用ROOK工具辅助进行云存储,由存储系统来编排存储资源,Kubernetes存储在集群环境之外维护。In the existing technology, ROOK tools are usually used to assist cloud storage, the storage system arranges storage resources, and Kubernetes storage is maintained outside the cluster environment.
也就是说,无论共享文件系统如何,存储设施始终与外部资源相关。发明人意识到,在大多数情况下,存储通常以操作系统内核模块的形式与节点相关,而不是由kubernetes统一编排调度,给存储操作造成负担,且存储利用率低。That is, regardless of the shared file system, the storage facility is always associated with an external resource. The inventor realized that in most cases, storage is usually associated with nodes in the form of operating system kernel modules instead of being uniformly orchestrated and scheduled by kubernetes, which places a burden on storage operations and results in low storage utilization.
发明内容Contents of the invention
鉴于以上内容,有必要提供一种基于kubernetes的云原生存储方法、装置、设备及介质,旨在降低云原生存储的负担,并提高存储利用率。In view of the above, it is necessary to provide a cloud native storage method, device, equipment and media based on kubernetes, aiming to reduce the burden of cloud native storage and improve storage utilization.
一种基于kubernetes的云原生存储方法,所述基于kubernetes的云原生存储方法包括:A cloud native storage method based on kubernetes. The cloud native storage method based on kubernetes includes:
响应于kubernetes的有状态工作负载发起的存储请求,将所述存储请求发送至kubernetes存储控制面;In response to a storage request initiated by a stateful workload of kubernetes, send the storage request to the kubernetes storage control plane;
通过所述kubernetes存储控制面远程调用预先创建的云原生存储控制面,并将所述存储请求转发至所述云原生存储控制面;Remotely call the pre-created cloud native storage control plane through the kubernetes storage control plane, and forward the storage request to the cloud native storage control plane;
通过所述云原生存储控制面解析所述存储请求,得到所述有状态工作负载创建的持久卷声明,以及所述持久卷声明的声明内容;Parse the storage request through the cloud native storage control plane to obtain the persistent volume statement created by the stateful workload and the declaration content of the persistent volume statement;
基于所述声明内容,通过所述云原生存储控制面控制预先创建的云原生存储控制引擎创建存储卷;Based on the declaration content, create a storage volume by controlling the pre-created cloud native storage control engine through the cloud native storage control plane;
将所述存储卷分配给所述有状态工作负载进行数据存储。The storage volume is allocated to the stateful workload for data storage.
一种基于kubernetes的云原生存储装置,所述基于kubernetes的云原生存储装置包括:A cloud native storage device based on kubernetes. The cloud native storage device based on kubernetes includes:
发送单元,用于响应于kubernetes的有状态工作负载发起的存储请求,将所述存储请求发送至kubernetes存储控制面;A sending unit, configured to respond to a storage request initiated by the stateful workload of kubernetes and send the storage request to the kubernetes storage control plane;
转发单元,用于通过所述kubernetes存储控制面远程调用预先创建的云原生存储控制面,并将所述存储请求转发至所述云原生存储控制面;A forwarding unit configured to remotely call the pre-created cloud native storage control plane through the kubernetes storage control plane, and forward the storage request to the cloud native storage control plane;
解析单元,用于通过所述云原生存储控制面解析所述存储请求,得到所述有状态工作负载创建的持久卷声明,以及所述持久卷声明的声明内容;A parsing unit configured to parse the storage request through the cloud native storage control plane to obtain the persistent volume statement created by the stateful workload and the statement content of the persistent volume statement;
创建单元,用于基于所述声明内容,通过所述云原生存储控制面控制预先创建的云原生存储控制引擎创建存储卷;A creation unit configured to create a storage volume based on the declaration content by controlling the pre-created cloud native storage control engine through the cloud native storage control plane;
存储单元,用于将所述存储卷分配给所述有状态工作负载进行数据存储。A storage unit configured to allocate the storage volume to the stateful workload for data storage.
一种计算机设备,所述计算机设备包括:A kind of computer equipment, described computer equipment includes:
存储器,存储至少一个指令;及a memory to store at least one instruction; and
处理器,执行所述存储器中存储的指令以实现以下步骤:A processor that executes instructions stored in the memory to implement the following steps:
响应于kubernetes的有状态工作负载发起的存储请求,将所述存储请求发送至kubernetes存储控制面;In response to a storage request initiated by a stateful workload of kubernetes, send the storage request to the kubernetes storage control plane;
通过所述kubernetes存储控制面远程调用预先创建的云原生存储控制面,并将所述存储请求转发至所述云原生存储控制面;Remotely call the pre-created cloud native storage control plane through the kubernetes storage control plane, and forward the storage request to the cloud native storage control plane;
通过所述云原生存储控制面解析所述存储请求,得到所述有状态工作负载创建的持久卷声明,以及所述持久卷声明的声明内容;Parse the storage request through the cloud native storage control plane to obtain the persistent volume statement created by the stateful workload and the declaration content of the persistent volume statement;
基于所述声明内容,通过所述云原生存储控制面控制预先创建的云原生存储控制引擎创建存储卷;Based on the declaration content, create a storage volume by controlling the pre-created cloud native storage control engine through the cloud native storage control plane;
将所述存储卷分配给所述有状态工作负载进行数据存储。The storage volume is allocated to the stateful workload for data storage.
一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被计算机设备中的处理器执行以实现以下操作:A computer-readable storage medium in which at least one instruction is stored, and the at least one instruction is executed by a processor in a computer device to implement the following operations:
响应于kubernetes的有状态工作负载发起的存储请求,将所述存储请求发送至kubernetes存储控制面;In response to a storage request initiated by a stateful workload of kubernetes, send the storage request to the kubernetes storage control plane;
通过所述kubernetes存储控制面远程调用预先创建的云原生存储控制面,并将所述存储请求转发至所述云原生存储控制面;Remotely call the pre-created cloud native storage control plane through the kubernetes storage control plane, and forward the storage request to the cloud native storage control plane;
通过所述云原生存储控制面解析所述存储请求,得到所述有状态工作负载创建的持久卷声明,以及所述持久卷声明的声明内容;Parse the storage request through the cloud native storage control plane to obtain the persistent volume statement created by the stateful workload and the declaration content of the persistent volume statement;
基于所述声明内容,通过所述云原生存储控制面控制预先创建的云原生存储控制引擎创建存储卷;Based on the declaration content, create a storage volume by controlling the pre-created cloud native storage control engine through the cloud native storage control plane;
将所述存储卷分配给所述有状态工作负载进行数据存储。The storage volume is allocated to the stateful workload for data storage.
由以上技术方案可以看出,本申请能够在kubernetes上创建云原生存储控制面及云原生存储控制引擎,并基于创建的云原生存储控制面及云原生存储控制引擎辅助进行存储卷的创建,由kubernetes统一编排调度存储,实现存储与kubernetes的超融合一体化,进一步将创建的存储卷分配给有状态工作负载进行数据存储,实现基于kubernetes的云原生存储,由于无需独立的存储系统来管理存储,减轻了存储操作的负担,并提升了存储利用率及存储性能。It can be seen from the above technical solutions that this application can create a cloud native storage control plane and a cloud native storage control engine on kubernetes, and assist in the creation of storage volumes based on the created cloud native storage control plane and cloud native storage control engine. Kubernetes uniformly orchestrates and schedules storage, achieving hyper-converged integration of storage and Kubernetes, further allocating the created storage volumes to stateful workloads for data storage, and realizing cloud-native storage based on Kubernetes. Since there is no need for an independent storage system to manage storage, It reduces the burden of storage operations and improves storage utilization and storage performance.
附图说明Description of the drawings
图1是本申请基于kubernetes的云原生存储方法的较佳实施例的流程图。Figure 1 is a flow chart of a preferred embodiment of the Kubernetes-based cloud native storage method of this application.
图2是本申请基于kubernetes的云原生存储装置的较佳实施例的功能模块图。Figure 2 is a functional module diagram of a preferred embodiment of the Kubernetes-based cloud native storage device of this application.
图3是本申请实现基于kubernetes的云原生存储方法的较佳实施例的计算机设备的结构示意图。Figure 3 is a schematic structural diagram of a computer device according to a preferred embodiment of this application's implementation of a kubernetes-based cloud native storage method.
具体实施方式Detailed ways
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请进行详细描述。In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be described in detail below with reference to the accompanying drawings and specific embodiments.
如图1所示,是本申请基于kubernetes的云原生存储方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。As shown in Figure 1, it is a flow chart of a preferred embodiment of the cloud native storage method based on kubernetes in this application. Depending on different needs, the order of steps in this flowchart can be changed and some steps can be omitted.
所述基于kubernetes的云原生存储方法应用于一个或者多个计算机设备中,所述计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit, ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。The Kubernetes-based cloud native storage method is applied to one or more computer devices. The computer device is a device that can automatically perform numerical calculations and/or information processing according to preset or stored instructions. Its hardware Including but not limited to microprocessors, Application Specific Integrated Circuit (ASIC), Programmable Gate Array (Field-Programmable Gate Array, FPGA), Digital Processor (Digital Signal Processor, DSP), embedded devices, etc.
所述计算机设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。The computer device can be any electronic product that can perform human-computer interaction with the user, such as a personal computer, a tablet computer, a smart phone, a personal digital assistant (Personal Digital Assistant, PDA), a game console, an interactive network television ( Internet Protocol Television, IPTV), smart wearable devices, etc.
所述计算机设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络服务器构成的云。The computer equipment may also include network equipment and/or user equipment. The network device includes, but is not limited to, a single network server, a server group composed of multiple network servers, or a cloud composed of a large number of hosts or network servers based on cloud computing.
所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。The server may be an independent server, or may provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, and content delivery networks (Content Delivery Network, CDN), and cloud servers for basic cloud computing services such as big data and artificial intelligence platforms.
其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。Among them, Artificial Intelligence (AI) is a theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. .
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。Basic artificial intelligence technologies generally include technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operation/interaction systems, mechatronics and other technologies. Artificial intelligence software technology mainly includes computer vision technology, robotics technology, biometric technology, speech processing technology, natural language processing technology, and machine learning/deep learning.
所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。The network where the computer equipment is located includes but is not limited to the Internet, wide area network, metropolitan area network, local area network, virtual private network (Virtual Private Network, VPN), etc.
S10,响应于kubernetes的有状态工作负载发起的存储请求,将所述存储请求发送至kubernetes存储控制面。S10: In response to a storage request initiated by the stateful workload of kubernetes, send the storage request to the kubernetes storage control plane.
其中,所述有状态工作负载是指kubernetes中有存储需求的各种应用程序,如数据库、中间件等。Among them, the stateful workload refers to various applications in Kubernetes that have storage requirements, such as databases, middleware, etc.
在本实施例中,所述有状态工作负载在发起所述存储请求的同时创建一个持久卷声明,用于声明存储卷的存储空间、存储空间类型及支持的读写操作等属性信息。所述持久卷声明被携带于所述存储请求中。In this embodiment, the stateful workload creates a persistent volume declaration while initiating the storage request, which is used to declare attribute information such as storage space, storage space type, and supported read and write operations of the storage volume. The persistent volume claim is carried in the storage request.
在本实施例中,所述有状态工作负载可以通过PV/PVC(PersistentVolume/PersistentVolumeClaim)等机制与所述kubernetes存储控制面进行交互。In this embodiment, the stateful workload can interact with the kubernetes storage control plane through mechanisms such as PV/PVC (PersistentVolume/PersistentVolumeClaim).
S11,通过所述kubernetes存储控制面远程调用预先创建的云原生存储控制面,并将所述存储请求转发至所述云原生存储控制面。S11, remotely call the pre-created cloud native storage control plane through the kubernetes storage control plane, and forward the storage request to the cloud native storage control plane.
其中,所述云原生存储控制面运行在kubernetes上,所述云原生存储控制面由kubernetes管理的至少一个微服务组成,所述云原生存储控制面用于向所述云原生存储控制引擎下发任务指令。Wherein, the cloud native storage control plane runs on kubernetes, the cloud native storage control plane is composed of at least one microservice managed by kubernetes, and the cloud native storage control plane is used to issue data to the cloud native storage control engine. Task instructions.
所述云原生存储控制面还用于通过与CSI(Container Storage Interface,容器存储接口)插件驱动交互以管理存储卷的生命周期。The cloud native storage control plane is also used to manage the life cycle of storage volumes by interacting with CSI (Container Storage Interface, container storage interface) plug-in driver.
所述云原生存储控制面还用于提供与所述CSI插件驱动及至少一个配置工具进行交互的接口;其中,所述配置工具可以包括,但不限于以下一种或者多种工具的组合:快照、克隆、调整大小、备份、恢复等工具。The cloud native storage control plane is also used to provide an interface for interacting with the CSI plug-in driver and at least one configuration tool; wherein the configuration tool may include, but is not limited to, one or a combination of the following tools: Snapshot , clone, resize, backup, restore and other tools.
所述云原生存储控制面还用于集成至至少一个指定工具,并执行调试、故障排除、日志管理。其中,所述指定工具可以包括,但不限于以下一种或者多种工具的组合:故障检测工具、日志管理工具等。The cloud native storage control plane is also used to integrate into at least one designated tool and perform debugging, troubleshooting, and log management. The designated tools may include, but are not limited to, one or a combination of the following tools: fault detection tools, log management tools, etc.
S12,通过所述云原生存储控制面解析所述存储请求,得到所述有状态工作负载创建的持久卷声明,以及所述持久卷声明的声明内容。S12: Parse the storage request through the cloud native storage control plane to obtain the persistent volume statement created by the stateful workload and the declaration content of the persistent volume statement.
其中,所述声明内容可以包括,但不限于:存储卷的存储空间、存储空间类型及支持的读写操作等属性信息。The declaration content may include, but is not limited to: attribute information such as storage space of the storage volume, storage space type, and supported read and write operations.
在一个实施例中,所述通过所述云原生存储控制面解析所述存储请求包括:In one embodiment, parsing the storage request through the cloud native storage control plane includes:
获取所述存储请求所携带的信息,及获取与所述持久卷声明对应的标识;Obtain the information carried by the storage request and obtain the identifier corresponding to the persistent volume statement;
根据所述标识遍历所述存储请求所携带的信息,得到所述持久卷声明;Traverse the information carried in the storage request according to the identifier to obtain the persistent volume statement;
提取所述持久卷声明中所述存储卷的存储空间、存储空间类型及支持的读写操作;Extract the storage space, storage space type, and supported read and write operations of the storage volume described in the persistent volume statement;
将所述存储空间、所述存储空间类型及所述支持的读写操作确定为所述声明内容。The storage space, the storage space type and the supported read and write operations are determined as the declaration content.
其中,所述与所述持久卷声明对应的标识可以进行自定义配置,本申请不限制。The identifier corresponding to the persistent volume statement can be customized and configured, which is not limited by this application.
其中,所述存储空间表示所述存储卷能够存储的数据的体积。The storage space represents the volume of data that the storage volume can store.
其中,所述存储空间类型可以包括块存储类型及文件存储类型等。The storage space type may include block storage type, file storage type, etc.
其中,所述支持的读写操作可以包括:支持多读写、支持单读写、支持多读单写等。The supported read and write operations may include: support for multiple reads and writes, support for single read and write, support for multiple reads and single write, etc.
S13,基于所述声明内容,通过所述云原生存储控制面控制预先创建的云原生存储控制引擎创建存储卷。S13. Based on the declaration content, control the pre-created cloud native storage control engine to create a storage volume through the cloud native storage control plane.
其中,所述云原生存储控制引擎运行在kubernetes上,所述云原生存储控制引擎包括CSI插件驱动、数据引擎控制器及配置插件。Wherein, the cloud native storage control engine runs on kubernetes, and the cloud native storage control engine includes a CSI plug-in driver, a data engine controller and a configuration plug-in.
其中,所述CSI插件驱动用于与所述kubernetes存储控制面进行交互;所述数据引擎控制器用于控制所述kubernetes的各个节点的数据引擎服务;所述配置插件用于与第三方系统进行集成,例如:所述配置插件可以是第三方插件,所述第三方系统可以是外部的监控系统、备份系统等。Among them, the CSI plug-in driver is used to interact with the kubernetes storage control plane; the data engine controller is used to control the data engine services of each node of the kubernetes; the configuration plug-in is used to integrate with third-party systems For example, the configuration plug-in may be a third-party plug-in, and the third-party system may be an external monitoring system, backup system, etc.
所述云原生存储控制引擎用于根据所述任务指令执行任务,如根据所述任务指令对底层持久存储执行读写操作等。The cloud native storage control engine is used to perform tasks according to the task instructions, such as performing read and write operations on the underlying persistent storage according to the task instructions.
所述云原生存储控制引擎还用于提供连接至本地及/或远程存储卷的接口,如标准系统或网络传输接口(NVMe/iSCSI)等;所述云原生存储控制引擎还用于提供卷服务,如同步复制、压缩、加密、维护快照、访问数据的增量或完整快照等服务。The cloud native storage control engine is also used to provide interfaces to local and/or remote storage volumes, such as standard systems or network transmission interfaces (NVMe/iSCSI), etc.; the cloud native storage control engine is also used to provide volume services. , services such as synchronous replication, compression, encryption, maintaining snapshots, and accessing incremental or full snapshots of data.
所述云原生存储控制引擎在将数据持久化到底层存储设备的同时提供强一致性。The cloud-native storage control engine provides strong consistency while persisting data to the underlying storage device.
在一个实施例中,所述基于所述声明内容,通过所述云原生存储控制面控制预先创建的云原生存储控制引擎创建存储卷包括:In one embodiment, based on the declaration content, controlling the pre-created cloud native storage control engine to create a storage volume through the cloud native storage control plane includes:
通过所述云原生存储控制面的控制器根据所述声明内容创建所述存储卷对应的生成指令;Create generation instructions corresponding to the storage volume according to the declaration content through the controller of the cloud native storage control plane;
将所述生成指令下发至所述云原生存储控制引擎;Send the generation instruction to the cloud native storage control engine;
通过所述云原生存储控制引擎根据所述声明内容创建所述存储卷。The storage volume is created according to the declaration content through the cloud native storage control engine.
其中,所述控制器属于一个独立pod,所述控制器与所述存储卷对应的pod属于同一节点。即每个存储卷由一个轻量级的控制器进行独立管理,以提升存储性能及效率。The controller belongs to an independent pod, and the controller and the pod corresponding to the storage volume belong to the same node. That is, each storage volume is independently managed by a lightweight controller to improve storage performance and efficiency.
其中,pod是Kubernetes中最小的可部署单元,代表Kubernetes中一个独立的应用程序运行实例,该实例可能由单个容器或者几个紧耦合在一起的容器组成。Among them, pod is the smallest deployable unit in Kubernetes and represents an independent application running instance in Kubernetes. This instance may consist of a single container or several tightly coupled containers.
具体地,所述通过所述云原生存储控制引擎根据所述声明内容创建所述存储卷包括:Specifically, creating the storage volume according to the declaration content through the cloud native storage control engine includes:
当所述存储空间类型为块存储类型时,通过所述云原生存储控制引擎调用块存储接口创建块存储设备作为所述存储卷;或者When the storage space type is a block storage type, call the block storage interface through the cloud native storage control engine to create a block storage device as the storage volume; or
当所述存储空间类型为文件存储类型时,通过所述云原生存储控制引擎调用文件系统接口创建文件系统子卷作为所述存储卷。When the storage space type is a file storage type, the cloud native storage control engine calls a file system interface to create a file system subvolume as the storage volume.
所述云原生存储控制引擎在接收到所述控制器根据所述声明内容创建的生成指令后,基于不同的存储空间类型以不同的方式生成所述存储卷。After receiving the generation instruction created by the controller according to the declaration content, the cloud native storage control engine generates the storage volume in different ways based on different storage space types.
其中,所述存储卷可以进行分布式部署,以提升存储性能。The storage volume can be deployed in a distributed manner to improve storage performance.
S14,将所述存储卷分配给所述有状态工作负载进行数据存储。S14: Allocate the storage volume to the stateful workload for data storage.
在创建所述存储卷后,分配至所述有状态工作负载进行数据存储,由Kubernetes统 一配置计算存储资源,并以超融合模式实现存储,提升了存储利用率及存储性能。After the storage volume is created, it is assigned to the stateful workload for data storage. Kubernetes uniformly configures computing storage resources and implements storage in hyper-converged mode, which improves storage utilization and storage performance.
在一个实施例中,所述方法还包括:In one embodiment, the method further includes:
通过所述云原生存储控制面与配置架构进行集成;Integrate through the cloud native storage control plane and configuration architecture;
通过所述配置架构对所述云原生存储控制面及所述存储卷进行遥测及监控。Telemetry and monitoring of the cloud native storage control plane and the storage volume are performed through the configuration architecture.
其中,所述配置架构可以包括Prometheus、Grafana等,用于进行遥测及监控。Among them, the configuration architecture may include Prometheus, Grafana, etc., for telemetry and monitoring.
通过与第三方的框架或者工具进行集成,能够辅助进行存储过程中日志等的监控及遥测,以保证存储能够正常执行。By integrating with third-party frameworks or tools, it can assist in monitoring and telemetry of logs during the storage process to ensure that storage can be performed normally.
由以上技术方案可以看出,本申请能够在kubernetes上创建云原生存储控制面及云原生存储控制引擎,并基于创建的云原生存储控制面及云原生存储控制引擎辅助进行存储卷的创建,由kubernetes统一编排调度存储,实现存储与kubernetes的超融合一体化,进一步将创建的存储卷分配给有状态工作负载进行数据存储,实现基于kubernetes的云原生存储,由于无需独立的存储系统来管理存储,减轻了存储操作的负担,并提升了存储利用率及存储性能。It can be seen from the above technical solutions that this application can create a cloud native storage control plane and a cloud native storage control engine on kubernetes, and assist in the creation of storage volumes based on the created cloud native storage control plane and cloud native storage control engine. Kubernetes uniformly orchestrates and schedules storage, achieving hyper-converged integration of storage and Kubernetes, further allocating the created storage volumes to stateful workloads for data storage, and realizing cloud-native storage based on Kubernetes. Since there is no need for an independent storage system to manage storage, It reduces the burden of storage operations and improves storage utilization and storage performance.
如图2所示,是本申请基于kubernetes的云原生存储装置的较佳实施例的功能模块图。所述基于kubernetes的云原生存储装置11包括发送单元110、转发单元111、解析单元112、创建单元113、存储单元114。本申请所称的模块/单元是指一种能够被处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。As shown in Figure 2, it is a functional module diagram of a preferred embodiment of the cloud native storage device based on kubernetes in this application. The kubernetes-based cloud native storage device 11 includes a sending unit 110, a forwarding unit 111, a parsing unit 112, a creation unit 113, and a storage unit 114. The module/unit referred to in this application refers to a series of computer program segments that can be executed by the processor and can complete fixed functions, which are stored in the memory. In this embodiment, the functions of each module/unit will be described in detail in subsequent embodiments.
响应于kubernetes的有状态工作负载发起的存储请求,发送单元110将所述存储请求发送至kubernetes存储控制面。In response to the storage request initiated by the stateful workload of kubernetes, the sending unit 110 sends the storage request to the kubernetes storage control plane.
其中,所述有状态工作负载是指kubernetes中有存储需求的各种应用程序,如数据库、中间件等。Among them, the stateful workload refers to various applications in Kubernetes that have storage requirements, such as databases, middleware, etc.
在本实施例中,所述有状态工作负载在发起所述存储请求的同时创建一个持久卷声明,用于声明存储卷的存储空间、存储空间类型及支持的读写操作等属性信息。所述持久卷声明被携带于所述存储请求中。In this embodiment, the stateful workload creates a persistent volume declaration while initiating the storage request, which is used to declare attribute information such as storage space, storage space type, and supported read and write operations of the storage volume. The persistent volume claim is carried in the storage request.
在本实施例中,所述有状态工作负载可以通过PV/PVC(PersistentVolume/PersistentVolumeClaim)等机制与所述kubernetes存储控制面进行交互。In this embodiment, the stateful workload can interact with the kubernetes storage control plane through mechanisms such as PV/PVC (PersistentVolume/PersistentVolumeClaim).
转发单元111通过所述kubernetes存储控制面远程调用预先创建的云原生存储控制面,并将所述存储请求转发至所述云原生存储控制面。The forwarding unit 111 remotely calls the pre-created cloud native storage control plane through the kubernetes storage control plane, and forwards the storage request to the cloud native storage control plane.
其中,所述云原生存储控制面运行在kubernetes上,所述云原生存储控制面由kubernetes管理的至少一个微服务组成,所述云原生存储控制面用于向所述云原生存储控制引擎下发任务指令。Wherein, the cloud native storage control plane runs on kubernetes, the cloud native storage control plane is composed of at least one microservice managed by kubernetes, and the cloud native storage control plane is used to issue data to the cloud native storage control engine. Task instructions.
所述云原生存储控制面还用于通过与CSI(Container Storage Interface,容器存储接口)插件驱动交互以管理存储卷的生命周期。The cloud native storage control plane is also used to manage the life cycle of storage volumes by interacting with CSI (Container Storage Interface, container storage interface) plug-in driver.
所述云原生存储控制面还用于提供与所述CSI插件驱动及至少一个配置工具进行交互的接口;其中,所述配置工具可以包括,但不限于以下一种或者多种工具的组合:快照、克隆、调整大小、备份、恢复等工具。The cloud native storage control plane is also used to provide an interface for interacting with the CSI plug-in driver and at least one configuration tool; wherein the configuration tool may include, but is not limited to, one or a combination of the following tools: Snapshot , clone, resize, backup, restore and other tools.
所述云原生存储控制面还用于集成至至少一个指定工具,并执行调试、故障排除、日志管理。其中,所述指定工具可以包括,但不限于以下一种或者多种工具的组合:故障检测工具、日志管理工具等。The cloud native storage control plane is also used to integrate into at least one designated tool and perform debugging, troubleshooting, and log management. The designated tools may include, but are not limited to, one or a combination of the following tools: fault detection tools, log management tools, etc.
解析单元112通过所述云原生存储控制面解析所述存储请求,得到所述有状态工作负载创建的持久卷声明,以及所述持久卷声明的声明内容。The parsing unit 112 parses the storage request through the cloud native storage control plane to obtain the persistent volume statement created by the stateful workload and the statement content of the persistent volume statement.
其中,所述声明内容可以包括,但不限于:存储卷的存储空间、存储空间类型及支持的读写操作等属性信息。The declaration content may include, but is not limited to: attribute information such as storage space of the storage volume, storage space type, and supported read and write operations.
在一个实施例中,所述解析单元112通过所述云原生存储控制面解析所述存储请求包括:In one embodiment, the parsing unit 112 parsing the storage request through the cloud native storage control plane includes:
获取所述存储请求所携带的信息,及获取与所述持久卷声明对应的标识;Obtain the information carried by the storage request and obtain the identifier corresponding to the persistent volume statement;
根据所述标识遍历所述存储请求所携带的信息,得到所述持久卷声明;Traverse the information carried in the storage request according to the identifier to obtain the persistent volume statement;
提取所述持久卷声明中所述存储卷的存储空间、存储空间类型及支持的读写操作;Extract the storage space, storage space type, and supported read and write operations of the storage volume described in the persistent volume statement;
将所述存储空间、所述存储空间类型及所述支持的读写操作确定为所述声明内容。The storage space, the storage space type and the supported read and write operations are determined as the declaration content.
其中,所述与所述持久卷声明对应的标识可以进行自定义配置,本申请不限制。The identifier corresponding to the persistent volume statement can be customized and configured, which is not limited by this application.
其中,所述存储空间表示所述存储卷能够存储的数据的体积。The storage space represents the volume of data that the storage volume can store.
其中,所述存储空间类型可以包括块存储类型及文件存储类型等。The storage space type may include block storage type, file storage type, etc.
其中,所述支持的读写操作可以包括:支持多读写、支持单读写、支持多读单写等。The supported read and write operations may include: support for multiple reads and writes, support for single read and write, support for multiple reads and single write, etc.
创建单元113基于所述声明内容,通过所述云原生存储控制面控制预先创建的云原生存储控制引擎创建存储卷。Based on the declaration content, the creation unit 113 controls the pre-created cloud native storage control engine through the cloud native storage control plane to create a storage volume.
其中,所述云原生存储控制引擎运行在kubernetes上,所述云原生存储控制引擎包括CSI插件驱动、数据引擎控制器及配置插件。Wherein, the cloud native storage control engine runs on kubernetes, and the cloud native storage control engine includes a CSI plug-in driver, a data engine controller and a configuration plug-in.
其中,所述CSI插件驱动用于与所述kubernetes存储控制面进行交互;所述数据引擎控制器用于控制所述kubernetes的各个节点的数据引擎服务;所述配置插件用于与第三方系统进行集成,例如:所述配置插件可以是第三方插件,所述第三方系统可以是外部的监控系统、备份系统等。Among them, the CSI plug-in driver is used to interact with the kubernetes storage control plane; the data engine controller is used to control the data engine services of each node of the kubernetes; the configuration plug-in is used to integrate with third-party systems For example, the configuration plug-in may be a third-party plug-in, and the third-party system may be an external monitoring system, backup system, etc.
所述云原生存储控制引擎用于根据所述任务指令执行任务,如根据所述任务指令对底层持久存储执行读写操作等。The cloud native storage control engine is used to perform tasks according to the task instructions, such as performing read and write operations on the underlying persistent storage according to the task instructions.
所述云原生存储控制引擎还用于提供连接至本地及/或远程存储卷的接口,如标准系统或网络传输接口(NVMe/iSCSI)等;所述云原生存储控制引擎还用于提供卷服务,如同步复制、压缩、加密、维护快照、访问数据的增量或完整快照等服务。The cloud native storage control engine is also used to provide interfaces to local and/or remote storage volumes, such as standard systems or network transmission interfaces (NVMe/iSCSI), etc.; the cloud native storage control engine is also used to provide volume services. , services such as synchronous replication, compression, encryption, maintaining snapshots, and accessing incremental or full snapshots of data.
所述云原生存储控制引擎在将数据持久化到底层存储设备的同时提供强一致性。The cloud-native storage control engine provides strong consistency while persisting data to the underlying storage device.
在一个实施例中,所述创建单元113基于所述声明内容,通过所述云原生存储控制面控制预先创建的云原生存储控制引擎创建存储卷包括:In one embodiment, based on the declaration content, the creation unit 113 controls the pre-created cloud native storage control engine through the cloud native storage control plane to create a storage volume including:
通过所述云原生存储控制面的控制器根据所述声明内容创建所述存储卷对应的生成指令;Create generation instructions corresponding to the storage volume according to the declaration content through the controller of the cloud native storage control plane;
将所述生成指令下发至所述云原生存储控制引擎;Send the generation instruction to the cloud native storage control engine;
通过所述云原生存储控制引擎根据所述声明内容创建所述存储卷。The storage volume is created according to the declaration content through the cloud native storage control engine.
其中,所述控制器属于一个独立pod,所述控制器与所述存储卷对应的pod属于同一节点。即每个存储卷由一个轻量级的控制器进行独立管理,以提升存储性能及效率。The controller belongs to an independent pod, and the controller and the pod corresponding to the storage volume belong to the same node. That is, each storage volume is independently managed by a lightweight controller to improve storage performance and efficiency.
其中,pod是Kubernetes中最小的可部署单元,代表Kubernetes中一个独立的应用程序运行实例,该实例可能由单个容器或者几个紧耦合在一起的容器组成。Among them, pod is the smallest deployable unit in Kubernetes and represents an independent application running instance in Kubernetes. This instance may consist of a single container or several tightly coupled containers.
具体地,所述创建单元113通过所述云原生存储控制引擎根据所述声明内容创建所述存储卷包括:Specifically, the creation unit 113 creates the storage volume according to the declaration content through the cloud native storage control engine, including:
当所述存储空间类型为块存储类型时,通过所述云原生存储控制引擎调用块存储接口创建块存储设备作为所述存储卷;或者When the storage space type is a block storage type, call the block storage interface through the cloud native storage control engine to create a block storage device as the storage volume; or
当所述存储空间类型为文件存储类型时,通过所述云原生存储控制引擎调用文件系统接口创建文件系统子卷作为所述存储卷。When the storage space type is a file storage type, the cloud native storage control engine calls a file system interface to create a file system subvolume as the storage volume.
所述云原生存储控制引擎在接收到所述控制器根据所述声明内容创建的生成指令后,基于不同的存储空间类型以不同的方式生成所述存储卷。After receiving the generation instruction created by the controller according to the declaration content, the cloud native storage control engine generates the storage volume in different ways based on different storage space types.
其中,所述存储卷可以进行分布式部署,以提升存储性能。The storage volume can be deployed in a distributed manner to improve storage performance.
存储单元114将所述存储卷分配给所述有状态工作负载进行数据存储。The storage unit 114 allocates the storage volume to the stateful workload for data storage.
在创建所述存储卷后,分配至所述有状态工作负载进行数据存储,由Kubernetes统 一配置计算存储资源,并以超融合模式实现存储,提升了存储利用率及存储性能。After the storage volume is created, it is assigned to the stateful workload for data storage. Kubernetes uniformly configures computing storage resources and implements storage in hyper-converged mode, which improves storage utilization and storage performance.
在一个实施例中,通过所述云原生存储控制面与配置架构进行集成;In one embodiment, the cloud native storage control plane is integrated with the configuration architecture;
通过所述配置架构对所述云原生存储控制面及所述存储卷进行遥测及监控。Telemetry and monitoring of the cloud native storage control plane and the storage volume are performed through the configuration architecture.
其中,所述配置架构可以包括Prometheus、Grafana等,用于进行遥测及监控。Among them, the configuration architecture may include Prometheus, Grafana, etc., for telemetry and monitoring.
通过与第三方的框架或者工具进行集成,能够辅助进行存储过程中日志等的监控及遥测,以保证存储能够正常执行。By integrating with third-party frameworks or tools, it can assist in monitoring and telemetry of logs during the storage process to ensure that storage can be performed normally.
由以上技术方案可以看出,本申请能够在kubernetes上创建云原生存储控制面及云原生存储控制引擎,并基于创建的云原生存储控制面及云原生存储控制引擎辅助进行存储卷的创建,由kubernetes统一编排调度存储,实现存储与kubernetes的超融合一体化,进一步将创建的存储卷分配给有状态工作负载进行数据存储,实现基于kubernetes的云原生存储,由于无需独立的存储系统来管理存储,减轻了存储操作的负担,并提升了存储利用率及存储性能。It can be seen from the above technical solutions that this application can create a cloud native storage control plane and a cloud native storage control engine on kubernetes, and assist in the creation of storage volumes based on the created cloud native storage control plane and cloud native storage control engine. Kubernetes uniformly orchestrates and schedules storage, achieving hyper-converged integration of storage and Kubernetes, further allocating the created storage volumes to stateful workloads for data storage, and realizing cloud-native storage based on Kubernetes. Since there is no need for an independent storage system to manage storage, It reduces the burden of storage operations and improves storage utilization and storage performance.
如图3所示,是本申请实现基于kubernetes的云原生存储方法的较佳实施例的计算机设备的结构示意图。As shown in Figure 3, it is a schematic structural diagram of a computer device according to a preferred embodiment of this application's implementation of a kubernetes-based cloud native storage method.
所述计算机设备1可以包括存储器12、处理器13和总线,还可以包括存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如基于kubernetes的云原生存储程序。The computer device 1 may include a memory 12, a processor 13 and a bus, and may also include a computer program stored in the memory 12 and executable on the processor 13, such as a cloud-native stored program based on kubernetes.
本领域技术人员可以理解,所述示意图仅仅是计算机设备1的示例,并不构成对计算机设备1的限定,所述计算机设备1既可以是总线型结构,也可以是星形结构,所述计算机设备1还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置,例如所述计算机设备1还可以包括输入输出设备、网络接入设备等。Those skilled in the art can understand that the schematic diagram is only an example of the computer device 1 and does not constitute a limitation on the computer device 1. The computer device 1 can be either a bus structure or a star structure. The device 1 may also include more or less other hardware or software than shown in the figure, or different component arrangements. For example, the computer device 1 may also include input and output devices, network access devices, etc.
需要说明的是,所述计算机设备1仅为举例,其他现有的或今后可能出现的电子产品如可适应于本申请,也应包含在本申请的保护范围以内,并以引用方式包含于此。It should be noted that the computer device 1 is only an example. If other existing or possible electronic products that may appear in the future can be adapted to this application, they should also be included in the protection scope of this application and be included here by reference. .
其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是计算机设备1的内部存储单元,例如该计算机设备1的移动硬盘。存储器12在另一些实施例中也可以是计算机设备1的外部存储设备,例如计算机设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,存储器12还可以既包括计算机设备1的内部存储单元也包括外部存储设备。存储器12不仅可以用于存储安装于计算机设备1的应用软件及各类数据,例如基于kubernetes的云原生存储程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。The memory 12 includes at least one type of readable storage medium, which includes flash memory, mobile hard disk, multimedia card, card-type memory (such as SD or DX memory, etc.), magnetic memory, magnetic disk, optical disk, etc. . In some embodiments, the memory 12 may be an internal storage unit of the computer device 1 , such as a mobile hard disk of the computer device 1 . In other embodiments, the memory 12 may also be an external storage device of the computer device 1, such as a plug-in mobile hard disk, a smart memory card (Smart Media Card, SMC), or a secure digital (SD) equipped on the computer device 1. ) card, Flash Card, etc. Further, the memory 12 may also include both an internal storage unit of the computer device 1 and an external storage device. The memory 12 can not only be used to store application software and various types of data installed on the computer device 1, such as the code of a cloud-native storage program based on kubernetes, etc., but can also be used to temporarily store data that has been output or will be output.
处理器13在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器13是所述计算机设备1的控制核心(Control Unit),利用各种接口和线路连接整个计算机设备1的各个部件,通过运行或执行存储在所述存储器12内的程序或者模块(例如执行基于kubernetes的云原生存储程序等),以及调用存储在所述存储器12内的数据,以执行计算机设备1的各种功能和处理数据。In some embodiments, the processor 13 may be composed of an integrated circuit, for example, it may be composed of a single packaged integrated circuit, or it may be composed of multiple integrated circuits packaged with the same function or different functions, including one or more central processing units. Central Processing unit (CPU), microprocessor, digital processing chip, graphics processor and various control chip combinations, etc. The processor 13 is the control core (Control Unit) of the computer device 1, using various interfaces and lines to connect various components of the entire computer device 1, by running or executing programs or modules stored in the memory 12 (for example, executing Cloud-native storage programs based on kubernetes, etc.), and call the data stored in the memory 12 to perform various functions of the computer device 1 and process data.
所述处理器13执行所述计算机设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个基于kubernetes的云原生存储方法实施例中的步骤,例如图1所示的步骤。The processor 13 executes the operating system of the computer device 1 and various installed application programs. The processor 13 executes the application program to implement the steps in each of the above Kubernetes-based cloud native storage method embodiments, such as the steps shown in Figure 1 .
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于 描述所述计算机程序在所述计算机设备1中的执行过程。例如,所述计算机程序可以被分割成发送单元110、转发单元111、解析单元112、创建单元113、存储单元114。Exemplarily, the computer program may be divided into one or more modules/units, and the one or more modules/units are stored in the memory 12 and executed by the processor 13 to complete the present invention. Apply. The one or more modules/units may be a series of computer-readable instruction segments capable of completing specific functions. The instruction segments are used to describe the execution process of the computer program in the computer device 1. For example, the computer program can be divided into a sending unit 110, a forwarding unit 111, a parsing unit 112, a creation unit 113, and a storage unit 114.
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、计算机设备,或者网络设备等)或处理器(processor)执行本申请各个实施例所述基于kubernetes的云原生存储方法的部分。The above-mentioned integrated units implemented in the form of software function modules can be stored in a computer-readable storage medium. The above-mentioned software function module is stored in a storage medium and includes a number of instructions to cause a computer device (which can be a personal computer, computer device, or network device, etc.) or processor to execute the steps described in various embodiments of the present application based on Part of Kubernetes’ cloud-native storage approach.
所述计算机设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指示相关的硬件设备来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机可读存储介质可以是非易失性,也可以是易失性,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。If the integrated modules/units of the computer device 1 are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the present application can implement all or part of the processes in the methods of the above embodiments by instructing relevant hardware devices through a computer program. The computer program can be stored in a computer-readable storage medium, so The computer-readable storage medium may be non-volatile or volatile. When the computer program is executed by the processor, the steps of each of the above method embodiments may be implemented.
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器等。Wherein, the computer program includes computer program code, which may be in the form of source code, object code, executable file or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording media, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory) , random access memory, etc.
进一步地,计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。Further, the computer-readable storage medium may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, at least one application program required for a function, etc.; the storage data area may store information based on the blockchain node. Use the created data, etc.
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。The blockchain referred to in this application is a new application model of computer technology such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithm. Blockchain is essentially a decentralized database. It is a series of data blocks generated using cryptographic methods. Each data block contains a batch of network transaction information and is used to verify its Validity of information (anti-counterfeiting) and generation of the next block. Blockchain can include the underlying platform of the blockchain, the platform product service layer, and the application service layer.
总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,在图3中仅用一根直线表示,但并不表示仅有一根总线或一种类型的总线。所述总线被设置为实现所述存储器12以及至少一个处理器13等之间的连接通信。The bus can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one straight line is used in Figure 3, but it does not mean that there is only one bus or one type of bus. The bus is configured to enable connection communication between the memory 12 and at least one processor 13 and the like.
尽管未示出,所述计算机设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器13逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述计算机设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。Although not shown, the computer device 1 may also include a power supply (such as a battery) that supplies power to various components. Preferably, the power supply may be logically connected to the at least one processor 13 through a power management device, thereby implementing the power management device. Charge management, discharge management, and power consumption management functions. The power supply may also include one or more DC or AC power supplies, recharging devices, power failure detection circuits, power converters or inverters, power status indicators and other arbitrary components. The computer device 1 may also include a variety of sensors, Bluetooth modules, Wi-Fi modules, etc., which will not be described again here.
进一步地,所述计算机设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该计算机设备1与其他计算机设备之间建立通信连接。Further, the computer device 1 may also include a network interface. Optionally, the network interface may include a wired interface and/or a wireless interface (such as a WI-FI interface, a Bluetooth interface, etc.), which are usually used in the computer device. 1. Establish communication connections with other computer devices.
可选地,该计算机设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在计算机设备1中处理的信息以及用于显示可视化的用户界面。Optionally, the computer device 1 may also include a user interface, which may be a display (Display) or an input unit (such as a keyboard). Optionally, the user interface may also be a standard wired interface or a wireless interface. Alternatively, in some embodiments, the display may be an LED display, a liquid crystal display, a touch-controlled liquid crystal display, an OLED (Organic Light-Emitting Diode, organic light-emitting diode) touch device, etc. The display, which may also be appropriately referred to as a display screen or a display unit, is used for displaying information processed in the computer device 1 and for displaying a visualized user interface.
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。It should be understood that the above embodiments are for illustration only, and the scope of the patent application is not limited by this structure.
图3仅示出了具有组件12-13的计算机设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对所述计算机设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。Figure 3 only shows the computer device 1 with components 12-13. Persons skilled in the art can understand that the structure shown in Figure 3 does not constitute a limitation to the computer device 1, and may include less than what is shown in the figure. Or more parts, or a combination of certain parts, or a different arrangement of parts.
结合图1,所述计算机设备1中的所述存储器12存储多个指令以实现一种基于kubernetes的云原生存储方法,所述处理器13可执行所述多个指令从而实现:1 , the memory 12 in the computer device 1 stores multiple instructions to implement a kubernetes-based cloud native storage method, and the processor 13 can execute the multiple instructions to achieve:
响应于kubernetes的有状态工作负载发起的存储请求,将所述存储请求发送至kubernetes存储控制面;In response to a storage request initiated by a stateful workload of kubernetes, send the storage request to the kubernetes storage control plane;
通过所述kubernetes存储控制面远程调用预先创建的云原生存储控制面,并将所述存储请求转发至所述云原生存储控制面;Remotely call the pre-created cloud native storage control plane through the kubernetes storage control plane, and forward the storage request to the cloud native storage control plane;
通过所述云原生存储控制面解析所述存储请求,得到所述有状态工作负载创建的持久卷声明,以及所述持久卷声明的声明内容;Parse the storage request through the cloud native storage control plane to obtain the persistent volume statement created by the stateful workload and the declaration content of the persistent volume statement;
基于所述声明内容,通过所述云原生存储控制面控制预先创建的云原生存储控制引擎创建存储卷;Based on the declaration content, create a storage volume by controlling the pre-created cloud native storage control engine through the cloud native storage control plane;
将所述存储卷分配给所述有状态工作负载进行数据存储。The storage volume is allocated to the stateful workload for data storage.
具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。Specifically, for the specific implementation method of the above instructions by the processor 13, reference can be made to the description of the relevant steps in the corresponding embodiment in Figure 1, which will not be described again here.
需要说明的是,本案中所涉及到的数据均为合法取得。It should be noted that the data involved in this case were obtained legally.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of modules is only a logical function division, and there may be other division methods in actual implementation.
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。The application may be used in a variety of general or special purpose computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics devices, network PCs, minicomputers, mainframe computers, including Distributed computing environment for any of the above systems or devices, etc. The application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present application may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including storage devices.
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。The modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical units, that is, they may be located in one place, or they may be distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。In addition, each functional module in various embodiments of the present application can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of hardware plus software function modules.
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。It is obvious to those skilled in the art that the present application is not limited to the details of the above-described exemplary embodiments, and that the present application can be implemented in other specific forms without departing from the spirit or essential characteristics of the present application.
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。Therefore, the embodiments should be regarded as illustrative and non-restrictive from any point of view, and the scope of the application is defined by the appended claims rather than the above description, and it is therefore intended that all claims falling within the claims All changes within the meaning and scope of the equivalent elements are included in this application. Any accompanying reference signs in the claims shall not be construed as limiting the claim in question.
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。本申请中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。Furthermore, it is clear that the word "comprising" does not exclude other elements or steps, and the singular does not exclude the plural. Multiple units or devices stated in this application may also be implemented by one unit or device through software or hardware. The words first, second, etc. are used to indicate names and do not indicate any specific order.
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application and are not limiting. Although the present application has been described in detail with reference to the preferred embodiments, those of ordinary skill in the art should understand that the technical solutions of the present application can be modified. Modifications or equivalent substitutions may be made without departing from the spirit and scope of the technical solution of the present application.

Claims (20)

  1. 一种基于kubernetes的云原生存储方法,其中,所述基于kubernetes的云原生存储方法包括:A cloud native storage method based on kubernetes, wherein the cloud native storage method based on kubernetes includes:
    响应于kubernetes的有状态工作负载发起的存储请求,将所述存储请求发送至kubernetes存储控制面;In response to a storage request initiated by a stateful workload of kubernetes, send the storage request to the kubernetes storage control plane;
    通过所述kubernetes存储控制面远程调用预先创建的云原生存储控制面,并将所述存储请求转发至所述云原生存储控制面;Remotely call the pre-created cloud native storage control plane through the kubernetes storage control plane, and forward the storage request to the cloud native storage control plane;
    通过所述云原生存储控制面解析所述存储请求,得到所述有状态工作负载创建的持久卷声明,以及所述持久卷声明的声明内容;Parse the storage request through the cloud native storage control plane to obtain the persistent volume statement created by the stateful workload and the declaration content of the persistent volume statement;
    基于所述声明内容,通过所述云原生存储控制面控制预先创建的云原生存储控制引擎创建存储卷;Based on the declaration content, create a storage volume by controlling the pre-created cloud native storage control engine through the cloud native storage control plane;
    将所述存储卷分配给所述有状态工作负载进行数据存储。The storage volume is allocated to the stateful workload for data storage.
  2. 如权利要求1所述的基于kubernetes的云原生存储方法,其中,所述云原生存储控制面及所述云原生存储控制引擎运行在kubernetes上,所述云原生存储控制面用于向所述云原生存储控制引擎下发任务指令,所述云原生存储控制引擎用于根据所述任务指令执行任务。The cloud native storage method based on kubernetes as claimed in claim 1, wherein the cloud native storage control plane and the cloud native storage control engine run on kubernetes, and the cloud native storage control plane is used to provide information to the cloud The native storage control engine issues task instructions, and the cloud native storage control engine is used to execute tasks according to the task instructions.
  3. 如权利要求1所述的基于kubernetes的云原生存储方法,其中,所述云原生存储控制引擎包括CSI插件驱动、数据引擎控制器及配置插件,所述CSI插件驱动用于与所述kubernetes存储控制面进行交互;所述数据引擎控制器用于控制所述kubernetes的各个节点的数据引擎服务;所述配置插件用于与第三方系统进行集成;The cloud native storage method based on kubernetes as claimed in claim 1, wherein the cloud native storage control engine includes a CSI plug-in driver, a data engine controller and a configuration plug-in, and the CSI plug-in driver is used to communicate with the kubernetes storage control engine. interact; the data engine controller is used to control the data engine services of each node of kubernetes; the configuration plug-in is used to integrate with third-party systems;
    所述云原生存储控制引擎还用于提供连接至本地及/或远程存储卷的接口,及提供卷服务。The cloud native storage control engine is also used to provide interfaces to local and/or remote storage volumes and provide volume services.
  4. 如权利要求1所述的基于kubernetes的云原生存储方法,其中,所述基于所述声明内容,通过所述云原生存储控制面控制预先创建的云原生存储控制引擎创建存储卷包括:The cloud native storage method based on kubernetes as claimed in claim 1, wherein, based on the declaration content, controlling the pre-created cloud native storage control engine to create a storage volume through the cloud native storage control plane includes:
    通过所述云原生存储控制面的控制器根据所述声明内容创建所述存储卷对应的生成指令;Create generation instructions corresponding to the storage volume according to the declaration content through the controller of the cloud native storage control plane;
    将所述生成指令下发至所述云原生存储控制引擎;Send the generation instruction to the cloud native storage control engine;
    通过所述云原生存储控制引擎根据所述声明内容创建所述存储卷。The storage volume is created according to the declaration content through the cloud native storage control engine.
  5. 如权利要求4所述的基于kubernetes的云原生存储方法,其中,所述声明内容包括存储空间类型,所述通过所述云原生存储控制引擎根据所述声明内容创建所述存储卷包括:The cloud native storage method based on kubernetes as claimed in claim 4, wherein the declaration content includes a storage space type, and creating the storage volume according to the declaration content through the cloud native storage control engine includes:
    当所述存储空间类型为块存储类型时,通过所述云原生存储控制引擎调用块存储接口创建块存储设备作为所述存储卷;或者When the storage space type is a block storage type, call the block storage interface through the cloud native storage control engine to create a block storage device as the storage volume; or
    当所述存储空间类型为文件存储类型时,通过所述云原生存储控制引擎调用文件系统接口创建文件系统子卷作为所述存储卷。When the storage space type is a file storage type, the cloud native storage control engine calls a file system interface to create a file system subvolume as the storage volume.
  6. 如权利要求4所述的基于kubernetes的云原生存储方法,其中,所述控制器属于一个独立pod,所述控制器与所述存储卷对应的pod属于同一节点。The cloud-native storage method based on kubernetes as claimed in claim 4, wherein the controller belongs to an independent pod, and the controller and the pod corresponding to the storage volume belong to the same node.
  7. 如权利要求1所述的基于kubernetes的云原生存储方法,其中,所述方法还包括:The kubernetes-based cloud native storage method as claimed in claim 1, wherein the method further includes:
    通过所述云原生存储控制面与配置架构进行集成;Integrate through the cloud native storage control plane and configuration architecture;
    通过所述配置架构对所述云原生存储控制面及所述存储卷进行遥测及监控。Telemetry and monitoring of the cloud native storage control plane and the storage volume are performed through the configuration architecture.
  8. 如权利要求1所述的基于kubernetes的云原生存储方法,其中,在kubernetes上创建所述云原生存储控制面及所述云原生存储控制引擎。The cloud native storage method based on kubernetes as claimed in claim 1, wherein the cloud native storage control plane and the cloud native storage control engine are created on kubernetes.
  9. 一种基于kubernetes的云原生存储装置,其中,所述基于kubernetes的云原生存储装置包括:A cloud native storage device based on kubernetes, wherein the cloud native storage device based on kubernetes includes:
    发送单元,用于响应于kubernetes的有状态工作负载发起的存储请求,将所述存储请求发送至kubernetes存储控制面;A sending unit, configured to respond to a storage request initiated by the stateful workload of kubernetes and send the storage request to the kubernetes storage control plane;
    转发单元,用于通过所述kubernetes存储控制面远程调用预先创建的云原生存储控制面,并将所述存储请求转发至所述云原生存储控制面;A forwarding unit configured to remotely call the pre-created cloud native storage control plane through the kubernetes storage control plane, and forward the storage request to the cloud native storage control plane;
    解析单元,用于通过所述云原生存储控制面解析所述存储请求,得到所述有状态工作负载创建的持久卷声明,以及所述持久卷声明的声明内容;A parsing unit configured to parse the storage request through the cloud native storage control plane to obtain the persistent volume statement created by the stateful workload and the statement content of the persistent volume statement;
    创建单元,用于基于所述声明内容,通过所述云原生存储控制面控制预先创建的云原生存储控制引擎创建存储卷;A creation unit configured to create a storage volume based on the declaration content by controlling the pre-created cloud native storage control engine through the cloud native storage control plane;
    存储单元,用于将所述存储卷分配给所述有状态工作负载进行数据存储。A storage unit configured to allocate the storage volume to the stateful workload for data storage.
  10. 一种计算机设备,其中,所述计算机设备包括:A computer device, wherein the computer device includes:
    存储器,存储至少一个指令;及a memory to store at least one instruction; and
    处理器,执行所述存储器中存储的指令以实现以下步骤:A processor that executes instructions stored in the memory to implement the following steps:
    响应于kubernetes的有状态工作负载发起的存储请求,将所述存储请求发送至kubernetes存储控制面;In response to a storage request initiated by a stateful workload of kubernetes, send the storage request to the kubernetes storage control plane;
    通过所述kubernetes存储控制面远程调用预先创建的云原生存储控制面,并将所述存储请求转发至所述云原生存储控制面;Remotely call the pre-created cloud native storage control plane through the kubernetes storage control plane, and forward the storage request to the cloud native storage control plane;
    通过所述云原生存储控制面解析所述存储请求,得到所述有状态工作负载创建的持久卷声明,以及所述持久卷声明的声明内容;Parse the storage request through the cloud native storage control plane to obtain the persistent volume statement created by the stateful workload and the declaration content of the persistent volume statement;
    基于所述声明内容,通过所述云原生存储控制面控制预先创建的云原生存储控制引擎创建存储卷;Based on the declaration content, create a storage volume by controlling the pre-created cloud native storage control engine through the cloud native storage control plane;
    将所述存储卷分配给所述有状态工作负载进行数据存储。The storage volume is allocated to the stateful workload for data storage.
  11. 如权利要求10所述的计算机设备,其中,所述云原生存储控制面及所述云原生存储控制引擎运行在kubernetes上,所述云原生存储控制面用于向所述云原生存储控制引擎下发任务指令,所述云原生存储控制引擎用于根据所述任务指令执行任务。The computer device of claim 10, wherein the cloud native storage control plane and the cloud native storage control engine run on kubernetes, and the cloud native storage control plane is used to download the cloud native storage control engine to the cloud native storage control plane. Issue task instructions, and the cloud native storage control engine is used to execute tasks according to the task instructions.
  12. 如权利要求10所述的计算机设备,其中,所述云原生存储控制引擎包括CSI插件驱动、数据引擎控制器及配置插件,所述CSI插件驱动用于与所述kubernetes存储控制面进行交互;所述数据引擎控制器用于控制所述kubernetes的各个节点的数据引擎服务;所述配置插件用于与第三方系统进行集成;The computer device of claim 10, wherein the cloud native storage control engine includes a CSI plug-in driver, a data engine controller and a configuration plug-in, and the CSI plug-in driver is used to interact with the kubernetes storage control plane; The data engine controller is used to control the data engine services of each node of the kubernetes; the configuration plug-in is used to integrate with third-party systems;
    所述云原生存储控制引擎还用于提供连接至本地及/或远程存储卷的接口,及提供卷服务。The cloud native storage control engine is also used to provide interfaces to local and/or remote storage volumes and provide volume services.
  13. 如权利要求10所述的计算机设备,其中,所述基于所述声明内容,通过所述云原生存储控制面控制预先创建的云原生存储控制引擎创建存储卷包括:The computer device according to claim 10, wherein, based on the declaration content, controlling the pre-created cloud native storage control engine to create a storage volume through the cloud native storage control plane includes:
    通过所述云原生存储控制面的控制器根据所述声明内容创建所述存储卷对应的生成指令;Create generation instructions corresponding to the storage volume according to the declaration content through the controller of the cloud native storage control plane;
    将所述生成指令下发至所述云原生存储控制引擎;Send the generation instruction to the cloud native storage control engine;
    通过所述云原生存储控制引擎根据所述声明内容创建所述存储卷。The storage volume is created according to the declaration content through the cloud native storage control engine.
  14. 如权利要求13所述的计算机设备,其中,所述声明内容包括存储空间类型,所述通过所述云原生存储控制引擎根据所述声明内容创建所述存储卷包括:The computer device of claim 13, wherein the declaration content includes a storage space type, and creating the storage volume according to the declaration content through the cloud native storage control engine includes:
    当所述存储空间类型为块存储类型时,通过所述云原生存储控制引擎调用块存储接口创建块存储设备作为所述存储卷;或者When the storage space type is a block storage type, call the block storage interface through the cloud native storage control engine to create a block storage device as the storage volume; or
    当所述存储空间类型为文件存储类型时,通过所述云原生存储控制引擎调用文件系统接口创建文件系统子卷作为所述存储卷。When the storage space type is a file storage type, the cloud native storage control engine calls a file system interface to create a file system subvolume as the storage volume.
  15. 如权利要求13所述的计算机设备,其中,所述控制器属于一个独立pod,所述控制器与所述存储卷对应的pod属于同一节点。The computer device of claim 13, wherein the controller belongs to an independent pod, and the controller and the pod corresponding to the storage volume belong to the same node.
  16. 如权利要求10所述的计算机设备,其中,所述处理器在执行所述存储器中存储的指令时,还包括:The computer device of claim 10, wherein when the processor executes instructions stored in the memory, it further includes:
    通过所述云原生存储控制面与配置架构进行集成;Integrate through the cloud native storage control plane and configuration architecture;
    通过所述配置架构对所述云原生存储控制面及所述存储卷进行遥测及监控。Telemetry and monitoring of the cloud native storage control plane and the storage volume are performed through the configuration architecture.
  17. 如权利要求10所述的计算机设备,其中,在kubernetes上创建所述云原生存储控制面及所述云原生存储控制引擎。The computer device of claim 10, wherein the cloud native storage control plane and the cloud native storage control engine are created on kubernetes.
  18. 一种计算机可读存储介质,其中:所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被计算机设备中的处理器执行以实现以下操作:A computer-readable storage medium, wherein: at least one instruction is stored in the computer-readable storage medium, and the at least one instruction is executed by a processor in a computer device to implement the following operations:
    响应于kubernetes的有状态工作负载发起的存储请求,将所述存储请求发送至kubernetes存储控制面;In response to a storage request initiated by a stateful workload of kubernetes, send the storage request to the kubernetes storage control plane;
    通过所述kubernetes存储控制面远程调用预先创建的云原生存储控制面,并将所述存储请求转发至所述云原生存储控制面;Remotely call the pre-created cloud native storage control plane through the kubernetes storage control plane, and forward the storage request to the cloud native storage control plane;
    通过所述云原生存储控制面解析所述存储请求,得到所述有状态工作负载创建的持久卷声明,以及所述持久卷声明的声明内容;Parse the storage request through the cloud native storage control plane to obtain the persistent volume statement created by the stateful workload and the declaration content of the persistent volume statement;
    基于所述声明内容,通过所述云原生存储控制面控制预先创建的云原生存储控制引擎创建存储卷;Based on the declaration content, create a storage volume by controlling the pre-created cloud native storage control engine through the cloud native storage control plane;
    将所述存储卷分配给所述有状态工作负载进行数据存储。The storage volume is allocated to the stateful workload for data storage.
  19. 如权利要求18所述的计算机可读存储介质,其中,所述云原生存储控制面及所述云原生存储控制引擎运行在kubernetes上,所述云原生存储控制面用于向所述云原生存储控制引擎下发任务指令,所述云原生存储控制引擎用于根据所述任务指令执行任务。The computer-readable storage medium of claim 18, wherein the cloud-native storage control plane and the cloud-native storage control engine run on kubernetes, and the cloud-native storage control plane is used to provide data to the cloud-native storage The control engine issues task instructions, and the cloud native storage control engine is used to execute tasks according to the task instructions.
  20. 如权利要求18所述的计算机可读存储介质,其中,所述云原生存储控制引擎包括CSI插件驱动、数据引擎控制器及配置插件,所述CSI插件驱动用于与所述kubernetes存储控制面进行交互;所述数据引擎控制器用于控制所述kubernetes的各个节点的数据引擎服务;所述配置插件用于与第三方系统进行集成;The computer-readable storage medium of claim 18, wherein the cloud native storage control engine includes a CSI plug-in driver, a data engine controller and a configuration plug-in, and the CSI plug-in driver is used to communicate with the kubernetes storage control plane. Interaction; the data engine controller is used to control the data engine services of each node of the kubernetes; the configuration plug-in is used to integrate with third-party systems;
    所述云原生存储控制引擎还用于提供连接至本地及/或远程存储卷的接口,及提供卷服务。The cloud native storage control engine is also used to provide interfaces to local and/or remote storage volumes and provide volume services.
PCT/CN2022/110738 2022-05-26 2022-08-08 Cloud native storage method and apparatus based on kubernetes, and device and medium WO2023226197A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210580675.2 2022-05-26
CN202210580675.2A CN114691050B (en) 2022-05-26 2022-05-26 Cloud native storage method, device, equipment and medium based on kubernets

Publications (1)

Publication Number Publication Date
WO2023226197A1 true WO2023226197A1 (en) 2023-11-30

Family

ID=82145485

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/110738 WO2023226197A1 (en) 2022-05-26 2022-08-08 Cloud native storage method and apparatus based on kubernetes, and device and medium

Country Status (2)

Country Link
CN (1) CN114691050B (en)
WO (1) WO2023226197A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117519613A (en) * 2024-01-08 2024-02-06 之江实验室 Storage volume sharing method and system for k8s clusters

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114691050B (en) * 2022-05-26 2022-09-06 深圳前海环融联易信息科技服务有限公司 Cloud native storage method, device, equipment and medium based on kubernets

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110780822A (en) * 2019-10-28 2020-02-11 浪潮云信息技术有限公司 Management container cloud local storage system and implementation method
CN111966305A (en) * 2020-10-22 2020-11-20 腾讯科技(深圳)有限公司 Persistent volume allocation method and device, computer equipment and storage medium
CN113687935A (en) * 2021-09-10 2021-11-23 大连华信计算机技术股份有限公司 Cloud native storage scheduling mode based on super-fusion design
CN113687795A (en) * 2021-10-25 2021-11-23 浩鲸云计算科技股份有限公司 Method and system for realizing isolation allocation of storage volumes of stateful application
CN113760638A (en) * 2020-10-15 2021-12-07 北京沃东天骏信息技术有限公司 Log service method and device based on kubernets cluster
CN114691050A (en) * 2022-05-26 2022-07-01 深圳前海环融联易信息科技服务有限公司 Cloud native storage method, device, equipment and medium based on kubernets

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107105009B (en) * 2017-03-22 2020-03-10 北京荣之联科技股份有限公司 Job scheduling method and device for butting workflow engine based on Kubernetes system
CN107426034B (en) * 2017-08-18 2020-09-01 国网山东省电力公司信息通信公司 Large-scale container scheduling system and method based on cloud platform
CN108121591A (en) * 2017-12-18 2018-06-05 浪潮软件股份有限公司 A kind of implementation method and device of Kubernetes nodes
CN109117265A (en) * 2018-07-12 2019-01-01 北京百度网讯科技有限公司 The method, apparatus, equipment and storage medium of schedule job in the cluster
CN113296871A (en) * 2020-04-10 2021-08-24 阿里巴巴集团控股有限公司 Method, equipment and system for processing container group instance
CN111679790B (en) * 2020-05-26 2024-05-14 中国工商银行股份有限公司 Remote software development storage space allocation method and device
CN112230857B (en) * 2020-10-22 2023-06-23 深圳软通动力信息技术有限公司 Hybrid cloud system, hybrid cloud disk application method and data storage method
CN113515346A (en) * 2021-05-24 2021-10-19 新华三大数据技术有限公司 Storage volume residual data cleaning method and device
CN113485786B (en) * 2021-06-29 2022-05-17 济南浪潮数据技术有限公司 Method and system for realizing pod mounting of finder volume based on cloud physical machine
CN114338722B (en) * 2021-12-30 2024-06-07 中国电信股份有限公司 Cloud edge storage resource management system and method, storage medium and electronic equipment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110780822A (en) * 2019-10-28 2020-02-11 浪潮云信息技术有限公司 Management container cloud local storage system and implementation method
CN113760638A (en) * 2020-10-15 2021-12-07 北京沃东天骏信息技术有限公司 Log service method and device based on kubernets cluster
CN111966305A (en) * 2020-10-22 2020-11-20 腾讯科技(深圳)有限公司 Persistent volume allocation method and device, computer equipment and storage medium
CN113687935A (en) * 2021-09-10 2021-11-23 大连华信计算机技术股份有限公司 Cloud native storage scheduling mode based on super-fusion design
CN113687795A (en) * 2021-10-25 2021-11-23 浩鲸云计算科技股份有限公司 Method and system for realizing isolation allocation of storage volumes of stateful application
CN114691050A (en) * 2022-05-26 2022-07-01 深圳前海环融联易信息科技服务有限公司 Cloud native storage method, device, equipment and medium based on kubernets

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117519613A (en) * 2024-01-08 2024-02-06 之江实验室 Storage volume sharing method and system for k8s clusters

Also Published As

Publication number Publication date
CN114691050B (en) 2022-09-06
CN114691050A (en) 2022-07-01

Similar Documents

Publication Publication Date Title
WO2023226197A1 (en) Cloud native storage method and apparatus based on kubernetes, and device and medium
US11429442B2 (en) Parallel and distributed computing using multiple virtual machines
US10162708B2 (en) Fault tolerance for complex distributed computing operations
WO2023056943A1 (en) Internet of things rule engine-based terminal control method and apparatus, and device and medium
CN110083455B (en) Graph calculation processing method, graph calculation processing device, graph calculation processing medium and electronic equipment
CN102638566B (en) BLOG system running method based on cloud storage
US11169846B2 (en) System and method for managing tasks and task workload items between address spaces and logical partitions
CN104951694A (en) Isolation method and apparatus for management virtual machine
CN112104723A (en) Multi-cluster data processing system and method
US10185743B2 (en) Method and system for optimizing reduce-side join operation in a map-reduce framework
US20150331761A1 (en) Host swap hypervisor that provides high availability for a host of virtual machines
WO2023226205A1 (en) Gpu sharing method and apparatus based on kubernetes, and device and medium
CN112131208A (en) Full data migration method, device and equipment and computer readable storage medium
CN112286633A (en) Virtual machine creating method, device, equipment and storage medium based on CloudStack platform
CN114579250A (en) Method, device and storage medium for constructing virtual cluster
US20160373523A1 (en) Profile management method and apparatus for running of virtual desktop in heterogeneous server
US10747567B2 (en) Cluster check services for computing clusters
CN111506399B (en) Task migration method and device, electronic equipment and storage medium
US20180278544A1 (en) Enabling a traditional language platform to participate in a java enterprise computing environment
CN114185502A (en) Log printing method, device, equipment and medium based on production line environment
CN114003311A (en) Progress bar configuration method based on artificial intelligence and related equipment
CN113590255A (en) YARN (YARN-assisted navigation radio network) and Kubernetes-based containerized double-layer scheduling method and system
CN103631648A (en) Task processing method and system
US20200326976A1 (en) Operating cluster computer system with coupling facility
US20230156083A1 (en) System and method for offloading preprocessing of machine learning data to remote storage

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22943387

Country of ref document: EP

Kind code of ref document: A1