From building your own cluster to running cloud-native applications with Kubernetes, this workshop covers it all using engaging examples and activities
▶What You Will Learn
⦁ Get to grips with the fundamentals of Kubernetes and its terminology
⦁ Share or store data in different containers running in the same pod<
⦁ Create a container image from an image definition manifest
⦁ Construct a Kubernetes-aware continuous integration (CI) pipeline for deployments
⦁ Attract traffic to your app using Kubernetes ingress
⦁ Build and deploy your own admission controller
▶Key Features
⦁ Explore the Kubernetes environment and understand how containers are managed
⦁ Learn how to build, maintain, and deploy cloud-native applications using Kubernetes
⦁ Get to grips with using Kubernetes primitives to manage the life cycle of a full application stack
▶Who This Book Is For
Whether you are new to the world of web programming or are an experienced developer or software engineer looking to use Kubernetes for managing and scaling containerized applications, you'll find this workshop useful. A basic understanding of Docker and containerization is necessary to make the most of this book.
▶What this book covers
- Chapter 1, Understanding Kubernetes and Containers, begins with containerization technologies as well as various underlying Linux technologies that enable containerization. The chapter ends by introducing Kubernetes into the picture, while laying out the advantages it brings to the table.
- Chapter 2, An Overview of Kubernetes, gives you your first hands-on introduction to Kubernetes and provides an overview of the architecture of Kubernetes.
- Chapter 3, kubectl – the Kubernetes Command Center, lays out the various ways of using kubectl while underlining the principle of declarative management.
- Chapter 4, How to Communicate with Kubernetes (API Server), dives into the details of the Kubernetes API server and the various ways of communicating with it.
- Chapter 5, Pods, introduces the basic Kubernetes object used to deploy any application.
- Chapter 6, Labels and Annotations, covers the basic mechanism used in Kubernetes to group, classify, and link different objects.
- Chapter 7, Kubernetes Controllers, introduces various Kubernetes controllers, such as Deployments and StatefulSets, among others, which are some of the key enablers of the declarative management approach.
- Chapter 8, Service Discovery, describes how you can make different Kubernetes objects discoverable within the cluster as well as from outside the cluster.
- Chapter 9, Storing and Reading Data on Disk, explains the various data storage abstractions offered by Kubernetes to enable applications to read and store data on disks.
- Chapter 10, ConfigMaps and Secrets, teaches you how to decouple application configuration data from the application itself, while looking at the advantages of taking this approach.
- Chapter 11, Build Your Own HA Cluster, walks you through setting up your own highly available, multi-node Kubernetes cluster on the Amazon Web Services (AWS) platform.
- Chapter 12, Your Application and HA, lays out some concepts behind continuous integration using Kubernetes and demonstrates a few of them using a highly available, multi-node, managed Kubernetes cluster running on Amazon Elastic Kubernetes Service.
- Chapter 13, Runtime and Network Security in Kubernetes, gives you an overview of the ways in which your application and cluster can be attacked, before covering the access control and security features offered by Kubernetes.
- Chapter 14, Running Stateful Components in Kubernetes, teaches you how to properly use different Kubernetes abstractions to reliably deploy stateful applications.
- Chapter 15, Monitoring and Autoscaling in Kubernetes, covers the ways in which you can monitor different Kubernetes objects and then use that information to scale the capacity of your cluster.
- Chapter 16, Kubernetes Admission Controllers, describes how Kubernetes allows us to extend the functionalities provided by the API server to implement custom policies before a request is accepted by the API server.
- Chapter 17, Advanced Scheduling in Kubernetes, describes how the scheduler places pods on the Kubernetes cluster. You will use advanced features to influence scheduler placement decisions for the pods.
- Chapter 18, Upgrading Your Cluster without Downtime, teaches you how you can upgrade your Kubernetes platform to a newer version without suffering any downtime for your platform or application.
- Chapter 19, Custom Resource Definitions in Kubernetes, shows you one of the main ways in which to extend the functionalities provided by Kubernetes. You will see how custom resources allow you to implement concepts specific to your own domain on your cluster.