The Kubernetes ETCD database can be easily backup and restored by using the etcd commands such as etcdutl or etcdctl. However there are no proper documented procedure on how to restore the control planes together with the ETCD. There are many posts out there but none of them solve my problem. In the past, I spent amount of time to recreate the entire Kubernetes cluster because I was not able to properly bring up the Kubernetes cluster due to unforeseen problems, with ETCD restored. This is the first time I managed to recover my Kubernetes cluster without rebuild the entire cluster. Let’s take a look how this can be done.
We are going to learn how to deploy and configure Fluent Bit (a sub-project of FluentD) to capture the Nginx Ingress Controller logs on Kubernetes and stream the formatted logs to ElasticSearch. We can then perform the logs analytics using Kibana.
Let’s look at how can we quickly deploy a standalone ElasticSearch and Kibana using Docker Compose to start monitoring application and system logs
There are a few approaches to expose your applications to the world outside of Kubernetes cluster. One of them is using Ingress Controller. We are going to learn how can we use Nginx Ingress Controller to expose container applications running on top of Raspberry Pi Kubernetes cluster.
In a perfect world, we would prefer to implement microservices to be stateless. This stateless approach eliminates a lot of problems towards maintaining the storage for the applications data. However, we are not in a perfect world. At most time, applications need to deal with data and keep them on storage for long term references. We need persistent storage solution so that the applications data can survive containers (or systems) restart or crash. Kubernetes provides this type of storage support in the concept of volumes. We are going to look at how can we configured storage for Kubernetes on Raspberry Pi 4.