Book Image

Kubernetes for Developers

By : Joseph Heck
Book Image

Kubernetes for Developers

By: Joseph Heck

Overview of this book

Kubernetes is documented and typically approached from the perspective of someone running software that has already been built. Kubernetes may also be used to enhance the development process, enabling more consistent testing and analysis of code to help developers verify not only its correctness, but also its efficiency. This book introduces key Kubernetes concepts, coupled with examples of how to deploy and use them with a bit of Node.js and Python example code, so that you can quickly replicate and use that knowledge. You will begin by setting up Kubernetes to help you develop and package your code. We walk you through the setup and installation process before working with Kubernetes in the development environment. We then delve into concepts such as automating your build process, autonomic computing, debugging, and integration testing. This book covers all the concepts required for a developer to work with Kubernetes. By the end of this book, you will be in a position to use Kubernetes in development ecosystems.
Table of Contents (16 chapters)
Title Page
Packt Upsell
Contributors
Preface
Index

Built-in metrics with Kubernetes


Kubernetes comes built in with some basic instrumentation to know how much CPU and memory are consumed on each node in the cluster. Exactly what is captured and how it is captured has been evolving rapidly in recent Kubernetes releases (1.5 through 1.9). Many Kubernetes installations will be capturing information about what resources the underlying containers are using with a program called cAdvisor. This code was created by Google to collect, aggregate, and expose the metrics of how containers are operating, as a critical step of being able to know where best to place new containers, based on what resources a node has and where resources are available.

Every node within a Kubernetes cluster will have cAdvisor running and collecting information, and this, in turn, is captured and used by kubelet, which is the local agent on every node that is responsible for starting, stopping, and managing the various resources needed to run containers.

cAdvisor exposes a...