13.2.1 Performing the Upgrade from 12c to 14c
Run the following steps to upgrade the Oracle Unified Directory (OUD) 12.2.1.4 deployment to 14.1.2.1.0:
Note:
Administrators should be aware of the following:- If you are not using Oracle Container Registry or your own container registry, then you must first load the OUD 14c container image on all nodes in your Kubernetes cluster.
- If you have Kubernetes Horizontal Pod Autoscaler (HPA) enabled, you must disable HPA before performing the steps below. See, Deleting the Horizontal Pod Autoscaler.
- Download the OUD 14c deployment scripts as per Setting Up the Code Repository for OUD.
- Take a backup of the persistent volume
directory:
For example:sudo cp -rp <persistent_volume>/oud_user_projects <persistent_volume>/oud_user_projects_bkp12c
sudo cp -rp /nfs_volumes/oudpv/oud_user_projects /nfs_volumes/oudpv/oud_user_projects_bkp12c
- Navigate to the
$WORKDIR/kubernetes/helm14c
directory:cd $WORKDIR/kubernetes/helm14c
- Create an
oud-patch-override.yaml
file that contains:
For example:image: repository: <image_location> tag: <image_tag> imagePullSecrets: - name: orclcred
image: repository: container-registry.oracle.com/middleware/oud_cpu tag: 14.1.2.1.0-jdk17-ol8-<YYMMDD> imagePullSecrets: - name: orclcred
Note:
If you are not using Oracle Container Registry or your own container registry for your OUD container image, then you can remove the following:imagePullSecrets: - name: orclcred
Where thecronJob: kubectlImage: repository: bitnami/kubectl tag: <version> pullPolicy: IfNotPresent
<version>
inkubectlImage: tag:
should be set to the same version as your Kubernetes version (kubectl version
). For example if your Kubernetes version is 1.30.3 set to1.30.3
.If your cluster does not have access to the internet to pull the bitnami/kubectl image, you must load the images in a local container registry and set the repository tag appropriately.
- Run the following command to upgrade the
deployment:
For example:helm upgrade --namespace <namespace> \ --values oud-patch-override.yaml \ <release_name> oud-ds-rs --reuse-values
The output will look similar to the following:helm upgrade --namespace oudns \ --values oud-patch-override.yaml \ oud-ds-rs oud-ds-rs --reuse-values
TheRelease "oud-ds-rs" has been upgraded. Happy Helming! NAME: oud-ds-rs LAST DEPLOYED: <DATE> NAMESPACE: oudns STATUS: deployed REVISION: 2 NOTES: # # Copyright (c) 2025, Oracle and/or its affiliates. # # Licensed under the Universal Permissive License v 1.0 as shown at # https://oss.oracle.com/licenses/upl # # Since "nginx" has been chosen, follow the steps below to configure nginx ingress controller. Add Repo reference to helm for retriving/installing Chart for nginx-ingress implementation. command-# helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx Command helm install to install nginx-ingress related objects like pod, service, deployment, etc. # helm install --namespace <namespace for ingress> --values nginx-ingress-values-override.yaml lbr-nginx ingress-nginx/ingress-nginx For details of content of nginx-ingress-values-override.yaml refer README.md file of this chart. Run these commands to check port mapping and services: # kubectl --namespace <namespace for ingress> get services -o wide -w lbr-nginx-ingress-controller # kubectl describe --namespace <namespace for oud-ds-rs chart> ingress.extensions/oud-ds-rs-http-ingress-nginx # kubectl describe --namespace <namespace for oud-ds-rs chart> ingress.extensions/oud-ds-rs-admin-ingress-nginx Accessible interfaces through ingress: (External IP Address for LoadBalancer NGINX Controller can be determined through details associated with lbr-nginx-ingress-controller) 1. OUD Admin REST: Port: http/https 2. OUD Data REST: Port: http/https 3. OUD Data SCIM: Port: http/https 4. OUD LDAP/LDAPS: Port: ldap/ldaps 5. OUD Admin LDAPS: Port: ldaps Please refer to README.md from Helm Chart to find more details about accessing interfaces and configuration parameters. Accessible interfaces through ingress: 1. OUD Admin REST: Port: http/https 2. OUD Data REST: Port: http/https 3. OUD Data SCIM: Port: http/https Please refer to README.md from Helm Chart to find more details about accessing interfaces and configuration parameters.
helm upgrade
will perform a rolling restart of the OUD pods. - Run the following command and make sure all the OUD pods are
started:
For example:kubectl get pods -n <namespace> -w
kubectl get pods -n oudns -w
- Once the pods are up and running, you can run the following command to show the OUD
14c container image is used by the
pods:
For example:kubectl describe pod <pod> -n <namespace>
The output will look similar to the following:kubectl describe pod oud-ds-rs-0 -n oudns
... Containers: oud-ds-rs: Container ID: cri-o://6a35ef3a0721015aa99b2aaeebdc96528c8166db7bf36176f0b9665e43c10ded Image: container-registry.oracle.com/middleware/oud_cpu:14.1.2.1.0-jdk17-ol8-<DDYYMM> Image ID: container-registry.oracle.com/middleware/oud_cpu@sha256:2ae38d6bdca4c411d6b62289cf80563f611a1fdcbaf01632be7b4fa6a4169000
- Verify the OUD deployment where applicable: