- start minikune:
minikube start --extra-disks=1 --driver=kvm2
- clone rook and get into the examples directory:
git clone https://github.com/rook/rook.git
cd rook/deploy/examples
- deploy the rook operator:
kubectl create -f crds.yaml -f common.yaml -f csi-operator.yaml -f operator.yaml
- change the ceph image in
cluster-test.yamlthe developer build:
image: quay.ceph.io/ceph-ci/ceph:wip-add-lancedb- deploy the cluster:
kubectl create -f cluster-test.yaml
- wait for all cluster pods to be up and running:
kubectl get pods -n rook-ceph
- deploy the RGW:
kubectl create -f object-test.yaml
- expose the RGW as a service outside of the cluster:
kubectl create -f rgw-external.yaml
- create storage class and bucket:
kubectl create -f storageclass-bucket-delete.yaml
kubectl create -f object-bucket-claim-delete.yaml
- upload an object to the bucket:
export AWS_URL=$(minikube service --url rook-ceph-rgw-my-store-external -n rook-ceph)
export AWS_ACCESS_KEY_ID=$(kubectl -n default get secret ceph-delete-bucket -o jsonpath='{.data.AWS_ACCESS_KEY_ID}' | base64 --decode)
export AWS_SECRET_ACCESS_KEY=$(kubectl -n default get secret ceph-delete-bucket -o jsonpath='{.data.AWS_SECRET_ACCESS_KEY}' | base64 --decode)
export BUCKET_NAME=$(kubectl get objectbucketclaim ceph-delete-bucket -o jsonpath='{.spec.bucketName}')
echo "hello world" > hello.txt
aws --endpoint-url $AWS_URL s3 cp hello.txt s3://$BUCKET_NAME
- install the latest aws cli (s3vectors is a new feature)
- set signature version for the profile (we currently only support the s3 varient of sigv4):
aws configure set default.s3vectors.signature_version s3v4
- create a vector bucket:
aws --endpoint-url $AWS_URL s3vectors create-vector-bucket --vector-bucket-name my-v-bucket
- expected reply is:
{
"vectorBucketArn": "arn:aws:s3vectors:::bucket/my-v-bucket"
}
based on the blueprint in: https://github.com/thotz/python-vectordbapp-ceph (without using milvus)
kubectl create -f https://github.com/knative/eventing/releases/download/knative-v1.21.0/eventing-crds.yaml
kubectl create -f https://github.com/knative/eventing/releases/download/knative-v1.21.0/eventing-core.yaml
kubectl create -f https://github.com/knative/eventing/releases/download/knative-v1.21.0/in-memory-channel.yaml
- make sure to download the
knative-resources.yaml - call:
kubectl create -f knative-resources.yaml