Oracle Database Operator for Kubernetes — Take 2

Kuassi Mensah
Oracle Developers
Published in
4 min readJun 28, 2022
OraOperator

The introductory release (v0.1.0) of Oracle Database Operator for Kubernetes (#OraOperator) lets you manage the lifecycle of Single Instance Databases, Sharded Databases, and the Autonomous Database on shared infrastructure (ADB-S).

In this feature-packed v0.2.0 release, #OraOperator extends its reach over even more database configurations, and enhances existing features. Hopefully, you’ll appreciate why it took us a while, after v0.1.0, to get it out. But don’t just take my word for it — check it out yourself.

What’s in #OraOperator v0.2.0?

While the operator itself is deployed on a Kubernetes cluster (see “Where does OraOperator Run?), its operational reach straddles databases deployed within the Kubernetes cluster and those deployed outside of it.

Here’ s what you’ll find in the v0.2.0 release.

In-k8s Cluster Databases

These databases run in containers are (such as Docker) deployed within the Kubernetes cluster.

Single Instance databases (SIDB)

This release brings new enhancements to the SIDB controller such as support for pre-built XE for faster provisioning. The list of features include provision, clone, patch (in-place/out-of-place), update database initialization parameters, update database configuration (Flashback, archiving), Oracle Enterprise Manager (EM) Express (a basic observability console), Oracle REST Data Service (ORDS) to support REST-based SQL, PDB management, SQL Developer Web, and Application Express (Apex). Get more details in the SIDB controller doc.

Sharded Databases

The operator can provision the shard topology, add a new shard, and delete an existing shard. Get more details in the Sharded Database controller doc.

Off-k8s Cluster Databases

These databases run either in the Oracle Cloud or on-premises.

Autonomous Databases & Container

The autonomous database runs in the Oracle Cloud Infrastructure (OCI), off the Kubernetes cluster.

  • ADB-S: stands for Autonomous Database on a shared infrastructure. In other words, multiple tenants share the same infrastructure but each deploy their own database. In this release, the operator can provision, bind, start, stop, terminate (soft/hard), and scale (up/down) an ADB; it can also perform manual or on-demand backup as well as manual restore.
    Note: the Autonomous Database already performs automatic backup and restore.
  • ADB-D: stands for Autonomous Database on a dedicated infrastructure; the tenant has exclusive use of the infrastructure. The support for ADB-D is a new in this release. The operator can provision, bind, start, stop, terminate (soft/hard), and scale (up/down) an ADB. In addition — new to this release — it can also perform manual backup and manual restore.
  • Autonomous Container Database (ACD): this is the database infrastructure where Autonomous Databases are plugged in. The support for ACD is new, in this release. The operator can provision, bind, restart, and terminate (soft/hard) an ACD.

Get more details in the ADB doc as well as the ACD doc.

Database Cloud Service (DBCS)

DBCS is made of single-node DB systems and two-nodes Oracle RAC systems on virtual machines; this is part of co-managed databases in OCI (i.e., managed by Oracle and customers). The support for the Database Cloud Service is new in this release. The operator can provision, bind, scale Up/Down, liveness probe a DBCS, and it can also perform manual backup. Get more details in the DBCS controller doc.

On-Premises Databases

Requested by many customers, the automation of the lifecycle of on-premises multi-tenant databases is an indispensable part of IT modernization. With #OraOperator, multi-tenant databases (CDB/PDBs) can be integrated in DevOps CI/CD. In this release the operator can bind to an existing CDB, create a PDB, plug a PDB, unplug a PDB, delete a PDB, clone a PDB, and open/close a PDB. Get more details in the On-Premises controller doc.

Where Does OraOperator Run?

#OraOperator runs on almost every Kubernetes platform, in the Cloud or on-premises. It has been flawlessly installed and tested on the following Kubernetes platforms.

The key difference between those platforms is the configuration of persistent volumes for in-cluster databases. Please share your experience installing (#oraoperator) if you have tested any of the k8s platforms listed above or others.

Looking Forward …

In the upcoming releases, #OraOperator will move to production status and add support for more database deployments, as well as furnishing additional services such as OLM install, OpenTelemetry-based unified observability (traces, logs metrics) with a Grafana dashboard, and so on.

@kmensah and #OraOperator for notifications, questions, and discussions.

Thanks for reading.

Note: If you use k8s and swoon at DevOps at large, we know you’d love Oracle Cloud Infrastructure’s Free Tier account. Sign up for a Free Tier account today!

Join the conversation!

If you’re curious about the goings-on of Oracle Developers in their natural habitat, come join us on our public Slack channel! We don’t mind being your fish bowl 🐠

--

--

Kuassi Mensah
Oracle Developers

Director of Product Management for Java access to Oracle DB: Microservices, Serverless Functions, Reactive, Hadoop, Spark, Java EE, JVM-based languages.