Introduction
In some deployments, ZEDEDA Cloud cannot reach your storage repository, but your edge nodes can. This is common when the storage sits behind a private FQDN, a private IP, or a firewall that only your edge nodes can traverse. In this situation, the standard upload path fails because uploading copies the app image through ZEDEDA Cloud to the data store, which requires ZEDEDA Cloud to reach the storage. Uplinking avoids this. When you uplink, you register an app image that is already present in your storage repository by supplying its metadata, so ZEDEDA Cloud never contacts the storage and the edge node pulls the image directly. Follow this procedure when you have placed an app image in a data store that only your edge nodes can reach. This workflow is available only through the ZEDEDA CLI (ZCLI).
Prerequisites
- You have the SysManager or SysAdmin role in your ZEDEDA Cloud enterprise.
- You have onboarded an edge node to ZEDEDA Cloud.
- Your edge nodes can reach the storage repository, even though ZEDEDA Cloud cannot.
- You have installed and configured the ZEDEDA CLI (ZCLI).
- You have already placed the app image file in your storage repository.
- You have the app image
SHA-256value and the image size in bytes. If you have a local copy of the file, you can obtain these withsha256sumIMAGE_FILEandstat -c %s IMAGE_FILE.
Create the Data Store
Create the data store using the standard procedure. You do not need any special settings for this scenario. The data store definition only describes where the image lives and how to authenticate, so you can create it even when ZEDEDA Cloud cannot reach the storage.
- From the left panel, go to
Library>Data Stores. - Click the
Addicon at the top right of the page. - Configure the data store identity and details for your storage type. See Create a Data Store for the full set of fields and storage types.
- Click
Add.
Create the Image Entry
Create an app image entry in your enterprise that points to the data store. This step registers the image name, type, format, and target data store, but does not transfer any data. Set --type to Application and --image-format to the format of your app image, such as qcow2. The supported formats are raw, qcow, qcow2, vhd, vmdk, ova, vhdx, and container.
- Log in to the ZCLI.
- Create the image entry.
zcli image create IMAGE_NAME --arch=AMD64_OR_ARM64 --datastore-name=DATASTORE_NAME --type=Application --image-format=IMAGE_FORMAT --title=IMAGE_NAME
For example:
zcli image create my-app-v1 --arch=AMD64 --datastore-name=My-Private-Store --type=Application --image-format=qcow2 --title=my-app-v1
Uplink the Image
Uplink the app image to associate the image entry with the file already present in your data store. You cannot uplink via the GUI. The following steps are for ZCLI.
Because uplinking sends only the image metadata to ZEDEDA Cloud, this step works even when ZEDEDA Cloud cannot reach the storage. Supply the SHA-256 value and the size in bytes that you gathered in the prerequisites.
- Log in to the ZCLI.
- Uplink the image.
zcli image uplink IMAGE_NAME --datastore-name=DATASTORE_NAME --image-sha=SHA_256_VALUE --image-size=IMAGE_SIZE_IN_BYTES
For example:
zcli image uplink my-app-v1 --datastore-name=My-Private-Store --image-sha=629595dda5afec054c5d5fad485da3e6068994a7001534a4eaee5170696aa8f4 --image-size=232476160
Verify the Configuration
Confirm that the app image entry is registered and ready.
- Show the image details.
zcli image show IMAGE_NAME
For example:
zcli image show my-app-v1
- Look for
Status: Readyin the output. This confirms that ZEDEDA Cloud has registered the app image and that your edge nodes can pull it directly from the data store.
Next Steps
- Create a Data Store for the full data store configuration reference.
- Manage an Edge Application Image to work with the app image after it is available.
- ZEDEDA CLI Overview for ZCLI setup and command syntax.