Deploy Additional Packages
Deploy Additional Packages During First Time Deployment
To deploy additional software packages and container images on cluster nodes, do the following:
To download and deploy additional software packages and container images using Omnia local repositories, see Add Additional Packages.
After the local repositories are created, build the cluster node images and PXE boot the nodes using the images:
Build images: Step 12: Build Cluster Node Images
Discover nodes and PXE boot: Step 13: Discover cluster nodes
Deploy Additional Packages After Cluster Provisioning
To deploy additional packages/images after cluster provisioning, do the following:
To download and deploy additional software packages and container images using Omnia local repositories, see Add Additional Packages.
Re-run the
local_repo_.ymlplaybook to download the new packages/images to the Pulp container.After the local repositories are updated, do the following:
To install the RPM packages on the required nodes, manually run the following command on each node:
dnf install <package-name>
To pull the container images on the required nodes, see Pulling images from a user registry via Pulp on a service Kubernetes cluster in the following section.
To verify the installed packages/images, run the following command on each node:
dnf list installed <package-name> crictl images
Pulling images from a user registry via Pulp on a service Kubernetes cluster
When the container images from a user registry are specified in the additional_packages.json, running local_repo.yml thereafter, uploads those images to the configured Pulp registry.
After this synchronization:
All cluster nodes must pull images from Pulp, not directly from the user registry.
This enables centralized image management and supports offline or air-gapped environments.
Example: Image defined in input additional_packages.json
"additional_packages": {
"cluster": [
{
"package": "100.10.0.76:3445/library/nginx",
"type": "image",
"tag": "1.25.2-alpine-slim"
}
]
}
In this example:
100.10.0.76:3445 is the user registry.
Omnia syncs the image to the Pulp registry.
Cluster nodes must subsequently pull the image from Pulp.
Retrieve the Pulp registry endpoint
On the Omnia Core container, run:
pulp status | jq -r '.content_settings.content_origin'
Sample output:
https://172.16.255.254:2225
Remove the https:// prefix and use only 172.16.255.254:2225
Configure compute nodes to pull from Pulp
On each Kubernetes compute node:
Edit the following file:
vi /etc/containers/registries.conf.d/crio.conf
Append this configuration at the end of the file.
[[registry]] prefix = "100.10.0.76:3445" location = "100.10.0.76:3445" [[registry.mirror]] location = "172.16.255.254:2225"
Reload and restart CRI-O.
systemctl daemon-reload systemctl restart crio
Pull the image
Pull the image using the original registry reference (CRI-O transparently redirects to Pulp).
crictl pull 100.10.0.76:3445/library/nginx:1.25.2-alpine-slim
The image will be retrieved from the Pulp mirror automatically.
If you have any feedback about Omnia documentation, please reach out at omnia.readme@dell.com.