You can skip this step if you are not intending to do Kubernetes clustering on more than one node.
We will need to share the /dockerdata-nfs directory among all of the Kubernetes nodes.
Create Volume
Here is an example of creating an OpenStack volume.
From an OpenStack UI, go to the Volumes tab and click the +Create Volume button to bring up the Create Volume page as shown below. Fill in the fields so that they match the screenshot below (choose your own Volume Name ):
The volume will be created as shown below:
Attach the Volume to the VM Instance
Underneath the Actions column, click on the down arrow beside Edit Volume to get a drop-down menu; select Manage Attachments:
The Manage Volume Attachments window will pop up:
Underneath Attach to Instance, click the down arrow beside Select an instance to get a drop-down menu; select the desired VM instance, then click on the Attach Volume button.
The volume will be attached to the desired VM instance with the Status changed to In-use, and the Attached To field updated.
The following is an example:
Mount the Volume in the Attached VM Instance
On the attached VM instance server, follow the steps below to mount the volume as the /dockdata-nfs directory:
(See more details at RedHat Enterprise Linux OpenStack Platform Getting Started Guide)
# | Purpose | Command and Example |
---|---|---|
1 | Find the volume id | ls /dev/disk/by-id |
2 | Convert to mkfs format | sudo mkfs.ext4 /dev/disk/by-id/<volumeId> |
3 | Mount the volume as the /dockerdata-nfs directory | sudo mkdir -p /dockerdata-nfs sudo mount /dev/disk/by-id/virtio-274e55f0-314f-4197-a /dockerdata-nfs |
4 | Validate the mount |
Mount the Volume to Other VM Instances
Work in progress
More investigatio needed (as part of multi-nodes kubernetes cluser) as I'm having "Operation not permitted" error in sdnc-dbhost pod when deploying SDN-C cluster with the mounted /dockerdata-nfs from this instruction:
ubuntu@sdnc-k8s:~/oom/kubernetes/oneclick$ kubectl logs sdnc-dbhost-3029711096-w1szw -n onap-sdnc
[Entrypoint] MySQL Docker Image 5.6.38-1.1.2
chown: changing ownership of '/var/lib/mysql/': Operation not permitted
ubuntu@sdnc-k8s:~/oom/kubernetes/oneclick$ kubectl logs consul-agent-3312409084-3560z -n onap-consul
chown: /consul/config: Operation not permitted
ubuntu@sdnc-k8s:~/oom/kubernetes/oneclick$
# | Purpose | Command and Example |
---|---|---|
1 | On the server of the attached VM instance | |
1.1 | Install exportfs | if exportfs is not installed, install it with the following command:
|
1.2 | Modify /etc/exports file to export the /dockerdata-nfs mount point | |
1.3 | Export the /dockerdata-nfs mount point | sudo exportfs -rav |
2 | On the server of the other VM instance | |
2.1 | Install nfs-common | sudo apt install nfs-common |
2.2 | Mount the volume as the /dockerdata-nfs directory | sudo mkdir -p /dockerdata-nfs sudo mount <mount point server IP>:/dockerdata-nfs /dockerdata-nfs |
2.3 | Validate the mount |
Tips
unmount
Use the lazy (-l) option to force unmount the mount point.
For example,
sudo umount -l /dockerdata-nfs