Overview
Datashim is a Kubernetes Framework to provide easy access to S3 and NFS Datasets within pods. It orchestrates the provisioning of Persistent Volume Claims and ConfigMaps needed for each Dataset.
Using manifests
If you prefer, you can install Datashim using the manifests provided. Start by creating the dlf namespace with:
Start by creating the dlf namespace with:
create ns
kubectl create ns dlf
In order to quickly deploy Datashim
kubectl apply -f https://raw.githubusercontent.com/datashim-io/datashim/master/release-tools/manifests/dlf.yaml
kubectl label namespace default monitor-pods-datasets=enabl
Post-install steps
Ensure that Datashim has been deployed correctly and ready by using the following command:
kubectl wait --for=condition=ready pods -l app.kubernetes.io/name=datashim -n dlf
To use Datashim, we need to create a Dataset: we can do so by editing and running the following:
apiVersion: datashim.io/v1alpha1
kind: Dataset
metadata:
name: example-dataset
spec:
local:
type: COS
accessKeyID: test@1234
secretAccessKey: test@1234
endpoint: https://minio.demo.com
bucket: demo
region: us-east-1
If everything worked, you should now see a PVC named example-dataset which you can mount in your pods. Assuming you have labeled your namespace with monitor-pods-datasets=enabled as mentioned in the post-install steps, you will now be able to mount the PVC in a pod as simply as this:
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
volumes:
- name: "example-dataset"
persistentVolumeClaim:
claimName: "example-dataset"
containers:
- name: nginx
image: nginx
volumeMounts:
- mountPath: "/mount/dataset1"
name: "example-dataset"
Top comments (0)