June 14, 2024

SpinKube and Flux automated, on Kubernetes 1.30

Sohan Maheshwar Sohan Maheshwar

spinkube kubernetes flux

SpinKube and Flux automated, on Kubernetes 1.30

I recently had the chance to chat with Kingdon Barett, one of the core maintainers of the FluxCD project, on Live Code Tuesday - our weekly livestream. Kingdon showed us a demo of Flux 2.3 and SpinKube automated on Kubernetes v1.30.

For context - SpinKube, a new entrant to the CNCF landscape, is an open-source project that streamlines developing, deploying and operating WebAssembly workloads in Kubernetes. Flux is a CNCF graduated project that is a set of continuous and progressive delivery solutions for Kubernetes that are open and extensible. You can describe the entire desired state of your system using Git including apps, configuration, dashboards, monitoring, and everything else.

Speaking of Git…

Use GitOps to Manage and Automate Deployments

To quote Kingdon, GitOps is for putting your workloads on Kubernetes, and storing them in Git. There’s more to just that though as Kingdon also demonstrated the use of Helm and Kustomize within the orchestration of deployments. Here’s a clip describing it:

For the demo, Kingdon had prepared Flux resources on a pre-staged commit. The idea was to tear the entire cluster down, bootstrap it and then step through it again. That’s the good part of doing Continuous Deployment (CD) demos - if something goes wrong, it should (ideally!) be up and running again 😄

Kingdon had a simple Spin app installed on the cluster. For the User Interface, he used a UI called Capacitor - which is a general purpose UI for FluxCD. We also got a glimpse of the Cozy Stack, a platform that brings all the services needed for a modern web app stack. It’s based on the Talos Linux, a secure, immutable, and minimal Linux distro designed for Kubernetes.

Here’s the livestream in it’s entirety. (Spoiler alert: The cluster did come back up without too much of a hitch!)

Don’t Try This At Home

You can try this example out on your own cluster. The requirements are:

  • A K8s cluster with a k3d image and the containerd-shim-spin
  • The kwasm-operator or the runtime-class-manager

Here’s the repository with more detailed instructions on how to get it running in your cluster.

Shoutout to Kingdon for being such a knowledgeable and affable guest on our show, and don’t forget to subscribe to our YouTube channel and join us for our weekly streams on Live Code Tuesday.




🔥 Recommended Posts

Quickstart Your Serveless Apps with Spin

Get Started