Use a Private Registry
Installing Verrazzano using a private Docker-compliant container registry requires the following:
- Loading all the required Verrazzano container images into your own registry and repository.
- Installing the Verrazzano platform operator with the private registry and repository used to load the images.
You must have the following software installed:
Verrazzano distributions are available in two variations:
- The
Verrazzano Lite Distributioncontains Kubernetes manifests to deploy Verrazzano, client binaries, and various other utilities. This distribution is provided for Linux and MacOS operating systems on AMD and ARM architectures. - The
Verrazzano Full Distributioncontains Kubernetes manifests to deploy Verrazzano, client binaries and various utilities for Linux and MacOS operating systems on AMD and ARM architectures. This full distribution also includes the Linux AMD container images required for Verrazzano.
Both the distributions include:
- Verrazzano CLI
- Installation Profiles
- Helper scripts to download the images from the bill of materials (BOM) and to upload the Verrazzano images to a private registry
- Helm charts for the Verrazzano platform operator
README.mdwhich provides the layout of the respective distribution
To set up a private registry, download the desired Verrazzano distribution, then Load the images:
Lite Distribution
-
Download the
Verrazzano Lite Distributionfrom the GitHub releases page.a. In your browser, go to Verrazzano releases.
b. Download the distribution TAR file,
verrazzano-<major>.<minor>.<patch>-<operating system>-<architecture>.tar.gz, and the corresponding checksum file.c. In the downloaded directory, validate that the checksum and TAR files match. For example, if you have downloaded
verrazzano-1.5.2-linux-amd64.tar.gz:$ sha256sum -c verrazzano-1.5.2-linux-amd64.tar.gz.sha256 # Sample output verrazzano-1.5.2-linux-amd64.tar.gz: OKNOTE: Use the
sha256sumcommand on Linux andshasumon MacOS.d. Expand the TAR file to access the release artifacts.
The following example, extracts the distribution archive
verrazzano-1.5.2-linux-amd64.tar.gzinto the current directory.After a successful extraction, the release artifacts will be under the$ tar xvf verrazzano-1.5.2-linux-amd64.tar.gzverrazzano-1.5.2directory.e. Define an environment variable
DISTRIBUTION_DIR.$ DISTRIBUTION_DIR=<path to the current directory>/verrazzano-1.5.2 -
Download the Verrazzano images defined in the BOM,
${DISTRIBUTION_DIR}/manifests/verrazzano-bom.json, using the script,${DISTRIBUTION_DIR}/bin/vz-registry-image-helper.sh.$ sh ${DISTRIBUTION_DIR}/bin/vz-registry-image-helper.sh -b ${DISTRIBUTION_DIR}/manifests/verrazzano-bom.json -f ${DISTRIBUTION_DIR}/imagesThe previous command downloads all the images to the
${DISTRIBUTION_DIR}/imagesdirectory.
Full Distribution
-
Download the Verrazzano ZIP file.
-
Download the Verrazzano ZIP file from the Oracle Software Delivery Cloud for major or minor releases.
a. In your browser, go to the Oracle Software Delivery Cloud and log in with your credentials.
b. In the drop-down menu preceding the search bar, select All Categories.
c. In the search bar, enter
Verrazzano Enterprise Container Platformand click Search.d. Select the
REL: Verrazzano Enterprise Container Platform 1.5.0.0.0link. This will add it to your download queue.e. At the top of the page, select the Continue link.
f. Review the Download Queue, then click Continue.
g. Accept the license agreement and click Continue.
h. Download the file:
- To download the ZIP file directly, select the file link in the list.
- To download the ZIP file using
Oracle Download Manager, click Download and run theOracle Download Managerexecutable.
-
Download the Verrazzano ZIP file from My Oracle Support for cumulative patches.
a. In your browser, go to My Oracle Support and log in with your credentials.
b. Select the
Patches & Updatestab.c. In the
Patch Searchpanel, select the linkProduct or Family (Advanced).d. In the search bar for
Product is, enterOracle Verrazzano Enterprise Container Platform.e. The previous step populates the available releases for Verrazzano in the drop-down menu
Release is. Select the desired release(s) and click Search.f. A new panel with
Patch Advanced Search Resultswill open listing all the patches for the release. Select the link for the desired patch, under thePatch Name.g. From the page providing details about the patch, click Download.
h. Download the ZIP file by selecting the file link.
-
-
Prepare to do the private registry installation.
a. Extract the ZIP archive to a desired directory location. There will be two files: a compressed TAR file containing the product files and a checksum file.
b. Define an environment variable
DISTRIBUTION_DIR.$ DISTRIBUTION_DIR=<path to the current directory>/verrazzano-1.5.2c. In the expanded archive directory, validate that the checksum and TAR files match. For example,
$ sha256sum -c verrazzano-1.5.2.tar.gz.sha256 # Sample output verrazzano-1.5.2.tar.gz: OKNOTE: Use the
sha256sumcommand on Linux andshasumon MacOS.
Load the images
Load the product images into your private registry.
-
To log in to the Docker registry, run
docker login <SERVER>with your credentials. -
For use with the examples in this document, define the following variables with respect to your target registry and repository:
MYREG,MYREPO,VPO_IMAGE.These identify the target Docker registry and repository, and the Verrazzano platform operator image, as defined in the BOM file. For example, using a target registry of
myreg.ioand a target repository ofmyrepo/v8o:$ MYREG=myreg.io $ MYREPO=myrepo/v8o $ VPO_IMAGE=$(cat ${DISTRIBUTION_DIR}/manifests/verrazzano-bom.json | jq -r '.components[].subcomponents[] | select(.name == "verrazzano-platform-operator") | "\(.repository)/\(.images[].image):\(.images[].tag)"') -
Run the
${DISTRIBUTION_DIR}/bin/vz-registry-image-helper.shscript to push the images to the registry:$ sh ${DISTRIBUTION_DIR}/bin/vz-registry-image-helper.sh -t $MYREG -r $MYREPO -l ${DISTRIBUTION_DIR}/images -
Although most images can be protected using credentials stored in an image pull secret, some images must be public. Use the following commands to get the list of public images:
-
The Rancher Agent image.
$ cat ${DISTRIBUTION_DIR}/manifests/verrazzano-bom.json | jq -r '.components[].subcomponents[] | select(.image == "rancher-agent") | "\(.image):\(.tag)"' -
All the Rancher images in the
rancher/additional-ranchersubcomponent.$ cat ${DISTRIBUTION_DIR}/manifests/verrazzano-bom.json | jq -r '.components[].subcomponents[] | select(.name == "additional-rancher") | .images[] | "\(.image):\(.tag)"' -
For all the Verrazzano Docker images in the private registry that are not explicitly marked public, you will need to create the secret
verrazzano-container-registryin theverrazzano-installnamespace, with the appropriate credentials for the registry, identified by$MYREG. For example:$ kubectl create namespace verrazzano-install $ kubectl create secret docker-registry verrazzano-container-registry -n verrazzano-install \ --docker-server=$MYREG --docker-username=myreguser \ --docker-password=xxxxxxxx --docker-email=me@example.com
-
Install Verrazzano
-
Install the Verrazzano platform operator using the image defined by
$MYREG/$MYREPO/$VPO_IMAGE.
$ helm template --include-crds ${DISTRIBUTION_DIR}/manifests/charts/verrazzano-platform-operator \ --set image=${MYREG}/${MYREPO}/${VPO_IMAGE} --set global.registry=${MYREG} \ --set global.repository=${MYREPO} | kubectl apply -f - -
Wait for the deployment of the Verrazzano platform operator.
$ kubectl -n verrazzano-install rollout status deployment/verrazzano-platform-operator # Sample output deployment "verrazzano-platform-operator" successfully rolled out -
Confirm that the Verrazzano platform operator pod is running.
$ kubectl -n verrazzano-install get pods # Sample output NAME READY STATUS RESTARTS AGE verrazzano-platform-operator-74f4547555-s76r2 1/1 Running 0 114s
The distribution archive includes the supported installation profiles under ${DISTRIBUTION_DIR}/manifests/profiles.
Verrazzano supports customizing installation configurations. See Customize Verrazzano.
To create a Verrazzano installation using the provided profiles, run the following command:
$ kubectl apply -f $DISTRIBUTION_DIR/manifests/profiles/prod.yaml
Configuring access to an insecure private registry
A private Docker registry is called an insecure registry when it is configured for access using a self-signed certificate or over an unencrypted HTTP connection. Depending on the platform, there could be some additional configuration required for installing Verrazzano with an insecure registry.
For example, for the Oracle Cloud Native Environment platform, insecure registries must be configured in /etc/containers/registries.conf as follows on the worker nodes:
[registries]
[registries.insecure]
registries = ["insecure-registry-1:1001/registry1","insecure-registry-2:1001/registry2"]
WebLogic applications
WebLogic applications require that the container registry secret be specified in the Domain resource. Create a registry secret in the application namespace and specify the secret in
the imagePullSecrets field of the WebLogic Domain spec for the application.
For an example, see the ToDo List example application component YAML file.