Book Image

Kubernetes for Serverless Applications

By : Russ McKendrick
Book Image

Kubernetes for Serverless Applications

By: Russ McKendrick

Overview of this book

Kubernetes has established itself as the standard platform for container management, orchestration, and deployment. It has been adopted by companies such as Google, its original developers, and Microsoft as an integral part of their public cloud platforms, so that you can develop for Kubernetes and not worry about being locked into a single vendor. This book will initially start by introducing serverless functions. Then you will configure tools such as Minikube to run Kubernetes. Once you are up-and-running, you will install and configure Kubeless, your first step towards running Function as a Service (FaaS) on Kubernetes. Then you will gradually move towards running Fission, a framework used for managing serverless functions on Kubernetes environments. Towards the end of the book, you will also work with Kubernetes functions on public and private clouds. By the end of this book, we will have mastered using Function as a Service on Kubernetes environments.
Table of Contents (13 chapters)

Launching Kubernetes in AWS

There are several tools we can use to launch a Kubernetes cluster on AWS; we are going to be covering one called kube-aws. Unfortunately, kube-aws does not support Windows-based machines so the following instructions will only apply to macOS High Sierra and Ubuntu 17.04.

kube-aws is a command-line tool that is used to generate an AWS CloudFormation template, which is then used to launch and manage a CoreOS cluster. Kubernetes is then deployed to the cluster of CoreOS instances.

AWS CloudFormation is Amazon's native scripting tool and allows you to programmatically launch AWS services; it covers pretty much all of the AWS API. CoreOS is an operating system that is focused on one thing, running containers. It has an extremely small footprint and is designed to be clustered and configured on cloud providers out-of-the-box.