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
3.[Install](https://kubernetes.io/docs/setup/) a Kubernetes cluster.
14
18
4.[Install](https://cert-manager.io/docs/installation/#getting-started) cert-manager. Ensure that the cert-manager resouces are up and running successfully before installing the NDB operator.
15
19
16
20
## Installation and Running on the cluster
17
-
Deploy the operator on the cluster:
21
+
22
+
### Method 1: Install from Helm Repository (Recommended)
### Create a Database Resource. A database can either be provisioned or cloned on NDB based on the inputs specified in the database manifest.
85
189
86
190
#### Provisioning manifest
191
+
87
192
```yaml
88
193
apiVersion: ndb.nutanix.com/v1alpha1
89
194
kind: Database
@@ -96,9 +201,10 @@ spec:
96
201
isClone: false
97
202
# Database instance specific details (that is to be provisioned)
98
203
databaseInstance:
99
-
# Cluster id of the cluster where the Database has to be provisioned
204
+
# Cluster Name or cluster ID where the Database has to be provisioned
100
205
# Can be fetched from the GET /clusters endpoint
101
-
clusterId: "Nutanix Cluster Id"
206
+
clusterName: "Nutanix Cluster Name"# Recommended: Use cluster name
207
+
# clusterId: "Nutanix Cluster UUID" # Alternative: Use cluster UUID
102
208
# The database instance name on NDB
103
209
name: "Database-Instance-Name"
104
210
# The description of the database instance
@@ -151,6 +257,7 @@ spec:
151
257
```
152
258
153
259
#### Cloning manifest
260
+
154
261
```yaml
155
262
apiVersion: ndb.nutanix.com/v1alpha1
156
263
kind: Database
@@ -169,9 +276,10 @@ spec:
169
276
name: "Clone-Instance-Name"
170
277
# The description of the clone instance
171
278
description: Database Description
172
-
# Cluster id of the cluster where the Database has to be provisioned
279
+
# Cluster Name or Cluster id of the cluster where the Cloned Database has to be provisioned
173
280
# Can be fetched from the GET /clusters endpoint
174
-
clusterId: "Nutanix Cluster Id"
281
+
clusterName: "Nutanix Cluster Name"# Recommended: Use cluster name
282
+
# clusterId: "Nutanix Cluster UUID" # Alternative: Use cluster UUID
175
283
# You can specify any (or none) of these types of profiles: compute, software, network, dbParam
176
284
# If not specified, the corresponding Out-of-Box (OOB) profile will be used wherever applicable
177
285
# Name is case-sensitive. ID is the UUID of the profile. Profile should be in the "READY" state
@@ -198,24 +306,32 @@ spec:
198
306
# data: password, ssh_public_key
199
307
credentialSecret: clone-instance-secret-name
200
308
timezone: "UTC"
201
-
# ID of the database to clone from, can be fetched from NDB REST API Explorer
202
-
sourceDatabaseId: source-database-id
203
-
# ID of the snapshot to clone from, can be fetched from NDB REST API Explorer
204
-
snapshotId: snapshot-id
205
-
additionalArguments: # Optional block, can specify additional arguments that are unique to database engines.
309
+
310
+
# Name or ID of the database to clone from, can be fetched from NDB REST API Explorer
311
+
sourceDatabaseName: "source-database-name"# Recommended: Use database name
312
+
# sourceDatabaseId: "source-database-uuid" # Alternative: Use database UUID
313
+
314
+
# Name or ID of the snapshot to clone from, can be fetched from NDB REST API Explorer
315
+
snapshotName: "snapshot-name"# Recommended: Use snapshot name, or leave empty for latest
316
+
# snapshotId: "snapshot-uuid" # Alternative: Use snapshot UUID
317
+
318
+
additionalArguments: # Optional block, can specify additional arguments that are unique to database engines.
206
319
expireInDays: 3
207
320
208
321
```
209
322
210
323
Create the Database resource:
324
+
211
325
```sh
212
326
kubectl apply -f <path/to/database-manifest.yaml>
213
327
```
214
328
215
329
### Additional Arguments for Databases
330
+
216
331
Below are the various optional addtionalArguments you can specify along with examples of their corresponding values. Arguments that have defaults will be indicated.
@@ -354,6 +483,7 @@ which provides a reconcile function responsible for synchronizing resources unti
354
483
A custom resource of the kind Database is created by the reconciler, followed by a Service and an Endpoint that maps to the IP address of the database instance provisioned. Application pods/deployments can use this service to interact with the databases provisioned on NDB through the native Kubernetes service.
355
484
356
485
Pods can specify an initContainer to wait for the service (and hence the database instance) to get created before they start up.
486
+
357
487
```yaml
358
488
initContainers:
359
489
- name: init-db
@@ -362,9 +492,11 @@ Pods can specify an initContainer to wait for the service (and hence the databas
362
492
```
363
493
364
494
## Contributing
495
+
365
496
See the [contributing docs](https://github.com/nutanix-cloud-native/ndb-operator/blob/main/CONTRIBUTING.md).
366
497
367
498
## Support
499
+
368
500
### Community Plus
369
501
370
502
This code is developed in the open with input from the community through issues and PRs. A Nutanix engineering team serves as the maintainer. Documentation is available in the project repository.
@@ -375,4 +507,4 @@ Issues and enhancement requests can be submitted in the [Issues tab of this repo
375
507
376
508
Copyright 2022-2023 Nutanix, Inc.
377
509
378
-
The project is released under version 2.0 of the [Apache license](http://www.apache.org/licenses/LICENSE-2.0).
510
+
The project is released under version 2.0 of the [Apache license](http://www.apache.org/licenses/LICENSE-2.0).
0 commit comments