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

Declaring your first application


Go ahead and pick one of the examples and create a deployment declaration, and try creating one using the declaration.

I recommend making a directory called deploy, and putting your declaration file within that. This is using the flask example:

flask.yml
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: flask
  labels:
    run: flask
spec:
  template:
    metadata:
      labels:
         app: flask
    spec:
      containers:
      - name: flask
        image: quay.io/kubernetes-for-developers/flask:0.1.1
        ports: 
        - containerPort: 5000

Remove the existing deployment before you try out your file:

kubectl delete deployment flask

It is a good practice to use the --validate option to have kubectl check the files, and you can use it with --dry-run to compare the file to anything existing in Kubernetes to let you know specifically what it will be doing.  YAML is easy to read, and unfortunately even easier to make formatting mistakes due to its...