Using k3s.io persona¶
The k3s.io persona is about deploying Dataverse to k3s.io for local development or demo purposes.
See also
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.
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 cluster create -p "8080:80@loadbalancer"
Hint
Remember you need to expose the Ingress
port, thus the -p "8080:80@loadbalancer"
.
Ingress will be reachable via http://localhost:8080 later. See also
k3d exposing guide for more
options on exposing ports.
Let’s get ready to Dataverse…¶
Important
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/GlobalDataverseCommunityConsortium/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.
Hint
Default login for this demo is dataverseAdmin:admin1
. See Credentials and Secrets.
A word on deployment times¶
On a 2020 laptop with
32 GB RAM,
SATA SSD,
Intel Core i7-8665U and
a fairly fast internet connection for image pulling
and Docker Hub behaving normal
it takes about 3 to 4 minutes from zero to hero, not including installation time for Docker, k3d/k3s or kubectl. Timestamps above differ due to Docker Hub problems.