Hello friends!
Ivan's here with a traditional monthly update. This time, I've got just one topic, but I'm rather excited to talk about it! 🤩
After a year of (sporadically) posting videos of my secret Kubernetes UI, I'm finally ready to share an MVP with you! Since yesterday, every Kubernetes playground on iximiuz Labs has gotten a new "Explorer" tab, which you can use to access the buggy shiny new piece of UI.
What this new Kubernetes Explorer is for?
Primarily, it's for learning and developing apps on Kubernetes. By no means it's yet another dashboard to manage production clusters. Instead of dumping on you a bunch of boring tables and a myriad of gauges showing the number of unready Deployments and failed Pods, I wanted to build a tool that would visualize Kubernetes objects and their relationships, do it in real-time and help you focus on the right parts of the otherwise overwhelming graph 🧐
Let me show you an example.
I still remember the time when I had to mess with Istio on a daily basis. Istio maintainers do herculean work, providing sample applications to illustrate various aspects of the service mesh functionality. Having these apps available is very helpful for understanding Istio, but since they are meant to illustrate complex concepts like retries, load balancing, and traffic shifting, understanding the apps in the first place can already be a challenge.
For instance, it's easy to follow the Getting Started guide, but do you really know what the Bookinfo app looks like in the end?
Let's see how we can wrap our heads around the Bookinfo app faster using the new Kubernetes Explorer.
The tool is structured like a typical IDE - with a dynamically updating tree view on the left and a built-in web terminal to manipulate your cluster(s) objects. It's reasonable to expect that the Bookinfo app includes at least one Deployment, but can we know its exact constitutes?
All right, it was easy to figure out what Deployments are there in the Bookinfo app. But it's unlikely that the Deployments are the only created objects. Of course, you can go and query Pods, Services, and the like, but can we somehow figure out the involved objects faster?
Using a smart "Related objects" watch preset, we can quickly get a graph of all objects with relation to the selected Deployment (or rather, to any other currently selected object). I have yet to describe the complete graph in the code, but at the moment, you can already see that a Deployment has a connection with one or more Pods running on a Node using a ServiceAccount, possibly exposed by a Service, using several Secrets and ConfigMaps, etc. Make sure you watched the above video - it illustrates the idea much better than any words.
A graph of related objects is helpful, but sometimes it's not exactly what you need. Filtering some "noise" (Namespace, Nodes, Events, etc.) can help improve the visual structure, and picking a Service (instead of a Deployment) as the target object can do wonders for more complex apps. Just check out another recording 😉
Observing objects created, updated, or deleted in real-time is fun, but it also can help understand the dynamics of the application. The next video shows an example of what a Deployment scaling might look like, but there are definitely more use cases for it - I'm especially looking forward to trying it with Kubernetes controllers/operators. Note the color coding in the video - most of the objects are blue-ish, but just-created objects are green, recently updated objects are yellow, and deleted objects are red.
Cannot tell about you, but I definitely became much more familiar with the structure of the Bookinfo app after playing with it in the Kubernetes Explorer. And I grasped the top-level structure literally in no time - thanks to the "Related objects" and "Application" presets.
First off, I'd like to pause the active development for a few weeks and shift the focus to content production. I have a ton of blog posts, tutorials, and mini-courses ideas where the new Kubernetes Explorer will be of huge help for both the author and the students. After that, there are a few key areas of the Explorer where I'd love to invest time:
The development of the explorer has been challenging but rewarding. I'm not afraid of any technical challenges, and I have all the plans to continue the work. However, I cannot call the way it was done so far sustainable - it has all been done in my free time and often at the expense of other important activities. I'm actively looking for ways to fund my work on iximiuz Labs, so if you like this new tool and the platform and want to contribute to their success, please consider becoming a Patron.
Cheers
Ivan
P.S. Patreon membership of this kind is likely reimbursable if your company has a "learning and development" budget.
Building labs.iximiuz.com - a place to help you learn Containers and Kubernetes the fun way 🚀
Hey, fellow server dweller 👋 Ivan here with an exciting iximiuz Labs update! The month isn't over yet, so it's not quite time for the traditional monthly roundup. However, there have been so many updates on the platform in the past couple of weeks that they couldn't possibly fit into a single email. So, let's dive in 🚀 Backend Revamp: Faster, Smarter, Stronger Over the past few weeks, I rolled out a significant backend rewrite at iximiuz Labs, and I couldn't be more excited to share the...
Hello 👋 Ivan's here with November's roundup of all things Linux, Containers, Kubernetes, and Server Side 🧙 What I was working on This month was (extremely) development-heavy. Two-thirds of it went into the implementation of custom playground machinery and a new Kubernetes "Omni" playground, and in the last part, I was unexpectedly busy with expanding the platform's capacity and launching a new server in India 🎉 The latter became possible thanks to the support of all of you who got the premium...
Hello, fellow server dweller 👋 I've got two exciting announcements to make. Starting with the shorter one, this year, I decided to give Black Friday a try. This is an experiment - iximiuz Labs hasn't done sales before and won't have any in the foreseeable future, at least not until next November. So, if you wanted to get a premium membership but the price felt too high, this is your rare chance to get it with a 50% discount. The offer is limited to exactly one week. Now, to the second, much...