Kubernetes (or K8s, if you want to be cool) is currently one of the fastest growing technologies in the world of open source. These days the technology in, and associated with, Kubernetes seems almost endless – and the innovation comes just as fast. Kubernetes was first introduced in 2014 as a brainchild of the citizens and people of Google-landia. 2017 saw Kubernetes start to take off in popularity largely due to an incredibly loyal following of contributors, and by 2018, Kubernetes was looking like a de-facto standard for container orchestration. As of recent, Kubernetes has seen advances in flexibility, governance, storage, and security. As with all things open source, you can just download it from the internet, too – what a time to be alive!!!
This blog post is meant to be a guide to anyone debating if they want a Kubernetes distribution. In this post, I’ll go into a brief overview of community – or vanilla – Kubernetes, and what a distribution is. Next we’ll talk about why you might need a distribution and then look at an example of a distribution.
Fun fact: The nickname “K8s” follows the shorthand form used for “internalization” and “localization” which are often abbreviated to “i18n” and “l10n” (first letter, number of letters in between, last letter). Thus, “K8s” was born. See? Not so complicated.
You may have heard this phrase before. “Vanilla Kubernetes” is often used to describe straight-up Kubernetes, as developed and released by its open source community. You know, the one you can just go to GitHub and download. If you’re kicking the tires on Kubernetes, you may have already done this. When you download Kubernetes from GitHub, you don’t lose or gain any kind of special functionality – you get all the benefits – and downsides (we’ll get into that in a second) – that you would expect from any open source project. As stated, if you’re just starting to poke around with Kubernetes on your own, downloading Kubernetes from GitHub could be a good idea – just be aware that it is very complex in its own right so don’t get discouraged if you don’t get the hang of it as fast as you may have been expecting. Community Kubernetes is free, it works, and it might do the trick for educational and exploration purposes. If you haven’t downloaded, “Vanilla Kubernetes” yet, I suggest you do it – it’s pretty cool and you won’t be sorry.
Enter the distributions
So you’ve downloaded, “Vanilla Kubernetes.” You’ve decided it’s what you need to learn about the wonderful world of Kubernetes, and now you’re looking for a bit more. You’ve brought it up with your boss or peers and your company is getting ready to adopt the technology. Not so fast though – you want someone to stand behind that technology, so when something goes wrong there’s someone to help you. Besides, if you haven’t figured it out by now, Kubernetes can get a little complicated. Fixing those hiccups might not be simple. And Kubernetes itself is only a small portion of the picture. In order to create a successfully running container environment, you need a bunch of different technologies including a container runtime, a container execution environment, container security technologies, platform management – you get the idea. You could absolutely assemble all of these on your own, but that would take time to learn all of the different technological pieces, pick out the right ones for you, ensure compatibility with your existing technologies, and to become an expert at the technologies so you can support others using them. So much time, in fact, that there are entire companies that dedicate themselves just to doing this. To that end, you might want to look at a distribution next. Having a distribution can will save you time, and time is money.
What is a distribution?
There are a lot of distributions out there and they each bring different combinations of technologies and services to the table. You might best think of Kubernetes distributions as “suites, or collections, of Kubernetes and Kubernetes related technologies and services.” Sometimes those suites – or collections – of technologies will overlap and sometimes they won’t. For example, a couple of distributions are adopting the open source container runtime CRI-O, and some aren’t. Some distributions include a container specific OS and some don’t. Some of the companies behind those Kubernetes distributions will even help you install and get their distribution up and running and some won’t. In the best of these curated collections, all of the different parts are rigorously tested for interoperability to ensure that they work well together. The key for you is finding a distribution that provides the right mixture of technologies and services that will work best for you and your needs. Again, a Kubernetes distribution can be seen as a collection of Kubernetes and related technologies and services that you will ultimately need to use together if you want to deploy and use containers. Picking the right “collection” for you can be a little tricky in itself, but most companies are more than willing to tell you why their distribution might suit your needs and to assist you in your decision making process.
Let’s check out an example
Since this is a SUSE blog, let’s check out SUSE CaaS Platform as an example. SUSE CaaS Platform is SUSE’s Kubernetes distribution. Like other Kubernetes distributions, it is a curated collection of many technologies. To visually see what I’m talking about let’s check out our CNCF Landscape from last year’s KubeCon in Seattle, below and hyperlinked. Highlighted within this map are all the technologies that SUSE bundled together to create SUSE CaaS Platform at the time of KubeCon Seattle.
It is important to note that the collection of projects included in SUSE CaaS Platform does change from time-to-time, as SUSE is constantly monitoring the best projects to use in our distribution. We’ll be unveiling a new map at KubeCon Barcelona next week – expect to see it on our website shortly after.
As mentioned, you absolutely could build a complete Kubernetes environment yourself but as you might notice, it would take a little bit of time.
SUSE also provides support and other services to help our customers become successful with SUSE CaaS Platform. The SUSE Services team is dedicated to ensuring that you can use our technology to its fullest extent, giving you someone to call on for help when you need it. SUSE also offers a complete roadmap for the implementation of SUSE CaaS Platform as well. That means you can have knowledgeable and dedicated experts guide you from your exploration at day one through successfully implementing and running SUSE CaaS Platform inside your ecosystem. SUSE is a Kubernetes Certified Service Provider too, so you can rest assured that you are in good hands.
Want to learn more about our Kubernetes distribution? Check us out at KubeCon!
If you want to learn about SUSE CaaS Platform, you might want to consider dropping by our booth (P15) at KubeCon Barcelona to talk to us in person about your needs for a Kubernetes platform and how we might be able to help out. Not going to KubeCon Barcelona? Check out the SUSE CaaS Platform webpage to talk to someone from SUSE.