Using k3s.io persona¶
The k3s.io persona is about deploying Dataverse to k3s.io for local development or demo purposes.
k3s.io is a very small and simplicity first Kubernetes distribution, targeted at use cases like (tiny) microservices, continious integration, internet of things etc. Compared to minikube, k3s is even smaller and more lightweight. You can run k3s on hardware, a virtual machine or in a Docker container.
Start with setup of k3s.io¶
First, setup a single node K3s cluster. As noted above, there are multiple options for this - one of them, using k3d is described below.
As K3s removed all “in-tree” storage classes, you will need to provide one on your own. For simple purposes like demos or development, local storage is sufficient.
The k3s.io persona will add a local provisioner by default, so the default storage class will “just work”.
For getting started quickly, you can use k3s.io on Docker easily with k3d. You’ll need:
Now create a small test cluster for this demo:
k3d create --publish 8080:80 --wait 0 export KUBECONFIG="$(k3d get-kubeconfig --name='k3s-default')"
Remember you need to expose the
Ingress port, thus the
--publish 8080:80. Ingress will be reachable via http://localhost:8080 later.
Let’s get ready to Dataverse…¶
Please be aware that the k3s.io persona is using Kustomize to re-use the provided descriptors, but suited for usage with K3s. Please ensure having kubectl v1.14 or later installed or follow the kubectl installation docs.
Now start to deploy Dataverse plus any necessary services and bootstrap via Kustomize:
kubectl apply -k github.com/IQSS/dataverse-kubernetes/personas/demo-k3s
When bootstrapping job finished (see
kubectl get job,pod and logs), you can
“just access” Dataverse. k3s.io persona adds an
Ingress route from
your host to the service.
Wait a little longer…
Point your favorite browser to http://localhost:8080 and enjoy your freshly backed Dataverse demo.
Default login for this demo is
dataverseAdmin:admin1. See Credentials and Secrets.
A word on deployment times¶
On a 2016 laptop with
16 GB RAM,
Intel Core i5-6300U and
a fairly fast internet connection for image pulling
it takes about 3 to 4 minutes from zero to hero, not including installation time for Docker, k3d/k3s or kubectl. See also timestamps above.