Skip to main content
Version: 24.07.01

Custom registry support for PDS components

Custom registry support for PDS components involves the ability to specify and use custom image registries for storing and deploying the PDS and Portworx platform container images. This feature is particularly valuable in scenarios where organizations have their own private image registries or have pre-defined processes for scanning and validating images.

Prerequisite

  • Ensure that you have access to the custom image registry where you want to store and deploy PDS and Portworx platform container images. You should have the necessary permissions to push and pull images from this registry.
  • Prepare the custom PDS and the Portworx platform container images that you intend to use. These images should be compatible with PDS and contain the necessary components and configurations.
  • If the custom image registry requires authentication, make sure you have the required credentials, such as username and password or access tokens. Store these credentials securely.
  • Ensure that your cluster or environment has the necessary network connectivity to reach the custom image registry. Firewalls, network policies, and security groups should be configured to allow outbound traffic to the registry.

Custom registry support for container images

In this procedure instead of PDS images, mention PDS and platform images

To provide custom registry support for PDS and Portworx platform container images:

  1. Obtain the custom PDS images from Docker Hub:

    docker pull <image>:<tag>
    note

    You should run this command individually for each container image.

    • docker pull: This is the Docker command used for pulling or downloading container images from a registry.
    • <image>: This part specifies the name of the container image you want to pull. Container images are typically named in the format
    • <registry>/<repository>/<image_name>, where <registry> is the image registry where the image is hosted, <repository> is an optional organizational grouping, and <image_name> is the name of the image. For example, ubuntu is a common image name for the Ubuntu Linux distribution.
    • <tag>: The tag allows you to specify a particular version or variant of the image. Images often have different tags representing different versions, configurations, or variants. For example, latest, 1.0, or development could be valid tags. If you omit the tag, Docker will default to using the latest.
  2. Re-tag the images by replacing the registry name (for example,, docker.io) with your custom registry server. Optionally, you can use a new namespace in your registry other than portworx:

    docker tag <source-registry>/<namespace>/<image_name>:<tag> <private-registry>/<namespace>/<image_name>:<tag>
    • <source-registry>/<namespace>/<image_name>:<tag>: Specifies the source container image that you want to create a new tag for. <image_name> represents the name of the source image, and <tag> represents the specific version or tag of that image. For example, if you have an image named "myapp" with the tag "v1.0," you would specify it as "myapp:v1.0".
    • <private-registry>: This is the address of a private registry where you want to store the newly tagged image. A private registry is a secure location where you can store container images that are not publicly accessible. You need proper authentication and permissions to access and push images to a private registry.
    • <namespace>: This part represents an optional directory structure within the private registry where you want to store the image. You can organize your images into directories for better organization. It is common to use the name of the application or project as the directory name.
    • <image_name>: This is the name you want to give to the newly tagged image within the private registry. It must be the same source image's name if you wish to organize your images differently in the private registry.
    • <tag>: This is the tag you want to assign to the newly tagged image in the private registry. It must be the same as the source image's tag or a different one. Tags help you identify specific versions or variations of an image.
    note

    You should not change the <image_name> or <image>:<tag>, otherwise data services will fail to deploy. Tag the PDS and Portworx platform component images with the appropriate names and versions matching the custom registry:

  3. Push these tagged PDS images to your custom registry using the docker push command:

    docker push <private-repo>/<dir-name>/<image_name>:<tag>
  4. Configure PDS and Portworx platform components to utilize the custom image registry. For this, you should:

    1. Generate a custom manifest, in the Portworx platform UI, by providing the necessary information, such as the HTTP URL (with port), HTTPS URL (with port), and any additional required details.

      Refer to the step-by-step guide for instructions on generating a custom manifest.

    2. Apply the custom manifest using the following command:

      kubectl apply -f manifest.yaml
Was this page helpful?