Book Image

Serverless Architectures with Kubernetes

By : Onur Yılmaz, Sathsara Sarathchandra
Book Image

Serverless Architectures with Kubernetes

By: Onur Yılmaz, Sathsara Sarathchandra

Overview of this book

Kubernetes has established itself as the standard platform for container management, orchestration, and deployment. By learning Kubernetes, you’ll be able to design your own serverless architecture by implementing the function-as-a-service (FaaS) model. After an accelerated, hands-on overview of the serverless architecture and various Kubernetes concepts, you’ll cover a wide range of real-world development challenges faced by real-world developers, and explore various techniques to overcome them. You’ll learn how to create production-ready Kubernetes clusters and run serverless applications on them. You'll see how Kubernetes platforms and serverless frameworks such as Kubeless, Apache OpenWhisk and OpenFaaS provide the tooling to help you develop serverless applications on Kubernetes. You'll also learn ways to select the appropriate framework for your upcoming project. By the end of this book, you’ll have the skills and confidence to design your own serverless applications using the power and flexibility of Kubernetes.
Table of Contents (11 chapters)
2. Introduction to Serverless in the Cloud

Introduction to Virtual Kubelet

Virtual Kubelet is an open source implementation of Kubernetes' kubelet that acts as a kubelet. This is a sandbox project from the Cloud Native Computing Foundation (CNCF), and the first major version (v 1.0) of Virtual Kubelet was released on July 8, 2019.

Before diving further into Virtual Kubelet, let's recap what a kubelet is in the Kubernetes architecture. A kubelet is an agent that runs on each node in a Kubernetes cluster and is responsible for managing pods within the nodes. A kubelet takes instructions from the Kubernetes API to identify the pods to be scheduled on the node and interacts with the underlying container runtime (for example, Docker) of the nodes to ensure that the desired number of pods are running and that they are healthy.

In addition to managing pods, the kubelet performs several other tasks:

  • Updating the Kubernetes API with the current status of the pods
  • Monitoring and reporting node health metrics...