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. …
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:
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.
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
-o yaml flags). …
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:
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.
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.
The namespaces are isolated from each other through the usage of…
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.
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. …
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 :)
In a previous post we presented NATS Steaming and illustrated some of its features on a simple, IoT based, use case. …
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.
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. …
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.
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.
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. …