Skip to main content

Learn how to deploy your applications in Kubernetes

Kubernetes for Python developers is a book that teaches you Kubernetes from the perspective of a developer

What's in the book?

Developer focused content

You will deploy a production grade Flask application backed by a Redis database. To the point, no fluffy theory that what's needed

Hands on examples

Every concept is backed by at least 1 example, and an exercise where you can test your understanding, rather than just reading pages showing you how it's done.

Work on a real Kubernetes cluster

You'll work with a real Kubernetes cluster from day 1.

Troubleshoot scenarios

An entire section of the book devoted to troubleshooting common issues you might encounter.

Table of contents

Covering all you need to know about kubernetes as a developer in 180+ pages, packed with illustrations and examples.

1. The meta stuff

  • The audience of the book
  • Why developers should learn Kubernetes
  • What we will build
  • What prerequisites you need

2. Containers recap

  • Intro to containers
  • How containers work
  • Container networking
  • Isolating processes
  • Docker compose
  • Docker registry

3. Kubernetes 101

  • Why Kubernetes?
  • How Kubernetes works
  • Components of a Kubernetes cluster
  • Setting up your first cluster

4. Pods 101

  • Kubectl, kubeconfig
  • How to interact with your cluster
  • Pods, events
  • working with pods

5. Pods 201

  • Getting inside a pod
  • Pod probes
  • Namespaces
  • Pod namespaces
  • Deploying your first application

6. Beyond pods

  • Replicasets
  • Deployments
  • Services
  • Full fledged Flask app with Redis

7. Going a notch further

  • Config maps
  • Secrets
  • Init containers
  • Storing persistent data

8. A more robust setup

  • Stateful sets
  • Service accounts and RBAC
  • Ingress
  • Custom Resources
  • Certificate manager

Closing thoughts

  • Where to go further
  • Resources

Appendix A: Troubleshooting common scenarios

  • Pod not coming up
  • Correct labels
  • Exposing ports
  • Resource constraints
  • Unauthorized

Appendix B: Solutions to exercises

Solutions to all the exercises in each chapter.

FAQ

Is this the right book for you?

This book aims to bridge the gap between Python development and Kubernetes operations, making it an ideal read for anyone in the software development lifecycle seeking to adopt Kubernetes for Python applications. This includes:
  1. Python Developers: This book is specifically designed for Python developers interested in learning Kubernetes to enhance their skills in cloud-native application development, deployment, and management.

  2. DevOps Professionals: DevOps engineers who have a background in Python and are looking to deepen their understanding of Kubernetes to improve CI/CD pipelines, infrastructure management, and application scalability.

  3. Software Engineers: Software engineers and architects who are involved in building and deploying Python applications and want to leverage Kubernetes for better scalability, fault tolerance, and deployment strategies.

  4. Cloud-Native Enthusiasts: Individuals interested in cloud-native technologies who want to understand how Kubernetes can be used to manage Python applications efficiently in a cloud environment.

  5. Beginners to Kubernetes: The book is tailored for those new to Kubernetes, making it an excellent resource for anyone looking to start their Kubernetes journey with a Python-centric approach.

  6. Students and Educators: Students learning about cloud computing, containerization, and microservices architecture, as well as educators looking for resources to teach these concepts with practical Python examples.

Whom is this book NOT for?

If you already know Kubernetes and are using it in some capacity, then you might not find any value in this book. Also, if you don't have much of a technical background(don't know how to work with Python, no idea about containers), then this book won't be a good fit for you.

Who am I to write a book about Kubernetes for developers?

I'm a full stack developer with more than 2 decades of experience working with enterprise customers. I've been dabbling with Kubernetes since 2018, when there were comparitively lesser resources to tame the Kubernetes beast. I always wanted to read a book to bridge the knowledge gap for a developer who knows a bit of ops and wants to dip their toes in the Kubernetes waters and figured I'll write one for those who are on the same boat.

Is the book ideal only for Python developers? I'm a Node.js/Java/PHP/Rails/Golang/Rust developer.

The book has been written using a Python Flask application as an example. It is quite easy to fit in your stack if you understand the concepts explained in the book.

Please get in touch with me if you'd like to see the examples in your language.

When is the book available for purchase?

The final copy will be shipping on the first week of March 2024.

Where can I buy the book?

The book will be sold via Amazon.

Is there a paperback edition?

There isn't one at present. I'll be releasing the paperback edition if there's enough demand in future.

I have a question not listed here.

Please email me. I'll be happy to answer it.