Contents ======== * `Contents <#contents>`__ * `Network File System Overview <#network-file-system-overview>`__ * `NFS Server Setup <#nfs-server-setup>`__ * `Prerequisites <#prerequisites>`__ * `Updates in the Helm Charts Directory <#update-the-helm-charts-directory>`__ * `Changes in the Helm Files for NFS <#changes-on-helm-files-for-nfs>`__ Network File System Overview ---------------------------- Network File System (NFS) is a distributed file system protocol that can allow a system to share directories and files with others over a network. NFS operates in a client-server environment where the server is responsible for managing the authentication, authorization, and administration of clients, as well as for all data shared within a particular file system. NFS Server Setup ---------------- To set up the host server on Ubuntu, refer to `NFS Install `_. Control or Workstation node will be the NFS server and worker nodes are the clients Prerequisites ------------- Follow the Helm `README.md `_ to install the K8s prerequisites on the host machines. Updates in the Helm Charts Directory ------------------------------------ #. Edit the "EII_HOME_DIR" in .env(\ ``[WORK_DIR]/IEdgeInsights/build/.env``\ ) with /home/username/\`_ with the preferred usecase for generating the consolidated helm charts for the provisioning and deployment. .. code-block:: sh cd [WORKDIR]/IEdgeInsights/build python3 builder.py -f usecases/.yml Changes in the Helm Files for NFS --------------------------------- #. Update the "storageClassName" with nfs in eii-deploy/values.yaml(\ ``[WORK_DIR]/IEdgeInsights/build/helm-eii/eii-deploy/values.yaml``\ ) #. Update the volumes section with following configurations in eii-deploy/values.yaml(\ ``[WORK_DIR]/IEdgeInsights/build/helm-eii/eii-deploy/values.yaml``\ ) .. code-block:: sh volumes: influxdata: name: vol-influxdata size: 1Gi location: "/opt/intel/eii/data/influxdata" path: "/opt/intel/eii/data" server: miniodata: name: vol-miniodata size: 1Gi location: "/opt/intel/eii/data/minio-bucket" path: "/opt/intel/eii/data" server: #. Replace the infludata and miniodata volume details in eii-deploy/templates/eii-pv.yaml(\ ``[WORK_DIR]/IEdgeInsights/eii-pv.yaml``\ ) with below changes: .. code-block:: sh apiVersion: v1 kind: PersistentVolume metadata: namespace: {{ .Values.namespace }} name: {{ .Values.volumes.influxdata.name }} labels: type: local spec: capacity: storage: {{ .Values.volumes.influxdata.size }} volumeMode: Filesystem accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain storageClassName: {{ .Values.storageClassName }} mountOptions: - hard nfs: path: {{ .Values.volumes.influxdata.path }} server: {{ .Values.volumes.influxdata.server }} --- apiVersion: v1 kind: PersistentVolume metadata: namespace: {{ .Values.namespace }} name: {{ .Values.volumes.miniodata.name }} labels: type: local spec: capacity: storage: {{ .Values.volumes.miniodata.size }} volumeMode: Filesystem accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain storageClassName: {{ .Values.storageClassName }} mountOptions: - hard nfs: path: {{ .Values.volumes.miniodata.path }} server: {{ .Values.volumes.miniodata.server }} Based on the number of influxdata and miniodata volumes, update the persistent volume details. #. Replace the infludata and miniodata volume details in eii-deploy/templates/eii-pvc.yaml(\ ``[WORK_DIR]/IEdgeInsights/eii-pvc.yaml``\ ) with below changes: .. code-block:: sh apiVersion: v1 kind: PersistentVolumeClaim metadata: namespace: {{ .Values.namespace }} name: {{ .Values.volumes.influxdata.name }} spec: storageClassName: {{ .Values.storageClassName }} accessModes: - ReadWriteMany resources: requests: storage: {{ .Values.volumes.influxdata.size }} --- apiVersion: v1 kind: PersistentVolumeClaim metadata: namespace: {{ .Values.namespace }} name: {{ .Values.volumes.miniodata.name }} spec: storageClassName: {{ .Values.storageClassName }} accessModes: - ReadWriteMany resources: requests: storage: {{ .Values.volumes.miniodata.size }} Based on the number of influxdata and miniodata volumes, update the persistent volume details.