@@ -120,28 +120,24 @@ are not available, see the subsequent sections.
120
120
7 . Copy the backend configuration file from step 6 the ` setup/ ` directory
121
121
and name it ` backend.json ` .
122
122
123
- 8 . Run the Trident installation script. If using Kubernetes, run :
123
+ 8 . Run the Trident installation script:
124
124
125
125
```bash
126
- ./install_trident.sh
126
+ ./install_trident.sh -n trident
127
127
```
128
-
129
- If using OpenShift, run:
130
-
131
- ```bash
132
- ./install_trident.sh --namespace <namespace> --serviceaccount trident
133
- ```
134
-
135
- where the `--namespace` argument is optional.
128
+ where the `-n` argument is optional and specifies the namespace for the
129
+ Trident deployment. If not specified, namespace defaults to the current
130
+ namespace; however, it is highly recommended to run Trident in its own
131
+ namespace so that it is isoloated from other applications in the cluster.
136
132
137
133
The install script first configures the Trident deployment and Trident
138
134
launcher pod definitions, found in `setup/trident-deployment.yaml` and
139
135
`launcher-pod.yaml`, to use the namespace and service account specified
140
- (defaulting to `default` for both if unspecified, as in the Kubernetes
141
- command above). It then starts the Trident launcher pod, which provisions
142
- a PVC and PV on which Trident will store its data, using the provided
143
- backend. The launcher then starts a deployment for Trident itself, using
144
- the defintion in `setup/`.
136
+ (defaulting to the current namespace for both if unspecified, as in the
137
+ Kubernetes command above). It then starts the Trident launcher pod,
138
+ which provisions a PVC and PV on which Trident will store its data, using
139
+ the provided backend. The launcher then starts a deployment for Trident
140
+ itself, using the defintion in `setup/`.
145
141
146
142
When the installer completes, `kubectl get deployment trident` should show
147
143
a deployment named `trident` with a single live replica. Running `kubectl
@@ -304,10 +300,22 @@ parameters:
304
300
* ` -deployment_file ` : The path to a Trident deployment definition, as
305
301
described in [ Deploying As a Pod] ( #deploying-as-a-pod ) . Defaults to
306
302
` /etc/config/trident-deployment.yaml ` .
307
- * ` -apiserver ` : The IP address and insecure port for the Kubernetes API
303
+ * ` -apiserver ` : The IP address and insecure port for the Kubernetes API
308
304
server. Optional; if specified, the launcher uses this to communicate with
309
305
the API server. If omitted, the launcher will assume it is being launched as
310
306
a Kubernetes pod and connect using the service account for that pod.
307
+ * ` -volume_name ` : The name of the volume provisioned by launcher on the storage
308
+ backend. If omitted, it defaults to "trident".
309
+ * ` -volume_size ` : The size of the volume provisioned by launcher in GB. If
310
+ omitted, it defaults to 1GB.
311
+ * ` pvc_name ` : The name of the PVC created by launcher. If omitted, it defaults
312
+ to "trident".
313
+ * ` pv_name ` : The name of the PV created by launcher. If omitted, it defaults
314
+ to "trident".
315
+ * ` -trident_timeout ` : The number of seconds to wait before the launcher times
316
+ out on a Trident connection. If omitted, it defaults to 10 seconds.
317
+ * ` -k8s_timeout ` : The number of seconds to wait before timing out on Kubernetes
318
+ operations. If omitted, it defaults to 60 seconds.
311
319
* ` -debug ` : Optional; enables debugging output.
312
320
313
321
As with Trident itself, the launcher can be deployed as a pod using the
@@ -341,19 +349,59 @@ Trident launcher and CLI, and several sample input files for Trident. The insta
341
349
script requires a backend configuration named ` backend.json ` to be added to the
342
350
` setup/ ` directory. Once this has been done, it will create the ConfigMap
343
351
described above using the files in ` setup/ ` and then launch the Trident
344
- deployment. It takes two optional parameters:
345
-
346
- * ` -n <namespace> ` /` --namespace <namespace> ` : Namespace in which to deploy
347
- Trident and the Trident launcher. Defaults to ` default ` .
348
- * ` -s <service-account> ` /` --serviceaccount <service-account> ` : Service account
349
- to use for Trident and the Trident launcher. Defaults to ` default ` .
350
-
351
- The script will change the deployment definition files (` launcher-pod.yaml ` and
352
- ` setup/trident-deployment.yaml ` ) provided based on these parameters. These
353
- defintions can also be changed manually as needed. Note that the script must
354
- be run with ` kubectl ` using a context with the namespace used in ` --namespace ` ;
355
- otherwise, the ConfigMap will be created in the wrong namespace and the
356
- launcher will not run.
352
+ deployment. This script can be run from any directory and from any namespace.
353
+ ``` bash
354
+ $ ./install_trident.sh -h
355
+
356
+ Usage:
357
+ -n < namespace> Specifies the namespace for the Trident deployment; defaults to the current namespace.
358
+ -h Prints this usage guide.
359
+
360
+ Example:
361
+ ./install_trident.sh -n trident Installs the Trident deployment in namespace " trident" .
362
+ ```
363
+
364
+ It is highly recommended to run Trident in its own namespace
365
+ (` ./install_trident.sh -n trident ` ) so that it is isolated from other
366
+ applications in the Kubernetes cluster. This script also creates service
367
+ accounts, cluster roles, and cluster role bindings for both Trident and Trident
368
+ launcher.
369
+
370
+ #### Delete Script
371
+
372
+ The delete script deletes most artifacts of the install script. This script can
373
+ be run from any directory and from any namespace.
374
+ ``` bash
375
+ $ ./delete_trident.sh -h
376
+
377
+ Usage:
378
+ -n < namespace> Specifies the namespace for the Trident deployment; defaults to the current namespace.
379
+ -h Prints this usage guide.
380
+
381
+ Example:
382
+ ./delete_trident.sh -n trident Deletes artifacts of Trident from namespace " trident" .
383
+ ```
384
+
385
+ This script does not delete the namespace, the PVC, and the PV created by the
386
+ install script.
387
+
388
+ #### Update Script
389
+
390
+ The update script can be used to update or rollback container images in the
391
+ Trident deployment.
392
+ ``` bash
393
+ $ ./update_trident.sh -h
394
+
395
+ Usage:
396
+ -n < namespace> Specifies the namespace for the Trident deployment; defaults to the current namespace.
397
+ -t < trident_image> Specifies the new image for the " trident-main" container in the Trident deployment.
398
+ -e < etcd_image> Specifies the new image for the " etcd" container in the Trident deployment.
399
+ -d < deployment> Specifies the name of the deployment; defaults to " trident" .
400
+ -h Prints this usage guide.
401
+
402
+ Example:
403
+ ./update_trident.sh -n trident -t netapp/trident:17.04.1 Updates the Trident deployment in namespace " trident" to use image " netapp/trident:17.04.1" .
404
+ ` ` `
357
405
358
406
# ## Deploying As a Pod
359
407
0 commit comments