Kubernetes clusters
ownpaas runs Kubernetes clusters with Cluster API: a small management cluster creates, updates and deletes the workload clusters your apps run on. The app reads both through the Kubernetes API and runs every multi-step operation through the bundled ownpaas-mgmt command, showing each step as it happens.
The management cluster
Section titled “The management cluster”The Kubernetes group appears in the sidebar once a management cluster is connected. You can:
- create one in the lab on your Mac, for labs and demos;
- create one that is always on: on a Linux server of your own or in your cloud account. Clusters in the cloud need an always-on management cluster, and the app shows a warning while there is none;
- connect an existing one with Add Management Cluster… in the scope switcher.
Creating a cluster
Section titled “Creating a cluster”Create Cluster… offers two shapes:
| Shape | What you get |
|---|---|
| single node | one k3s node on one server. Small and cheap; good for a staging app or a small production app |
| from the cluster template | a k3s control plane and worker pools, a load balancer for ingress, DNS. Scale and upgrade by rolling the nodes |
The progress view shows each step, its duration and the log. Quitting the app does not stop an operation; it is found again at the next launch, and a stopped one can be resumed.
Access
Section titled “Access”The cluster’s Access tab has the API endpoint and the kubeconfig: Copy, Save…, and Add to kubectl (adds a context without changing your current one). Hand to Agent gives your coding agent this cluster’s kubeconfig, never the management cluster’s.
Apps and platforms
Section titled “Apps and platforms”The Apps list shows what runs on each cluster: apps defined as SaaSApplication resources and apps delivered by Flux. For each app it shows the status, the URL, the release and the age of the last database backup. Back Up Now, Reconcile Now, Suspend and Resume are one click each. In lab clusters you can create and edit apps in a form; clusters managed through git are read-only in the app for now.
A platform is the set of components a cluster gets so apps can run on it (ingress, certificates, databases, backups, monitoring). Install Platform… puts one onto a cluster.
Backups and updates
Section titled “Backups and updates”- Backups lists the cluster’s etcd snapshots and the backups of the management cluster. Snapshot Now takes one. Restoring a cluster is a documented procedure, not a button.
- Updates lists the k3s and OS versions available for the cluster. Update… checks first and then updates node by node.
What is not there yet
Section titled “What is not there yet”- moving a cluster between management clusters, and between your Mac and the cloud, with Cluster API (planned; see Move to Cloud)
- writing app changes to git from the app
- cordon, drain and replace on the Nodes tab
- links to a cluster dashboard and to Grafana