Qluster

Qluster is a multi-tenant kubernetes cluster from team Quantum, for Enrise-wide use. Want to use it? Go to Getting started.

Worklog lists what I’ve done, Backlog what is yet to be done.


Goal

Qluster is being created as an R&D project by Johan with the final goal of allowing various projects to be hosted in the same cluster. The means splitting the maintenance and server-capacity overheads while keeping the projects properly separated in regard to cluster load, security, errors, logging, etc. Other goals include increasing kubernetes experience, both of Johan (by creating the cluster) and in general (by providing a sandbox).


Alternatives

As part of the setup process I researched a lot of methods of doing multi-tenancy in kubernetes. You can review my conclusions about the alternatives here.


Current focus

  • connecting Qluster to Enrises LDAP server via Dex and Gangway

Worklog:

| Use multi tenancy for homepage project

Until this point, the homepage about the multi-tenant cluster was running in the multi-tenant cluster without using the multi-tenant functionality :-P. Now, I have created a “homepage” tenant, with a non-cluster-admin user (myself) as the owner. As this user I have created a homepage namespace and a “deployer” service account, that only has access to the homepage namespace. The kubeconfig of this deployer serviceaccount is used in the Gitlab pipeline.
Read more →

| Upgrade cluster to 1.19

Digital Ocean warned that an auto-upgrade to 1.19 could not be performed for various reasons, e.g. “Validating webhook with a TimeoutSeconds value greater than 29 seconds will block upgrades.” and others. I tried applying temporary, manual changes to Capsule and Nginx’s webhooks, but soon realised that the changes would make either non-functional during the upgrade, so I might as well delete them and re-deploy them after the upgrade. If you are reading this, it worked :-P

(also upgraded various build tools)

| Statische homepage gevuld

Origineel stond dit allemaal hier: https://pad.riseup.net/p/qluster-keep

| Statische homepage gebouwd

Na klein testje met Eleventy toch voor Hugo gegaan, omdat het meer structuur gaf en minder in het javascript ecosysteem haakte.

| Qluster bereikbaar gemaakt op domeinnaam

Cluster “root” subdomein: https://qluster.enriseblack.com/

Wildcard ingesteld voor alles daaronder, dus Tenants kunnen zonder extra moeite dit aanmaken: http://subdomain.qluster.enriseblack.com/