You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/multitenant/README.md
+25-26Lines changed: 25 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,21 +4,21 @@
4
4
5
5
# Oracle Multitenant Database Controller
6
6
7
-
> <spanstyle="color:red"> WARNING: Examples with https are located in the usecases directories </span>
7
+
> <spanstyle="color:red"> WARNING: Examples with https are located in the use case directories </span>
8
8
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).
10
10
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/)).
12
12
13
-
NOTE: The target CDB (for which the PDB life cycle management is needed) **can also** run in a Cloud environmentas 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))
14
14
15
15
16
16
17
17
# Oracle DB Operator Multitenant Database Controller Deployment
18
18
19
19
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.
20
20
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:
22
22
```bash
23
23
[root@test-server oracle-database-operator]# kubectl get ns
24
24
NAME STATUS AGE
@@ -73,9 +73,7 @@ The following sections explain the setup and functionality of this controller.
73
73
74
74
# Prerequsites to manage PDB Life Cycle using Oracle DB Operator Multitenant Database Controller
75
75
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.
79
77
80
78
*[Prepare CDB for PDB Lifecycle Management or PDB-LM](#prepare-cdb-for-pdb-lifecycle-management-pdb-lm)
81
79
*[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
86
84
87
85
+## Prepare CDB for PDB Lifecycle Management (PDB-LM)
88
86
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.
90
88
91
-
You cannot have an ORDSenabled 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:
92
90
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.
94
92
95
93
```SQL
96
94
SQL> conn /as sysdba
@@ -114,51 +112,52 @@ select username, account_status from dba_users where username in ('ORDS_PUBLIC_U
114
112
115
113
### Reference Setup: Example of a setup using OCI OKE(Kubernetes Cluster) and a CDB in Cloud (OCI Exadata Database Cluster)
116
114
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.
118
116
119
117
+## Oracle REST Data Service (ORDS) Image
120
118
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.
122
120
123
121
You can build this image by using the ORDS [Dockerfile](../../../ords/Dockerfile)
124
122
125
123
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)
127
125
128
126
129
127
+## Kubernetes Secrets
130
128
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.
132
130
133
131
### Secrets for CDB CRD
134
132
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.
136
134
137
135
```bash
138
136
kubectl apply -f cdb_secret.yaml
139
137
```
140
138
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:
142
140
143
141
```bash
144
142
echo -n "<password to be encoded using base64>"| base64
145
143
```
144
+
The value that is returned is the base64-encoded value for that password string.
146
145
147
-
**Note:** <spanstyle="color:red"> On successful creation of the CDB Resource, the CDB secrets would be deleted from the Kubernetes </span> .
146
+
**Note:** <spanstyle="color:red"> After successful creation of the CDB Resource, the CDB secrets are deleted from the Kubernetes system </span> .
148
147
149
148
### Secrets for PDB CRD
150
149
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.
151
150
152
151
```bash
153
152
kubectl apply -f pdb_secret.yaml
154
153
```
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.
156
155
157
156
**NOTE:** <spanstyle="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>
158
157
159
158
### Secrets for CERTIFICATES
160
159
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.
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)
182
181
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)
184
183
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/).
186
185
187
186
1.[Use Case: Create a CDB CRD Resource](./provisioning/cdb_crd_resource.md)
188
187
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
196
195
197
196
# Use Cases for PDB Lifecycle Management Operations using Oracle DB Operator Multitenant Controller
198
197
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.
200
199
201
200
1.[Create PDB](./provisioning/create_pdb.md)
202
201
2.[Clone PDB](./provisioning/clone_pdb.md)
@@ -208,9 +207,9 @@ Using Oracle DB Operator Multitenant Controller, you can perform the following P
208
207
209
208
## Validation and Errors
210
209
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).
212
211
213
212
214
213
## Known issues
215
214
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