CloudServer can now be deployed on a Kubernetes cluster through Helm. The CloudServer Helm chart allows to add S3-compatible storage system to a K8s cluster easily. CloudServer can store data locally or can be used with existing S3 compatible servers by supplying credentials to the values.yaml file in the chart. See the full documentation at the Helm charts Github repository.
To start using CloudServer on an existing Kubernetes cluster, run:
$ helm install stable/cloudserver
In order to connect CloudServer to S3 compatible services, fill in cloud backend credentials on the values.yaml file. An AWS configuration may look like this:
api: locationConstraints: awsbackend: type: aws_s3 legacyAwsBehavior: true details: bucketMatch: true awsEndpoint: s3.amazonaws.com bucketName: my-bucket=name credentials: accessKey: my-access-key secretKey: my-secret-key
A number of configurations are also available at install. Some common examples include:
- Expose the Cloudserver service through ingress:
$ helm install stable/cloudserver --set api.ingress.enabled=true
- Configure S3 credentials at install:
$ helm install stable/cloudserver --set api.credentials.accessKey="hello" --set api.credentials.secretKey="world"
- Enable autoscaling:
$ helm install stable/cloudserver --set api.autoscaling.enabled=true
- Disable data persistence:
$ helm install stable/cloudserver --set localdata.persistentVolume.enabled=false # disable persistence
Minikube and Docker for Mac Edge also support single-node Kubernetes for local testing. Docker has a step-by-step guide for such a set up. CloudServer’s full documentation covers other details. Try it out and let us know what you think on Zenko forums.