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

Testing strategies using Kubernetes


There is a wide variety of kinds of tests that are used during development and validation, in software engineering. Across this taxonomy, there are some kinds of tests that utilize the strengths of Kubernetes extremely well. The terms associated with testing can be vague and confusing, so for clarity, we will briefly review the terms I'll use and the differences between these kinds of tests. There are many more variants of these themes that I haven't detailed here, but for the purpose of describing where Kubernetes is most effective, this list is sufficient:

  • Unit tests: Unit tests are the lowest level of testing; this focuses on the interfaces, implementations, and modules within your application. Unit testing frequently implies isolated testing of just the component that the test focuses on. These tests are generally intended to be very fast, easily run on a developer's system directly, and often with no access to external services upon which the relevant...