hope some of you may have a solution to this :
I have a python code that is supposed to write a file output.csv, I want to find that file outside the container in a folder named /data, I have a glusterfs volumes. so I'm using Kubernetes to deploy my container. then when it runs I should find that file in the folder of the glusterfs: here is my Yaml file : the glusterfs volume :
[xxx@xxxx ~]$ df |grep gluster
/dev/mapper/glustervg-glusterlv 10471424 1633164 8838260 16% /var/lib/glusterfs
xxxx:/gluster_vol 10471424 1737876 8733548 17% /data
thank you for your help
update: I've followed this tutorial to try to deploy a volume with glusterfs https://docs.openshift.com/container-platform/3.7/install_config/storage_examples/gluster_example.html
so I created these file : gluster endpoit.yaml
apiVersion: v1
kind: Endpoints
metadata:
name: gluster-cluster
subsets:
- addresses:
- ip: 10.122.5.143
ports:
- port: 1
protocol: TCP
- addresses:
- ip: 10.122.5.142
ports:
- port: 1
protocol: TCP
the persistent volume:
apiVersion: v1
kind: PersistentVolume
metadata:
name: gluster-pv
spec:
capacity:
storage: 3Gi
accessModes:
- ReadWriteMany
glusterfs:
endpoints: gluster-cluster
path: data
readOnly: false
persistentVolumeReclaimPolicy: Retain
the persistent volume claim :
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: gluster-claim
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 3Gi
the gluster service :
apiVersion: v1
kind: Service
metadata:
name: gluster-cluster
spec:
ports:
- port:
and my new deployment looks like this :
apiVersion: apps/v1
kind: Deployment
metadata:
name: uc1-deploy
spec:
selector:
matchLabels:
app: uc1
replicas: 1
template:
metadata:
labels:
app: uc1
spec:
containers:
- name: uc1
image: predicteur_uc1:1.5
volumeMounts:
- mountPath: /output
name: test-volumed
readOnly: false
ports:
- containerPort: 90
volumes:
- name: test-volumed
persistentVolumeClaim:
claimName: gluster-claim
and when I deploy it I get that error :
Output: Running scope as unit run-20456.scope.
[2019-11-25 11:29:08.230125] E [glusterfsd.c:825:gf_remember_backup_volfile_server] 0-glusterfs: failed to set volfile server: File exists
Mount failed. Please check the log file for more details.
, the following error information was pulled from the glusterfs log to help diagnose this issue:
[2019-11-25 11:29:08.244765] E [glusterfsd-mgmt.c:1958:mgmt_getspec_cbk] 0-glusterfs: failed to get the 'volume file' from server
[2019-11-25 11:29:08.244841] E [glusterfsd-mgmt.c:2151:mgmt_getspec_cbk] 0-mgmt: failed to fetch volume file (key:/data)
YES the value must be gluster_vol instead of data wich data represent the folder where the glusterfs is mounted on the machine but the volume name is rather gluster_vol. that is the fisrt error I made.
second the mountpath in the deployment represent a folder inside the container where my gluster_vol ( and what it containes) must be mounted so it create a folder inside the container that is linked to the gluster vol, so basicaly i will put whatever is on the gluster_vol inside the folder output wich is inside my container.
third my python code crate the csv files inside the folder output/opportunity, so this folder structure must be in the gluster_vol too . thank you helloWorld and clement for your implication guys, you helped