You can skip this step if you are not intended intending to do kubernetes Kubernetes clustering on more than one node.
As we We will need to share the /dockerdata-nfs directory among all of the kubernetes Kubernetes nodes.
Create Volume
Here is an example of creating openstack an OpenStack volume.
From openstack an OpenStack UI, go to to the Volumes tab , and click click the +Create Volume button to bring up the Create Volume page as the following, fill shown below. Fill in the fields according to the screen shot so that they match the screenshot below (choose your own Volume Name ) :
The volume will be created as the followingshown below:
Attach the
...
Volume to the VM
...
Instance
From Underneath the volume Actions column, click on the down arrow of beside Edit Volume to get a drop-down menu, and ; select Manage Attachments:
...
The Manage Volume Attachments window will pop up.
Image Removed
Click :
Image Added
Underneath Attach to Instance, click the down arrow ofbeside Select an instance of Attach To Instance field, to bring out the drop down menu, to get a drop-down menu; select the desired VM instance, then click on on the Attach Volume button.
The volume will be attached to the desired VM instance with Statuewith the Status changed to In-use, and 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 Expand |
---|
title | Example of attached volume id display |
---|
| virtio-274e55f0-314f-4197-a |
|
2 |
Conver | sudo mkfs.ext4 /dev/disk/by-id/<volumeId> Expand |
---|
title | Example of mkfs command |
---|
| ubuntu@sdnc-k8s:~/oom/kubernetes/config$ sudo mkfs.ext4 /dev/disk/by-id/virtio-274e55f0-314f-4197-a mke2fs 1.42.13 (17-May-2015) Creating filesystem with 26214400 4k blocks and 6553600 inodes Filesystem UUID: 8d9e10a2-c28b-4237-b1d5-69bf5c6bec6f Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done |
|
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 | Expand |
---|
title | Example of using df command to check the mount point |
---|
| ubuntu@sdnc-k8s:~/oom/kubernetes/config$ df Filesystem 1K-blocks Used Available Use% Mounted on udev 8209144 0 8209144 0% /dev tmpfs 1643244 10832 1632412 1% /run /dev/vda1 20263528 5920744 14326400 30% / tmpfs 8216216 2244 8213972 1% /dev/shm tmpfs 5120 0 5120 0% /run/lock tmpfs 8216216 0 8216216 0% /sys/fs/cgroup tmpfs 1643244 0 1643244 0% /run/user/1000 /dev/vdb 103081248 61044 97760940 1% /dockerdata-nfs |
Expand |
---|
title | Example of using mount command to check the mount point |
---|
| ubuntu@sdnc-k8s:~/oom/kubernetes/config$ mount|grep dockerdata /dev/vdb on /dockerdata-nfs type ext4 (rw,relatime,data=ordered) |
|
Mount the
...
Volume to
...
Other VM
...
Instances
Warning |
---|
|
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: sudo apt install nfs-kernel-server
Expand |
---|
title | Example of installing exportfs |
---|
| ubuntu@sdnc-k8s:~/oom/kubernetes/oneclick$ sudo apt install nfs-kernel-server Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: keyutils libnfsidmap2 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib libtirpc1 nfs-common python python-minimal python2.7 python2.7-minimal rpcbind Suggested packages: watchdog python-doc python-tk python2.7-doc binutils binfmt-support The following NEW packages will be installed: keyutils libnfsidmap2 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib libtirpc1 nfs-common nfs-kernel-server python python-minimal python2.7 python2.7-minimal rpcbind 0 upgraded, 13 newly installed, 0 to remove and 27 not upgraded. Need to get 4,383 kB of archives. After this operation, 18.5 MB of additional disk space will be used. Do you want to continue? [Y/n] Y … Replacing config file /etc/exports with new version
Creating config file /etc/default/nfs-kernel-server with new version Processing triggers for libc-bin (2.23-0ubuntu9) ... Processing triggers for systemd (229-4ubuntu19) ... Processing triggers for ureadahead (0.100.0-19) ... ubuntu@sdnc-k8s:~/oom/kubernetes/oneclick$ |
|
1.2 | Modify /etc/exports file to export the /dockerdata-nfs mount point | Expand |
---|
title | Example of /etc/exports for /dockerdata-nfs export mount point |
---|
| ubuntu@sdnc-k8s:~$ more /etc/exports # /etc/exports: the access control list for filesystems which may be exported # to NFS clients. See exports(5). # # Example for NFSv2 and NFSv3: # /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check) # # Example for NFSv4: # /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check) # /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check) # /dockerdata-nfs sdnc-k8s-2(rw,sync,no_subtree_check) |
|
1.3 | Export the /dockerdata-nfs mount point | |
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 | Expand |
---|
title | Example of using df command to validate |
---|
| ubuntu@sdnc-k8s-2:~$ df Filesystem 1K-blocks Used Available Use% Mounted on udev 8209144 0 8209144 0% /dev tmpfs 1643244 9804 1633440 1% /run /dev/vda1 20263528 9778736 10468408 49% / tmpfs 8216216 2460 8213756 1% /dev/shm tmpfs 5120 0 5120 0% /run/lock tmpfs 8216216 0 8216216 0% /sys/fs/cgroup tmpfs 1643244 0 1643244 0% /run/user/1000 10.147.132.10:/dockerdata-nfs 103081984 61440 97761280 1% /dockerdata-nfs |
|
Tips
unmount
Use the lazy (-l) option to force unmount the mount point.
...