Skip to content

Commit e81f69e

Browse files
committed
Merge branch 'douglas_williams-master-patch-39930' into 'master'
Updates for style and format updates as requested 29-Jun See merge request rac-docker-dev/oracle-database-operator!264
2 parents 2f245eb + 9f9ba87 commit e81f69e

File tree

1 file changed

+25
-26
lines changed

1 file changed

+25
-26
lines changed

docs/multitenant/README.md

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,21 @@
44

55
# Oracle Multitenant Database Controller
66

7-
> <span style="color:red"> WARNING: Examples with https are located in the usecases directories </span>
7+
> <span style="color:red"> WARNING: Examples with https are located in the use case directories </span>
88
9-
CDBs and PDBs are the part of the Oracle Database's [Multitenant Architecture](https://docs.oracle.com/en/database/oracle/oracle-database/21/multi/introduction-to-the-multitenant-architecture.html#GUID-AB84D6C9-4BBE-4D36-992F-2BB85739329F). The Multitenant Database Controller is a feature of Oracle DB Operator for Kubernetes (OraOperator) which helps to manage the life cycle of Pluggable Databases (PDBs) in an Oracle Container Database(CDB).
9+
CDBs and PDBs are part of the Oracle Database [Multitenant Architecture](https://docs.oracle.com/en/database/oracle/oracle-database/21/multi/introduction-to-the-multitenant-architecture.html#GUID-AB84D6C9-4BBE-4D36-992F-2BB85739329F). The Multitenant Database Controller is a feature of Oracle DB Operator for Kubernetes (`OraOperator`), which helps to manage the lifecycle of Pluggable Databases (PDBs) in an Oracle Container Database (CDB).
1010

11-
The target CDB (for which the PDB life cycle management is needed) can be running on an multitenant machine and to manage its PDBs, the Oracle DB Operator can run on an multitenant Kubernetes system (For Example: [Oracle Linux Cloud Native Environment or OLCNE](https://docs.oracle.com/en/operating-systems/olcne/)).
11+
The target CDB for which PDB lifecycle management is needed can be running on a machine on-premises. To manage the PDBs of that target CDB, you can run the Oracle DB Operator on a Kubernetes system on-premises (For Example: [Oracle Linux Cloud Native Environment or OLCNE](https://docs.oracle.com/en/operating-systems/olcne/)).
1212

13-
NOTE: The target CDB (for which the PDB life cycle management is needed) **can also** run in a Cloud environment as well (For Example: OCI's [Oracle Base Database Service](https://docs.oracle.com/en-us/iaas/dbcs/doc/bare-metal-and-virtual-machine-db-systems.html)) and to manage its PDBs, the Oracle DB Operator can run on a Kubernetes Cluster running in cloud (For Example: OCI's [Container Engine for Kubernetes or OKE](https://docs.oracle.com/en-us/iaas/Content/ContEng/Concepts/contengoverview.htm#Overview_of_Container_Engine_for_Kubernetes))
13+
NOTE: The target CDB can also run in a Cloud environment, such as an OCI [Oracle Base Database Service](https://docs.oracle.com/en-us/iaas/dbcs/doc/bare-metal-and-virtual-machine-db-systems.html)). To manage PDBs on the target CDB, the Oracle DB Operator can run on a Kubernetes Cluster running in the cloud, such as OCI's [Container Engine for Kubernetes or OKE](https://docs.oracle.com/en-us/iaas/Content/ContEng/Concepts/contengoverview.htm#Overview_of_Container_Engine_for_Kubernetes))
1414

1515

1616

1717
# Oracle DB Operator Multitenant Database Controller Deployment
1818

1919
To deploy OraOperator, use this [Oracle Database Operator for Kubernetes](https://github.com/oracle/oracle-database-operator/blob/main/README.md) step-by-step procedure.
2020

21-
After the Oracle Database Operator is deployed, you can see the DB Operator Pods running in the Kubernetes Cluster. As part of the OraOperator deployment, the multitenant Database Controller is deployed and we can see the CRDs (Custom Resource Definition) for CDB and PDB in the list of CRDs. The following output is an example of such a deployment:
21+
After the Oracle Database Operator is deployed, you can see the DB Operator Pods running in the Kubernetes Cluster. As part of the `OraOperator` deployment, the multitenant Database Controller is deployed. You can see the CRDs (Custom Resource Definition) for the CDB and PDBs in the list of CRDs. The following output is an example of such a deployment:
2222
```bash
2323
[root@test-server oracle-database-operator]# kubectl get ns
2424
NAME STATUS AGE
@@ -73,9 +73,7 @@ The following sections explain the setup and functionality of this controller.
7373

7474
# Prerequsites to manage PDB Life Cycle using Oracle DB Operator Multitenant Database Controller
7575

76-
Before you want to manage the life cycle of a PDB in a CDB using the Oracle DB Operator Multitenant Database Controller, complete the following steps.
77-
78-
**CAUTION :** You must make the changes specified in this section before you proceed to the next section.
76+
**CAUTION :** You must complete the following steps before managing the lifecycle of a PDB in a CDB using the Oracle DB Operator Multitenant Database Controller.
7977

8078
* [Prepare CDB for PDB Lifecycle Management or PDB-LM](#prepare-cdb-for-pdb-lifecycle-management-pdb-lm)
8179
* [Oracle REST Data Service or ORDS Image](#oracle-rest-data-service-ords-image)
@@ -86,11 +84,11 @@ Before you want to manage the life cycle of a PDB in a CDB using the Oracle DB O
8684

8785
+ ## Prepare CDB for PDB Lifecycle Management (PDB-LM)
8886

89-
Pluggable Database management operation is performed in the Container Database (CDB) and it includes create, clone, plug, unplug, delete, modify and map operations.
87+
Pluggable Database (PDB) management operations are performed in the Container Database (CDB). These operations include create, clone, plug, unplug, delete, modify and map operations.
9088

91-
You cannot have an ORDS enabled schema in the container database. To perform the PDB lifecycle management operations, the default CDB administrator credentials must be defined by performing following steps on the target CDB(s):
89+
You cannot have an ORDS-enabled schema in the container database. To perform the PDB lifecycle management operations, you must first use the following steps to define the default CDB administrator credentials on target CDBs:
9290

93-
Create the CDB administrator user and grant the required privileges. In this example, the user is `C##DBAPI_CDB_ADMIN`. However, any suitable common user name can be used.
91+
Create the CDB administrator user, and grant the required privileges. In this example, the user is `C##DBAPI_CDB_ADMIN`. However, any suitable common user name can be used.
9492

9593
```SQL
9694
SQL> conn /as sysdba
@@ -114,51 +112,52 @@ select username, account_status from dba_users where username in ('ORDS_PUBLIC_U
114112

115113
### Reference Setup: Example of a setup using OCI OKE(Kubernetes Cluster) and a CDB in Cloud (OCI Exadata Database Cluster)
116114

117-
Please refer [here](./provisioning/example_setup_using_oci_oke_cluster.md) for steps to configure a Kubernetes Cluster and a CDB. This example uses an OCI OKE Cluster as the Kubernetes Cluster and a CDB in OCI Exadata Database service.
115+
See this [provisioning example setup](./provisioning/example_setup_using_oci_oke_cluster.md) for steps to configure a Kubernetes Cluster and a CDB. This example uses an OCI OKE Cluster as the Kubernetes Cluster and a CDB in OCI Exadata Database service.
118116

119117
+ ## Oracle REST Data Service (ORDS) Image
120118

121-
Oracle DB Operator Multitenant Database controller requires the Oracle REST Data Services (ORDS) image for PDB Lifecycle Management in the target CDB.
119+
Oracle DB Operator Multitenant Database controller requires that the Oracle REST Data Services (ORDS) image for PDB Lifecycle Management is present in the target CDB.
122120

123121
You can build this image by using the ORDS [Dockerfile](../../../ords/Dockerfile)
124122

125123

126-
Please refer [here](./provisioning/ords_image.md) for the steps to build ORDS Docker Image
124+
For the steps to build the ORDS Docker image, see [ORDS_image](./provisioning/ords_image.md)
127125

128126

129127
+ ## Kubernetes Secrets
130128

131-
Oracle DB Operator Multitenant Database Controller uses Kubernetes Secrets to store usernames and passwords to manage the life cycle operations of a PDB in the target CDB. In addition to that ,in order to use https protocol, all certificates need to be stored using Kubernests Secret.
129+
Oracle DB Operator Multitenant Database Controller uses Kubernetes Secrets to store usernames and passwords that you must have to manage the lifecycle operations of a PDB in the target CDB. In addition, to use https protocol, all certificates need to be stored using Kubernetes Secret.
132130

133131
### Secrets for CDB CRD
134132

135-
Create a secret file as shown here: [config/samples/multitenant/cdb_secret.yaml](../../config/samples/multitenant/cdb_secret.yaml). Modify this file with the `base64` encoded values of the required passwords for CDB and use it to create the required secrets.
133+
Create a secret file as shown here: [config/samples/multitenant/cdb_secret.yaml](../../config/samples/multitenant/cdb_secret.yaml). Modify this file with the `base64` encoded values of the required passwords for CDB, and use this file to create the required secrets.
136134

137135
```bash
138136
kubectl apply -f cdb_secret.yaml
139137
```
140138

141-
**Note:** In order to get the base64 encoded value for a password, please use the following command like below at the command prompt. The value you get is the base64 encoded value for that password string.
139+
**Note:** To obtain the `base64` encoded value for a password, use the following command:
142140

143141
```bash
144142
echo -n "<password to be encoded using base64>" | base64
145143
```
144+
The value that is returned is the base64-encoded value for that password string.
146145

147-
**Note:** <span style="color:red"> On successful creation of the CDB Resource, the CDB secrets would be deleted from the Kubernetes </span> .
146+
**Note:** <span style="color:red"> After successful creation of the CDB Resource, the CDB secrets are deleted from the Kubernetes system </span> .
148147

149148
### Secrets for PDB CRD
150149
Create a secret file as shown here: [config/samples/multitenant/pdb_secret.yaml](../../config/samples/multitenant/pdb_secret.yaml). Modify this file with the `base64` encoded values of the required passwords for PDB and use it to create the required secrets.
151150

152151
```bash
153152
kubectl apply -f pdb_secret.yaml
154153
```
155-
**NOTE:** Refer to command provided above to encode the password using base64.
154+
**NOTE:** To encode the password using `base64`, see the command example in the preceding **Secrets for CDB CRD** section.
156155

157156
**NOTE:** <span style="color:red"> Don't leave plaintext files containing sensitive data on disk. After loading the Secret, remove the plaintext file or move it to secure storage. </span>
158157

159158
### Secrets for CERTIFICATES
160159

161-
Create certificates and key on your local host and use them to create Kubernet secret
160+
Create the certificates and key on your local host, and use them to create the Kubernetes secret.
162161

163162
```bash
164163
genrsa -out ca.key 2048
@@ -178,11 +177,11 @@ kubectl create secret generic db-ca --from-file=ca.crt -n oracle-database-operat
178177

179178
+ ## Kubernetes CRD for CDB
180179

181-
The Oracle Database Operator Multitenant Controller creates the CDB kind as a custom resource that models a target CDB as a native Kubernetes object. This is used only to create Pods to connect to the target CDB to perform PDB-LM operations. These CDB resources can be scaled up and down based on the expected load using replicas. Each CDB resource follows the CDB CRD as defined here: [config/crd/bases/database.oracle.com_cdbs.yaml](../../config/crd/bases/database.oracle.com_cdbs.yaml)
180+
The Oracle Database Operator Multitenant Controller creates the CDB kind as a custom resource that models a target CDB as a native Kubernetes object. This kind is used only to create Pods to connect to the target CDB to perform PDB-LM operations. These CDB resources can be scaled, based on the expected load, using replicas. Each CDB resource follows the CDB CRD as defined here: [config/crd/bases/database.oracle.com_cdbs.yaml](../../config/crd/bases/database.oracle.com_cdbs.yaml)
182181

183-
To create a CDB CRD, a sample .yaml file is available here: [config/samples/multitenant/cdb.yaml](../../config/samples/multitenant/cdb.yaml)
182+
To create a CDB CRD, see this example `.yaml` file: [config/samples/multitenant/cdb.yaml](../../config/samples/multitenant/cdb.yaml)
184183

185-
**Note:** The password and username fields in this *cdb.yaml* yaml are Kubernetes Secrets created earlier. Please see the section [Kubernetes Secrets](https://kubernetes.io/docs/concepts/configuration/secret/) for more information. Please see [Kubernetes Private Registry Documenation]( https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) for creating secrets for pulling images from docker private registry.
184+
**Note:** The password and username fields in this *cdb.yaml* Yaml are the Kubernetes Secrets created earlier in this procedure. For more information, see the section [Kubernetes Secrets](https://kubernetes.io/docs/concepts/configuration/secret/). To understand more about creating secrets for pulling images from a Docker private registry, see [Kubernetes Private Registry Documenation]( https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/).
186185

187186
1. [Use Case: Create a CDB CRD Resource](./provisioning/cdb_crd_resource.md)
188187
2. [Use Case: Add another replica to an existing CDB CRD Resource](./provisioning/add_replica.md)
@@ -196,7 +195,7 @@ To create a PDB CRD Resource, a sample .yaml file is available here: [config/sam
196195

197196
# Use Cases for PDB Lifecycle Management Operations using Oracle DB Operator Multitenant Controller
198197

199-
Using Oracle DB Operator Multitenant Controller, you can perform the following PDB-LM operations: CREATE, CLONE, MODIFY, DELETE, UNPLUG, PLUG.
198+
Using the Oracle DB Operator Multitenant Controller, you can perform the following PDB-LM operations: CREATE, CLONE, MODIFY, DELETE, UNPLUG, PLUG.
200199

201200
1. [Create PDB](./provisioning/create_pdb.md)
202201
2. [Clone PDB](./provisioning/clone_pdb.md)
@@ -208,9 +207,9 @@ Using Oracle DB Operator Multitenant Controller, you can perform the following P
208207

209208
## Validation and Errors
210209

211-
Please check [here](./provisioning/validation_error.md) for the details to look for any validation error.
210+
To see how to look for any validation errors, see [validation_error](./provisioning/validation_error.md).
212211

213212

214213
## Known issues
215214

216-
Please refer [here](./provisioning/known_issues.md) for the known issues related to Oracle DB Operator Multitenant Controller.
215+
To find out about known issue related to Oracle DB Operator Multitenant Controller, see [known_issues](./provisioning/known_issues.md).

0 commit comments

Comments
 (0)