Adding a Migration Manually
Manually add system components in a container migration (for middleware and Java applications) or a non-container migration (for databases, middleware, and Java applications).
Middleware containers support Redis, Nginx, and Nacos.
Prerequisites
You have logged in to the Kunpeng DevKit.
Procedure
- Click System Migration in the navigation tree on the left and then click
to go to the New Project tab page.Figure 1 Basic Settings
- Set Migration Project Name. A project name is automatically generated by default, which can be changed if needed.
The name must meet the following requirements:
- Can contain only letters, digits, and underscores (_).
- 1 to 64 characters.
- Set Migration Scenario to Manual migration.
- Select migration project nodes. You can select a maximum of 20 nodes and search for nodes by their IP addresses or names. If a node is not included on the list, you can click Add Node to add it for the migration project. For details, see Managing Agent.
- Click Configure Migration Components. Under Component Table, configure the components that you want to migrate.Figure 2 Configure Migration Components
- Manual adding: You can manually add containerized or non-containerized components.
- Click Add.
- Enter component information. Table 1 and Table 2 describe the parameters.
Table 1 Non-containerized components Parameter
Description
Container Migration
Indicates whether to migrate a container.
Component Belonging
The options are Database, Middleware, and Application.
Node
Node to which the component belongs.
Source component
Source Component Name
Name of the source component to be migrated.
Version
Source component version. This parameter is available only to databases and middleware.
Origin of Source Component
Indicates where the source component comes. This parameter is available only to middleware and applications.
NOTE:If the source component is Redis, refer to Packaging the Redis Source Component to package the source component. If the source component is Nginx, refer to Packaging the Nginx Source Component to package the source component.
- Obtain from node server: Obtain the source component package from the specified path on the owning node, scan and analyze it, and generate a migration guide report. If the component belongs to middleware, perform the following steps:
- Compress the installation directory of the source component to be scanned into a package, for example, a tar.gz package. Replace the example package name and source component directory with the actual ones.
1tar cvf xxx.tar.gz /xxx/xxx/xxx
- Log in to the tool through SSH and upload the compressed package to a user-defined directory on the node server.
- Go to the directory of storing the compressed package.
1cd User-defined_directory
- Decompress the source component package. Replace the example package name with the actual one.
1tar xvf xxx.tar.gz
- After the decompression is complete, you can run the following command to delete the source component package.
1rm -f xxx.tar.gz
- Set the path to the decompressed file as the source component path.
- Compress the installation directory of the source component to be scanned into a package, for example, a tar.gz package. Replace the example package name and source component directory with the actual ones.
- Upload source component package: Upload the source component package, scan and analyze it, and generate a migration guide report. If the component belongs to middleware, perform the following steps:
- Compress the directory of the source component to be scanned into a package, for example, a tar.gz package. Replace the example package name and source component directory with the actual ones.
1tar cvf xxx.tar.gz /xxx/xxx/xxx
- Upload the source component package.
- Compress the directory of the source component to be scanned into a package, for example, a tar.gz package. Replace the example package name and source component directory with the actual ones.
- No source component available: No source component package is provided and no migration analysis is performed. This parameter is available only to middleware.
Source Component Path
Path to the source component on the owning node.
NOTE:This parameter is displayed when Origin of Source Component is set to Obtain from node server.
Source Component Installation Path
Enter the source component installation path.
NOTE:This parameter is displayed when Component Belonging is set to Middleware and Origin of Source Component is set to Upload source component package.
Upload Source Package
Click Upload to upload the required source component package in .zip, .tar, or .tar.gz format.
NOTE:This parameter is displayed when Origin of Source Component is set to Upload source component package.
Target component
Target Component Name
Name of the target component.
Origin of Target Component
Indicates where the target component comes. This parameter is available only to databases and middleware.
- Download from URL: Download the target component package from the URL accessible to the owning node and start an automatic installation.
- Obtain from node server: Obtain the target component package from the specified path on the node and start an automatic installation.
- Access the installation package download URL to obtain the target component installation package.
https://mirrors.huaweicloud.com/kunpeng/archive/Kunpeng_Middleware/
- Log in to the tool through SSH and upload the installation package to a user-defined directory on the node server.
- Specify the installation package path as the target component path.
- Access the installation package download URL to obtain the target component installation package.
- Upload target component package: Upload the target component package to the DevKit node and start an automatic installation.
URL
Enter the target URL.
NOTE:This parameter is displayed when Origin of Target Component is set to Download from URL.
Target Component Path
Enter the path to the target component on the owning node.
NOTE:This parameter is displayed when Origin of Target Component is set to Obtain from node server.
Upload Target Component Package
Click Upload to upload the required target component package in .zip, .tar, or .tar.gz format.
NOTE:This parameter is displayed when Origin of Target Component is set to Upload Target Component Package.
Commercial Certificate
Click Upload to upload the required commercial certificate.
Table 2 Containerized components Parameter
Description
Container Migration
Indicates whether to migrate a container.
Component Belonging
The options are Middleware and Application.
Owning Node
Node to which the component belongs.
Source component
Source Component Name
Name of the source component to be migrated.
Version
Source component version. This parameter is available only to middleware.
Origin of Source Component
The options are:
- Dockerfile (selected by default for middleware)
- Image
Dockerfile
Click Upload to upload the required Dockerfile.
Origin of Image
- Obtain from node server: Obtain the image file from the specified path on the owning node, scan and analyze it, and generate a migration guide report.
- Upload image: Upload the image file for scanning and analysis and generate a migration guide report. If the image file is greater than the upper limit (2048 MB by default), select Obtain from node server.
NOTE:This parameter is available when Origin of Source Component is set to Image.
Image
Click Upload to upload the required image file.
NOTE:This parameter is displayed when Origin of Image is set to Upload image.
Target component
Target Component Name
Target component name.
Origin of Target Component
Indicates where the target component comes.
- Obtain from node server: Obtain the source component package from the specified path on the owning node, scan and analyze it, and generate a migration guide report. If the component belongs to middleware, perform the following steps:
- Click OK.
- Import using Docker Compose: You can parse a Docker Compose file to obtain the container components in the file.
Docker Compose is a tool for defining and running multi-container applications. It is the key to unlocking a streamlined and efficient development and deployment experience. Compose simplifies the control of your entire application stack, making it easy to manage services, networks, and volumes in a single, comprehensible YAML configuration file.
- Click Import Using Docker Compose.
- Upload the Docker Compose file and select the owning node.
- Click Analyze.
- After importing the parsed components, click Edit in the Operation column to complete the configuration. For details, see Table 3.
Table 3 Compose component information Parameter
Description
Container Migration
Indicates whether to migrate a container.
Component Belonging
The options are Middleware and Application.
Owning Node
Node to which the component belongs.
Source component
Source Component Name
Name of the migrated source component.
Origin of Source Component
Imported Docker Compose file.
Complete the following advanced settings for a more smooth migration.
Dockerfile
Click Upload to upload the required Dockerfile.
Origin of Image
- Obtain from node server: Obtain the image file from the specified path on the owning node, scan and analyze it, and generate a migration guide report.
- Upload image: Upload the image file for scanning and analysis and generate a migration guide report. If the image file is greater than the upper limit (2048 MB by default), select Obtain from node server.
Image
- If Origin of Image is set to Obtain from node server, enter the path to the image file on the owning node.
- If Origin of Image is set to Upload image, click Upload to upload the required image file.
env_file
Click Upload to upload the required env_file.
Origin of Mounted Volume
- Obtain from node server: Obtain the mounted volume file from the specified path on the owning node, scan and analyze the file, and generate a migration guide report.
- Upload mounted volume: Upload the mounted volume file for scanning and analysis and generate a migration guide report. If the file is greater than the upper limit (2048 MB by default), select Obtain from node server.
Mounted Volume
- If Origin of Mounted Volume is set to Obtain from node server, enter the path to the mounted volume file on the owning node.
- If Origin of Mounted Volume is set to Upload mounted volume, click Upload to upload the required mounted volume file.
Origin of Container Layer
- Obtain from node server: Obtain the container layer file from the specified path on the owning node, scan and analyze the file, and generate a migration guide report.
- Upload container layer: Upload the container layer file for scanning and analysis and generate a migration guide report. If the file is greater than the upper limit (2048 MB by default), select Obtain from node server.
Container Layer
- If Origin of Container Layer is set to Obtain from node server, enter the path to the container layer file on the owning node.
- If Origin of Container Layer is set to Upload container layer, click Upload to upload the required container layer file.
Origin of Redis Data File
- Obtain from node server: Obtain the Redis data file from the specified path on the owning node, scan and analyze the file, and generate a migration guide report.
- Upload Redis data file: Upload the Redis data file for scanning and analysis and generate a migration guide report. If the file is greater than the upper limit (2048 MB by default), select Obtain from node server.
Redis Data File
- If Origin of Redis Data File is set to Obtain from node server, enter the path to the Redis data file on the owning node.
- If Origin of Redis Data File is set to Upload Redis Data File, click Upload to upload the required Redis data file.
Target component
Target Component Name
Target component name.
Origin of Target Component
Imported Docker Compose file.
- Manual adding: You can manually add containerized or non-containerized components.
- Trust Target Component URL: If you have selected Download from URL, choose whether to trust the target component URL.
If you enable Trust Target Component URL, SSL certificate verification will be skipped for all software downloads in this migration task. Check that the URL is secure.
- Upload Source Package: If you need to scan the source code for SQL statements (DM database SQL compatibility assessment supported) or non-SM algorithms, upload all required source packages. Only Java and .NET source packages are supported.
- Click Upload and drag the source packages to the upload area. Alternatively, you can click Add File to select source packages and click Upload.
- Optional: If you select Database in Component Table and need to scan an SQL source package, you are advised to configure the data definition language (DDL) file. For details about how to obtain a DDL file, see Exporting a DDL File.
- The supported source package formats are tar, tar.bz, tar.bz2, tar.gz, tar.xz, tbz, tbz2, tgz, txz, and zip. You can upload multiple source packages at the same time. Each of the source packages must be less than or equal to 2048 MB.
- For Dockerfile and Docker Compose files, the tool identifies the statements that do not support the Arm architecture and provides modification suggestions. For details about the file matching rules, see Dockerfile and Docker Compose Trustlist and Replacement List.
- The tool detects the drivers, dependencies, Druid, and JPA configurations in the source code, and provides Quick Fix suggestions.
- Click Start Migration.