Deploying Oracle Database 23c Free — Developer Release on Kubernetes with Helm
Whether you are a developer, a data scientist, a DBA, an educator, or just interested in databases, Oracle Database 23c Free — Developer Release is the ideal way to get started. Let’s take a look at how we can deploy it to a Kubernetes cluster.
In this article, we’ll be focusing on the deployment to Oracle Container Engine for Kubernetes (OKE). You can also get Oracle Database 23c — Developer Release as a container image, a VM or a package on Linux. Scroll down to the bottom of this article for more installation options.
So, let’s get started. First off, we need to create a cluster in OKE if we don’t have one available already. As a reminder, a lot of new features have been added to OKE recently, including support for enhanced clusters which come with many advantages.
Enhanced clusters provide you with all the available features, including features not supported by basic clusters, enabling you to:
- Simplify node management through the use of virtual nodes.
- Deploy and configure cluster add-ons in a more granular way.
- Strengthen cluster security through the use of workload identity.
- Provision more worker nodes in the cluster.
- Rely on a financially-backed service level agreement (SLA) tied to Kubernetes API server uptime and availability.
Creating a new cluster in OKE
You can of course skip this step if you already have created a cluster, and move on to the deployment section of the article.
We have multiple ways of achieving this, either from a local machine by using the OCI command line interface, through REST API calls, or directly from the dashboard UI.
Let’s head on over to the Console — Developer Services — Kubernetes Clusters (OKE) under Containers & Artifacts.
Once on that page, we’ll click on Create Cluster and pick Quick Create:
In the wizard, we also have the option to pick the new type of node, virtual nodes:
Clicking on Next, and then Create Cluster on the Review page will start all the tasks to create our cluster and give it access to the network.
Once our cluster status switches to Available, we can go ahead and click on Access Cluster and follow the guide to add our new cluster to ~/.kube/config
, in order to be able to manage it locally through the OCI command line interface.
You can also pick Cloud Shell Access if you’d rather do it all from the Console and don’t want to configure kubectl
locally.
Once that’s done and we can access our cluster via kubectl
, we can go ahead and deploy Oracle Database 23c Free — Developer Release on it.
Deploying Oracle Database 23c Free to OKE with Helm
For ease of use, I used the existing oracle-db Helm chart as a base and modified it for 23c Free. You can clone the modified chart from the GitHub repo below:
For this helm chart, we’re using the image available on the Oracle Container registry: container-registry.oracle.com.
Clone the repo and execute the following command to generate oracle-db23c-free-1.0.0.tgz:
$ helm package oracle-db23c-free
Installing the Chart
To install the chart with the release name db23cfree
:
$ helm install db23cfree oracle-db23c-free-1.0.0.tgz
The command deploys Oracle Database 23c Free on the Kubernetes cluster in the default configuration.
Uninstalling the Chart
To uninstall/delete the db23cfree
deployment:
$ helm uninstall db23cfree
The command removes all the Kubernetes components associated with the chart and deletes the release.
Configuration
Check out the README of the GitHub repo to see which parameters are configurable. ORACLE_SID and ORACLE_PDB are not configurable for Oracle Database 23c Free — Developer Release.
ORACLE_SID = FREE
ORACLE_PDB = FREEPDB1
Specify each parameter using the --set key=value[,key=value]
argument to helm install
.
Deploying the Helm chart with a custom password
To deploy the chart and set a custom password for the SYS
, SYSTEM
, and PDBADMIN
administrative user accounts, instead of the auto-generated one:
$ helm install db23cfree --set oracle_pwd=<your_password> oracle-db23c-free-1.0.0.tgz
The above command sets the Oracle Database password to <your_password>
.
Oracle recommends that your password should be at least 8 characters in length, contain at least 1 upper case character, 1 lower case character and, 1 digit [0–9].
Connecting to Oracle Database 23c Free — Developer Release
Let’s see how we can connect to our newly deployed database.
$ kubectl get pods
Connecting to the Container Database (CDB) as SYSDBA:
$ kubectl exec -it pods/pod-name -- sqlplus sys/<your_password>@FREE as sysdba
Connecting to the Pluggable Database (PDB) as SYSDBA:
$ kubectl exec -it pods/pod-name -- sqlplus sys/<your_password>@FREEPDB1 as sysdba
Other installation options
You can also get Oracle Database 23c — Developer Release as a container image, a VM or a package on Linux.
Be sure to check out the link below if you’re interested in any of these options:
I’ve also explored in a different article how we can install Oracle Database 23c Free — Deveoper Release on a compute instance running Oracle Linux 8 in OCI:
Happy coding!