github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/demo/csi/cinder-csi-plugin/README.md (about) 1 # Openstack Cinder CSI-Plugin 2 3 ## Requirements 4 5 The containers that run the Node/Controller applications require a cloud-config file be mounted in the containers and the path specified in the containers `args`. 6 7 The example plugin job creates a file at `local/cloud.conf` using a [`template`](https://www.nomadproject.io/docs/job-specification/template) stanza which pulls the necessary credentials from a [Vault kv-v2](https://www.vaultproject.io/docs/secrets/kv/kv-v2) secrets store. However, other methods, such as using the [`artifact`](https://www.nomadproject.io/docs/job-specification/artifact) stanza, will work as well for delivering the `cloud.conf` file to the CSI drivers. 8 9 ### Example cloud.conf 10 11 ```ini 12 [Global] 13 username = openstack-user 14 password = superSecret123 15 domain-name = default 16 auth-url = https://service01a-c2.example.com:5001/ 17 tenant-id = 5sd6f4s5df6sd6fs5ds65fd4f65s 18 region = RegionOne 19 ``` 20 21 ### Docker Privileged Mode 22 23 The Cinder CSI Node task requires that [`privileged = true`](https://www.nomadproject.io/docs/drivers/docker#privileged) be set. This is not needed for the Controller task. 24 25 ## Container Arguments 26 27 * `--endpoint=${CSI_ENDPOINT}`: If you don't use the `CSI_ENDPOINT` 28 environment variable, this option must match the `mount_dir` 29 specified in the `csi_plugin` stanza for the task. 30 31 * `--cloud-config=/etc/config/cloud.conf`: The location that the 32 cloud.conf file was mounted inside the container 33 34 * `--nodeid=${node.unique.name}`: A unique ID for the node the task is 35 running on. Recommend using `${node.unique.name}` 36 37 * `--cluster=${NOMAD_DC}`: The cluster the Controller/Node is a part 38 of. Recommend using `${NOMAD_DC}` 39 40 ## Deployment 41 42 ### Plugin 43 44 ```bash 45 export NOMAD_ADDR=https://nomad.example.com:4646 46 export NOMAD_TOKEN=34534-3sdf3-szfdsafsdf3423-zxdfsd3 47 nomad job run cinder-csi-plugin.hcl 48 ``` 49 50 ### Volume Registration 51 52 ```bash 53 export NOMAD_ADDR=https://nomad.example.com:4646 54 export NOMAD_TOKEN=34534-3sdf3-szfdsafsdf3423-zxdfsd3 55 nomad volume register example_volume.hcl 56 ``` 57 58 ## Cinder CSI Driver Source 59 60 - https://github.com/kubernetes/cloud-provider-openstack/tree/master/pkg/csi/cinder