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)

Object Management in Kubernetes

Kubernetes resources such as pods or deployments are maintained in etcd by kube-apiserver. Controller managers and schedulers interact with kube-apiserver to create pods for scaling up or for assigning nodes for scheduling. Additionally, every API request made by client tools such as kubectl is reflected on the cluster state maintained in etcd. While creating, updating, and deleting resources appears to be straightforward, there are multiple approaches that you can use to manage Kubernetes resources. In this section, the following three techniques for object management in Kubernetes will be discussed:

  • Imperative commands: These are used for running kubectl commands directly on live Kubernetes resources.
  • Imperative configuration: This is used for running kubectl commands with a specific command and configuration file.
  • Declarative configuration: This is used for running kubectl commands with a configuration file and making kubectl automatically...