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)

Custom Metrics

Prometheus provides client libraries for many languages, such as Go, Java, and Python, to expose custom metrics that can be read by the Prometheus server. You need to create a /metrics endpoint from your application for Prometheus to read the custom metrics. Additionally, for the Prometheus server to discover your application, you need to add this annotation to your pod: true.

Here is how it will look in the pod definition:

  annotations: "true"

These custom metrics can be categorized under APM. They can be anything that would be valuable for you to monitor for the application. For example, for a financial institution, the number of transactions can be really valuable, whereas, for a messaging application, the number of messages in the queue can be much more valuable. After determining the needs of the application, you can use the appropriate client library for your application to expose the...