Book Image

Edge Computing Systems with Kubernetes

By : Sergio Méndez
Book Image

Edge Computing Systems with Kubernetes

By: Sergio Méndez

Overview of this book

Edge computing is a way of processing information near the source of data instead of processing it on data centers in the cloud. In this way, edge computing can reduce latency when data is processed, improving the user experience on real-time data visualization for your applications. Using K3s, a light-weight Kubernetes and k3OS, a K3s-based Linux distribution along with other open source cloud native technologies, you can build reliable edge computing systems without spending a lot of money. In this book, you will learn how to design edge computing systems with containers and edge devices using sensors, GPS modules, WiFi, LoRa communication and so on. You will also get to grips with different use cases and examples covered in this book, how to solve common use cases for edge computing such as updating your applications using GitOps, reading data from sensors and storing it on SQL and NoSQL databases. Later chapters will show you how to connect hardware to your edge clusters, predict using machine learning, and analyze images with computer vision. All the examples and use cases in this book are designed to run on devices using 64-bit ARM processors, using Raspberry Pi devices as an example. By the end of this book, you will be able to use the content of these chapters as small pieces to create your own edge computing system.
Table of Contents (21 chapters)
1
Part 1: Edge Computing Basics
7
Part 2: Cloud Native Applications at the Edge
13
Part 3: Edge Computing Use Cases in Practice

Installing Flux monitoring dashboards

Flux itself doesn’t include a graphical user interface for management but integrates some useful dashboards using Prometheus and Grafana to visualize the state of your deployments. These dashboards have to be installed on each cluster. To install this feature, follow the next steps:

  1. Configure the Git repository that contains monitoring stack definitions for its installation. The configuration will listen for changes every 30 minutes. The code is illustrated here:
    $ flux create source git monitoring \
    --interval=30m \
    --kubeconfig /etc/rancher/k3s/k3s.yaml \
    --url=https://github.com/fluxcd/flux2 \
    --branch=main
  2. Install kube-prometheus-stack, which is going to be used to configure Prometheus for your dashboards. This stack will be installed in the monitoring namespace. The code is illustrated in the following snippet:
    $ flux create kustomization monitoring-stack \
    --interval=1h \
    --kubeconfig /etc/rancher/k3s/k3s.yaml \
    --prune=true...