In my last post of the VCD series, I discussed the installation & Configuration of VCD Data Solutions Extensions. In this post, I will walk through configuring the same in an airgap environment.
In an airgap environment, artifacts are stored in an internal registry such as Harbor, Jfrog, etc. To install data solutions extension in the airgap environment, you must first relocate the artifacts from the VMware public registry to your internal registry.
Step 1: Relocate Artifacts
To relocate the artifacts, you can install a Linux machine with imgpkg and doker utilities.
Run the following commands to relocate artifacts:
1 2 3 4 5 6 7 8 9 |
# imgpkg copy -b registry.tanzu.vmware.com/packages-for-vmware-tanzu-data-services/tds-packages:1.12.1 --to-repo <registry-fqdn>/<project-name>/tds-packages --registry-ca-cert-path <registry-certificate> # imgpkg copy -b registry.tanzu.vmware.com/p-rabbitmq-for-kubernetes/tanzu-rabbitmq-package-repo:1.5.1 --to-repo <registry-fqdn>/<project-name>/tanzu-rabbitmq-package-repo --registry-ca-cert-path <registry-certificate> Example: # imgpkg copy -b registry.tanzu.vmware.com/packages-for-vmware-tanzu-data-services/tds-packages:1.12.1 --to-repo registry.lab.vmw/vcd-data-solution/tds-packages --registry-ca-cert-path harbor-ca.crt # imgpkg copy -b registry.tanzu.vmware.com/p-rabbitmq-for-kubernetes/tanzu-rabbitmq-package-repo:1.5.1 --to-repo registry.lab.vmw/vcd-data-solution/tanzu-rabbitmq-package-repo --registry-ca-cert-path harbor-ca.crt |
Note: The flag –registry-ca-cert-path is only needed if your registry uses self-signed certificates.
Also, you need to copy the data-solution-operator and data-solution-package-repo to your internal registry.
1 2 3 4 5 6 7 8 9 10 11 |
# docker pull projects.registry.vmware.com/vcdds/vcd-data-solutions-package-repo:1.3.0 # docker tag projects.registry.vmware.com/vcdds/vcd-data-solutions-package-repo:1.3.0 registry.lab.vmw/vcd-data-solution/vcd-data-solutions-package-repo:1.3.0 # docker push registry.lab.vmw/vcd-data-solution/vcd-data-solutions-package-repo:1.3.0 # docker pull projects.registry.vmware.com/vcdds/data-solutions-operator:1.3.0 # docker tag projects.registry.vmware.com/vcdds/data-solutions-operator:1.3.0 registry.lab.vmw/vcd-data-solution/data-solutions-operator:1.3.0 # docker push registry.lab.vmw/vcd-data-solution/data-solutions-operator:1.3.0 |
2: Configure Private Image Registry
Login to the VCD provider portal, navigate to More > Data Solutions > Container Registries and click on the Add button to add your internal image registry.
Enter the registry fqdn and credentials and click on the Save button.
Update the URL for the artifacts by pointing the image path to your private registry.
Click on the vertical ellipsis button of any artifact and select Update.
The below screenshot shows the example of updating the RabbitMQ image location and version.
That’s how the image URL looks for the artifacts in my lab.
Note: I haven’t found a way for MongoDB and Confluent yet, so I used the default settings for these artifacts.
Before installing the data solution instance, ensure that the package Repository status shows “Reconcile succeeded”
1 2 3 4 5 6 7 |
# kubectl get pkgr -n vcd-ds-system NAME AGE DESCRIPTION vcd-data-solutions 6d1h Reconcile succeeded vmware-rabbitmq 6d1h Reconcile succeeded vmware-sql-with-mysql 6d1h Reconcile succeeded vmware-sql-with-postgres 6d1h Reconcile succeeded |
You can describe a package repository to see the related events.
You are now ready to deploy instances from your internal registry.
I hope you enjoyed reading this post. Feel free to share this on social media if it is worth sharing.
Pingback: Upgrade VCD Data Solutions Extension from 1.3 to 1.4