Create Your Own Server Playgrounds (and Black Friday deal)


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 more technical, announcement ๐Ÿš€

Custom playgrounds come to iximiuz Labs

I often use iximiuz Labs playgrounds in my day job. For instance, with my current focus on producing high-quality container images, I might spin up an ephemeral VM with Docker to try building someone else's Dockerfile. Playgrounds boot almost instantly and come with batteries included, so it's as handy as building that Dockerfile locally, and it also reduces the risk of compromising or breaking my primary system(s).

However, a steady percentage of my use cases require additional setup. For instance, I often need some image-scanning tools in the playground that are too specific to make them part of the "standard" suite, but installing them on every boot is pretty annoying. Or I might be dealing with a certain Helm chart, but manually applying it at every start is a little (too) tedious.

Every time I'd perform the same playground setup two or more times in a row, the "cloud-init" word would start ringing in my head.

What if there was an easy way to add a setup script to an off-the-shelf playground to install and/or configure extra software tailored for a specific problem and then persist the result as a reusable template?

Meet labs.iximiuz.com/playgrounds/new!

โ€‹

The implementation took me much more effort than I'm willing to admit, but now it's possible to create new iximiuz Labs playgrounds in a matter of seconds. Just check out the video.

Share your custom playgrounds with the world

After adding the support of custom init scripts (and tabs), making the resulting playgrounds sharable became the natural next step. Such playgrounds can be used for:

  • Demos - create a sample setup and include it in your blog post or "take it with you" to a conference (and forget about the cranky demo gods).
  • Collaboration - illustrate your problem or a design idea to your colleagues and friends (with a shareable link).
  • Workshops - give all your students an identical starting point for a lesson or a home assignment (potentially restricting access to a limited number of users).

Here are two public custom playgrounds I prepared in almost no time:

The latter is particularly interesting because it demonstrates the usage of a custom default tab with a built-in web page. Should be particularly handy for embedding a piece of HTML (or markdown) documentation right into the playground.

New Kubernetes "Omni" Playground

Using the new setup script machinery and the (advanced) "init conditions" feature, I prepared a new iximiuz Labs official Kubernetes playground.

This playground is a multi-node cluster provisioned with kubeadm (yay, finally), and it comes with two tuning knobs:

  • Container runtime (containerd, cri-o)
  • Networking plugin (none, flannel, cilium).

Yes, you got it right - it's a 6-in-1 playground! You can use it as-is or clone it to create your own custom playground based on it. Honestly, I cannot think of a better way to prepare for CKA, CKAD, or CKS certification, so go give it a spin ๐Ÿงช

Wrapping up

I have been calling iximiuz Labs a platform since day one. It was definitely a platform for me because I used it for my own content production. But with the release of custom playgrounds, it became a true platform for everyone:

  • If you're writing posts on your own blog, you can prepare and link a playground for your readers to try out your examples.
  • If you need to illustrate your problem, you can use iximiuz Labs as a StackBlitz or JSFiddle-like service.
  • If you're teaching students or conducting internal workshops, you can prepare identical environments and scale them to dozens (or even hundreds) of people.

The latter is something I'm particularly interested in exploring deeper. Last month, there were a couple of successful experiments, and if you feel like becoming an early adopter, do reach out, and I might build something specifically for your needs.

Until next time,

Ivan

P.S. Don't forget - it's Black Friday ๐Ÿ˜Ž

Ivan Velichko

Building labs.iximiuz.com - a place to help you learn Containers and Kubernetes the fun way ๐Ÿš€

Read more from Ivan Velichko
Diagram showing desired network policy configuration between frontend and backend pods

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 ๐Ÿ‘‹ It's this time of the month again! My traditional roundup of all things Linux, Containers, Kubernetes, and Server Side, delivered straight into your inbox ๐Ÿ“ฌ What I was working on October was very productive for me - I shipped no major iximiuz Labs features (it's always hard to resist the temptation!) and instead dedicated all my available time to content work. The main focus was on Container Images. It's the subject of the first module of my "panoramic" Docker course, and it is almost...