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

More debugging techniques


There are several debugging techniques to work with your code deployed into an existing cluster. These include:

  • Interactive deployment of a container image
  • Attaching to a running Pod
  • Running a second command within an existing Pod

Interactive deployment of an image

You can also use the kubectl run command to start an interactive session with a Pod. This can be exceptionally useful to log in and see what is available in a container image, or within the context of the software you've copied into a container image.

For example, if you wanted to run a shell to look around inside the base Alpine container image that I used for the Python example, you could run the following command:

kubectl run -i -t alpine-interactive --image=alpine -- sh

The -i option is what tells it to make the session interactive, and the -t option (which is almost always used with the -i option) indicates that it should allocate a TTY session (a Terminal session) for the interactive output. The trailing...