An overview of this platform on a local installation

“KubeSphere is a distributed operating system for cloud-native application management, using Kubernetes as its kernel. It provides a plug-and-play architecture, allowing third-party applications to be seamlessly integrated into its ecosystem”. (from

In this first article we will:

  • introduce the KubeSphere platform and its main functionalities
  • install a local Kubernetes cluster and KubeSphere inside of it using the KubeKey installer

This local installation will not allow you to play with all the features of KubeSphere but it will definitely help to have a better understanding of the platform and of all the interesting functionalities it offers.

About Kubesphere

KubeSphere is a container…

Learn, share, improve, repeat…

Photo by Nick Morrison on Unsplash

In a world changing so fast you need to be ready for a future than can be full of surprise (some good, some not so good, some really bad):

  • one day your employer might not need you anymore and ask you to leave
  • the technology you’ve been working on for years could become obsolete before you realize it
  • you’re getting old (not really a surprise though…) and need to compete with younger and more up to date professionals

In that perspective it’s very important to continuously improve so when something comes into your way you can overcome it more easily.

…and use it to deploy a Compose application right into K8s

Docker Compose is a great tool from Docker, it is used by millions to deploy and manage multi-containers applications. Docker Compose is basically 2 things:

  • The Compose file is a specification in yaml (named docker-compose.yaml by default) that Docker Compose takes as input. This file defines the components of a containerized application and how they are connected together. It should be written according to the Compose specification whose details are available in this repository
  • Docker Compose is the tool that processes this Compose file: it checks that it is written according to the Compose specification and deploys the application components

Different ways to build container images

Photo by Debby Hudson on Unsplash

In 2015 Docker and some other leaders in container technologies created the OCI (Open Container Initiative) to define :

  • the Image Specification: how a container image must be structured
  • the Runtime Specification: how a container must be run from an Image Specification

The commanddocker image build is probably the best known to create a container image. However on top of Docker there are other tools that know how to build an image (how to structure its filesystem and provide the associated metadata) so that it conforms to the image specification.

In this article we will illustrate the usage of 3…

Overview of the enhancements made to this demo application

Photo by Joanna Kosinska on Unsplash

As I used (and will use) the VotingApp in other articles to illustrate different kind of container’s related technologies, I will present here the whole application and the enhancements that have been done recently. I’ll just reference this article from other ones to avoid too much duplication.

The VotingApp is a demo microservices application created by Docker, it is mainly used to illustrate Docker and Kubernetes functionalities. Basically, it allows a user to vote from a web interface and to see the results from another one.

Run containers with an added layer of security

Photo by Michael Dziedzic on Unsplash

When I deliver Docker trainings, I usually provide each participant an Ubuntu VM and ask them to install Docker using the following command:

$ curl -sSL | sh

The output of this command has slightly changed with Docker 20.10 as it now provides information on how to run Docker in rootless mode, which means having a Docker daemon running with the current user instead of root. In this article we will see how this can be done and what this implies.

Running a rootless Docker daemon

Using Multipass we create a Ubuntu VM named docker and get a shell in that one:

$ multipass…

Running single or multi-node k0s clusters the easy way

Photo by Vladimir Mokry on Unsplash

A lot has happened in the k0s environment since I wrote my first article about k0s a couple of months ago. In this new article, we will first show the simplified setup of a single node cluster, next we will illustrate the usage of k0sctl, a k0s’ companion tool which sets up a multi-nodes cluster in a very easy way.

Creation of a single node cluster

k0s make the creation of a single-node cluster even more simple thanks to the introduction of a --single flag in version 0.12. …

Let’s see how k0s makes the Air-Gap installation an easy process

Photo by Kabiur Rahman Riyad on Unsplash

🔥 Following several comments I had on LinkedIn, I must emphasize this article only covers a very simplified way to perform an air gap installation. It is not for sure a complete guide to setup a resilient / secure / observable / upgradable production cluster.

In companies with high security constraints, it might be needed to install a Kubernetes cluster on machines without any internet access. …

Focus on the application and forget about Kubernetes internals

Photo by Joan Gamell on Unsplash

If you are a developer, chances are you have already been asked to deploy your applications on a Kubernetes cluster. You have probably figured out this is not an easy task, especially if you don’t know Kubernetes that much. Kubernetes is a huge beast, and knowing how to define (YAML all the way) and manipulate the basic resources it offers (Pod, Deployment, Service, ConfigMap, Secret, …) is not straightforward, left alone the more advanced resources (NetworkPolicies, RBAC related ones, …).

Today there is no doubt Kubernetes is the solution of choice to run containerized applications. But, as a developer, most…

Luc Juggery

Docker & Kubernetes trainer (CKA / CKAD), 中文学生, Learning&Sharing

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store