Overview
As a basic feature of MindEdge Framework, containerized application management manages the entire lifetime of user applications. User applications are released as containerized application images. These images can be managed by MindEdge Framework, which includes operations such as adding, deleting, modifying, querying, and deploying. Containerized applications can be uninstalled from a node group or a single node. You can call related APIs to implement these functions. Operations related to containerized applications are performed in each node group. When a node is added to a node group, containerized applications are automatically deployed on this node. When it is removed, containerized applications are automatically uninstalled.
MindEdge Framework can use containerized application images by using a Docker public image repository, a third-party image repository, or manually importing images using MEF Edge. When using an image repository, ensure that the network connection between the device where MEF Edge is installed and the image repository is normal and that the image repository is available. If you need to use a third-party image repository to obtain images, see Overview.
Restrictions
- MindEdge Framework supports a maximum of 1,000 containerized applications. If you deploy a containerized application that is not managed by MEF Center on a device node, the containerized application may fail to be deployed due to insufficient resources.
- MEF Edge supports a maximum of 20 containerized applications can be deployed. Too many containerized applications may deteriorate device performance.
- When you concurrently call APIs (Deploying Containerized Applications, Managing Nodes, and Adding Nodes to a Node Group) for deploying containerized applications, the containerized applications may fail to run properly due to insufficient node resources.
- The MEF Edge system reserves 1024 MB memory resources and one CPU core.
- Formula to calculate the total available memory resources of all containerized applications: Total available memory resources = Total system memory resources – Reserved system memory resources
- Formula to calculate the total available CPU resources of all containerized applications: Total available CPU resources = Total CPU resources of the system – Reserved CPU resources of the system
- MEF Center allows a maximum of 20 containerized applications to be deployed on a single node group or on a single node. If the number of containerized applications deployed on a node group or node exceeds the upper limit, the function for deploying applications and incorporating new nodes of the corresponding node group are restricted.
Process Overview
When calling APIs to enable containerized application management, you can create and deploy containerized applications separately. Specifically, you can create required containerized applications and then determine the node groups to which these containerized applications are to be deployed. The process of managing containerized applications is as follows:
- Create a containerized application.
You can use the API for creating a containerized application to configure containerized application parameters. After the API is successfully called, the AppID of the containerized application that is successfully created is returned. For details about the API, see Creating a Containerized Application.
https://{ip}:{port}/edgemanager/v1/app - Optional: Query the containerized application list.
The purpose of this step is to obtain the AppID of the containerized application to be deployed. For details about the API for querying the containerized application list, see Querying the Containerized Application List.
https://{ip}:{port}/edgemanager/v1/app/list?pageNum={value1}&pageSize={value2}&name={value3} - Deploy a containerized application.
For details about the API for deploying a containerized application, see Deploying Containerized Applications.
https://{ip}:{port}/edgemanager/v1/app/deployment - Optional: Query deployed containerized applications.You can use the API for querying deployed containerized applications to obtain the running status of a containerized application with a specified AppID. For details about how to query deployed containerized applications, see Querying the List of Deployed Containerized Applications.
https://{ip}:{port}/edgemanager/v1/app/deployment?appID={id} - Optional: Update a containerized application.
If a containerized application has been deployed, you can update it by calling this API. Currently, only the containerized application image name and version can be updated. For details about the API, see Updating a Containerized Application.
https://{ip}:{port}/edgemanager/v1/app - Optional: Uninstall a containerized application.
For details about the API for uninstalling containerized applications, see Uninstalling a Containerized Application.
https://{ip}:{port}/edgemanager/v1/app/deployment/batch-delete - Optional: Delete a containerized application.
Only containerized applications that are not deployed can be deleted. For containerized applications that have been deployed, uninstall them first. For details about the API for deleting containerized applications, see Deleting a Containerized Application.
https://{ip}:{port}/edgemanager/v1/app/batch-delete