An example using Rancher’s RKE clusters

Image for post
Image for post
Photo by Simone Hutsch on Unsplash

In a previous article, I explained the role etcd plays in a Kubernetes cluster.

We saw examples of the information etcd contains, the different ways it can be installed (inside or outside of the cluster), and how the etcd nodes exchange information through the Raft distributed concensus algorithm. All of that makes etcd a vital component of a Kubernetes cluster.

In today’s article, we will use Rancher’s RKE clusters and see how we can backup etcd from one cluster and restore it in the other one. …

Getting started with Meshery

Image for post
Image for post
Photo by Ricardo Gomez Angel on Unsplash


There are a lot of service mesh solutions out there (Istio, Linkerd, Consul, Maesh, just to name a few). When it comes to choosing the one that best fits our needs, in terms of performance/overhead/usage, the selection can be quite hard. Meshery will help you in the selection process by making it super easy to deploy, manage, and evaluate the different solutions.

This article is divided into the following sections that illustrate step by step how to get started with Meshery:

  • Quick introduction to service mesh
  • Overview of Istio
  • About Meshery
  • Create a Kubernetes cluster
  • Run Meshery
  • Deploy a sample…

See how “kubectl run” has been modified in this new release

Image for post
Image for post

Kubernetes 1.18 was released at the end of March 2020. Among all the changes/fixes/enhancements that came with this release, we will focus on the kubectl run command that was quite painful to use until now.

Imperative vs. Declarative

There are two ways to create resources in a Kubernetes cluster: the imperative and the declarative ones.

The declarative approach is used to create resources from manifest files (usually in YAML) using the kubectl apply command. This is the approach used in a production environment.

The imperative way is used to manage resources using several distinct commands and do not requires any manifest files.

This is absolutely not the approach to use in production but it’s very handy to go fast, test things up, and it can also help to generate manifest files (using a combination of the --dry-run and -o yaml flags). …

Let’s get an overview of this great CNCF’s projet

Image for post
Image for post


In this guide, you will use Rook to setup Ceph storage within a Kubernetes cluster. You will then use Ceph’s block storage to persist data for a MongoDB database.

When you’re finished, you’ll know what is Rook and how to use it to deploy Ceph. You will also understand how to use Rook to deploy some other storage backends within Kubernetes.


Before you begin this guide you’ll need the following:

  • A Kubernetes cluster with 4 nodes: 1 master and 3 workers. Each node is an Ubuntu 18.04 server with at least 4GB of RAM. In this tutorial we use a cluster created on DigitalOcean’s with the official kubeadm tool. …

Let’s get one from K8Spin to run my application

Image for post
Image for post
K8Spin provides namespaces to run your workloads


You have developed a great application and it’s ready to be deployed on a Kubernetes cluster. You are looking for a cloud provider to spin up a new cluster, but… wait… why are you using a whole cluster when all you need is a namespace? In this article we will show how to get a Kubernetes namespace from K8Spin and deploy an application inside of it.

About K8Spin

K8Spin is a company based in Spain, and it has a great approach allowing users to create Kubernetes namespaces to deploy their applications. K8Spin manages all the underlying components for you.

Image for post
Image for post
Managed Kubernetes solution vs K8Spin Cloud

The namespaces are isolated from each other through the usage of…

Understand disk space usage and reclaiming the unused part

Image for post
Image for post
Source: Xmodulo on Flickr

In this piece, we’ll go back to basics. We will look at how Docker uses the disk space of the host machine and how to reclaim it when it is not being used anymore.

Image for post
Image for post

Overall Consumption

Docker is great, there’s no doubt about that. A couple of years ago, it provided a new way to build, ship and run any workloads by democratizing the usage of containers and hugely simplifying management of their lifecycle.

It also brought the developer the ability to run any applications without polluting the local machine. …

Overview of the main concepts from the technical preview

Image for post
Image for post

UPDATE Mars 27 2020: the following article was written when the first version of JetSteam’s technical preview was released. A lot of changes have been made since them. This article will stay there for historical purposes, but a new version will be written soon when JetStream turns GA. Stay tune :)

The main concepts

In a previous post we presented NATS Steaming and illustrated some of its features on a simple, IoT based, use case. …

Illustration with an IoT use case

Image for post
Image for post

NATS Streaming, also know as STAN, adds additional features on top of NATS. In this post we will present some of them on a demo project.

A Gentle introduction

When core NATS is a great solution when there is tolerance for message loss or when applications themselves handle message delivery, NATS Streaming is great when we need message persistency and to make sure no messages are lost. For instance, it’s a good candidate in case a consumer must receive messages published when it was not online.

From an architecture point of view, NATS Streaming server is a NATS’ client which adds persistence, message replay and durable subscriptions to NATS. A NATS Streaming’s client is an application which communicates with the NATS Streaming server through NATS. …

Several options to start playing with K8s in no time

Image for post
Image for post

It’s really easy to get a Kubernetes cluster online as almost each cloud provider offers its own solution (Google GKE, Amazon EKS, Microsoft AKS, DigitalOcean DOKS, Civo Kubernetes, …). As sometimes we just want to play locally this post lists some of the main options available for this usage.

Quick notes

To access a Kubernetes cluster from our local machine we first need to install and configure kubectl, the command line tool used to send request to the cluster’s API Server. …

A simple example using 3 Ubuntu VMs

Image for post
Image for post

Running a NATS server is really straightforward, it can be done either directly from the Go binary or through the official container image. Setting up a NATS cluster requires to run a first NATS server and then join additional ones to form the cluster. In this short post we will illustrate the setup of a 3 nodes cluster, each server running on a dedicated virtual machine.

Spinning up 3 VMs

First, to keep things simple, we create 3 VMs locally using Multipass.

Note: depending upon your OS, Multipass uses Hyper-V, HyperKit, KVM, or VirtualBox natively for the fastest startup time. …


Luc Juggery

#DockerCaptain #Startups #Software #中文学生 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