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

Simple validation with Bats


A fairly common desire is to simply get everything deployed and make a few queries to validate that the resulting system is operational. As you do these operations, they are frequently captured in either Makefiles or shell scripts as simple programs to validate a baseline of functionality. Several years ago, a system called Bats, which stands for Bash Automated Testing System, was developed to make it slightly more convenient to run tests using shell scripts.

There are several examples of using Bats to test systems deployed in Kubernetes. The tests are generally straightforward and easy to read, and it is easy to extend and use. You can find more information on Bats at its GitHub home https://github.com/sstephenson/bats. You may see Bats used in some Kubernetes-related projects as well, for simple validation.

Bitnami has set up an example GitHub repository to use as a starting point that uses Bats and Minikube, and was designed to also work with external CI systems...