New to KubeDB? Please start here.
Oracle Volume Expansion
This guide will give an overview on how KubeDB Ops-manager operator expands the volume of an Oracle database.
Before You Begin
- You should be familiar with the following
KubeDBconcepts:
How Volume Expansion Process Works
The following diagram shows how KubeDB Ops-manager operator expands the volumes of Oracle database components. Open the image in a new tab to see the enlarged version.
The Volume Expansion process consists of the following steps:
At first, a user creates an
OracleCustom Resource (CR).KubeDBProvisioner operator watches theOracleCR.When the operator finds an
OracleCR, it creates required number ofPetSetsand related necessary stuff like secrets, services, etc. The database pods usePersistentVolumeClaims for durable storage.Each
PetSetcreatesPersistentVolumeClaims according to thevolumeClaimTemplateprovided in thePetSet.Then, in order to expand the volume of the
Oracledatabase the user creates anOracleOpsRequestCR with the desired volume size.KubeDBOps-manager operator watches theOracleOpsRequestCR.When it finds an
OracleOpsRequestCR, it pauses theOracleobject so that theKubeDBProvisioner operator doesn’t perform any operations on theOracleobject during the volume expansion process.Then the
KubeDBOps-manager operator will expand the persistent volume to reach the expected size, defined in theOracleOpsRequestCR. Volume expansion can be performed eitherOnline(without stopping the pod) orOffline(the pod is recreated after the PVC is resized), as defined inspec.volumeExpansion.mode.After the successful Volume Expansion of the related
PetSets, theKubeDBOps-manager operator updates theOracleobject to reflect the updated state.
Note: Volume expansion is only supported for storage classes whose underlying provisioner allows it (
allowVolumeExpansion: true). For example,local-pathdoes not support volume expansion, while a CSI driver such aslonghorndoes.
In the next docs, we are going to show a step by step guide on Volume Expansion of various Oracle database components using OracleOpsRequest CRD.
Next Steps
- Detail concepts of Oracle object.
- Want to hack on KubeDB? Check our contribution guidelines.
⚠️ Legal Notice
Oracle® and Oracle Database® are registered trademarks of Oracle Corporation. KubeDB is not affiliated with, endorsed by, or sponsored by Oracle Corporation.
KubeDB provides only orchestration and management tooling for Kubernetes. It does not distribute, bundle, ship, or include any Oracle Database software or binaries.
Users must provide their own Oracle container images and hold valid Oracle licenses. Users are solely responsible for compliance with Oracle’s licensing terms, including all rules regarding containers, Docker, and Kubernetes environments.
KubeDB makes no representations or warranties regarding Oracle licensing compliance.































