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

Summary

In this chapter, we learned how GitOps works and how you can implement GitOps using GitHub Actions and Flux. Flux could be useful to automate your deployments on an edge environment, using a single Git repository. For this, we learned how Flux can implement GitOps to update your applications at the edge using the HelmRelease object and the image updater feature. Flux can manage your application cluster without using an external way to expose the Kubernetes API of your cluster, which is the case with tools such as Argo CD. This can be translated into cost savings and a more effective tool for edge environments using ARM devices. Argo CD, on the other hand, doesn’t support ARM and needs a way to expose your Kubernetes API from your cluster to connect the cluster to Argo CD using a public load balancer or a virtual machine on the internet. In the next chapter, we are going to learn how to add basic observability and traffic splitting to your applications using Linkerd.

...