Book Image

Introduction to DevOps with Kubernetes

By : Onur Yılmaz, Süleyman Akba≈ü
Book Image

Introduction to DevOps with Kubernetes

By: Onur Yılmaz, Süleyman Akba≈ü

Overview of this book

Kubernetes and DevOps are the two pillars that can keep your business at the top by ensuring high performance of your IT infrastructure. Introduction to DevOps with Kubernetes will help you develop the skills you need to improve your DevOps with the power of Kubernetes. The book begins with an overview of Kubernetes primitives and DevOps concepts. You'll understand how Kubernetes can assist you with overcoming a wide range of real-world operation challenges. You will get to grips with creating and upgrading a cluster, and then learn how to deploy, update, and scale an application on Kubernetes. As you advance through the chapters, you’ll be able to monitor an application by setting up a pod failure alert on Prometheus. The book will also guide you in configuring Alertmanager to send alerts to the Slack channel and trace down a problem on the application using kubectl commands. By the end of this book, you’ll be able to manage the lifecycle of simple to complex applications on Kubernetes with confidence.
Table of Contents (11 chapters)

Scaling an Application in Kubernetes

There is a built-in way of scaling an application horizontally on a Kubernetes cluster. You can utilize the native Kubernetes resource deployment for scaling your application quickly. When you create a deployment object, you need to provide a value for the number of replicas. Once the deployment is applied to the cluster, it will generate a Replication Controller, which is responsible for controlling the number of replicas created by this deployment. Each replica represents a rod that includes the application containers. When you change this value for the number of replicas, it will be automatically reflected on the cluster, either by deleting the existing pods or by creating new ones. In this way, scalability is handled out of the box by Kubernetes.

While creating new pods, Kubernetes also ensures there are enough resources on nodes before scheduling a pod to them. In this way, a pod is only scheduled if there are enough resources for it to...