Ebook img

Continuous Deployment with Kubernetes

  • Learn to use Kubernetes, Docker, Helm, Jenkins, and Prometheus
  • Set up a simple and dependable Continuous Deployment system for your project or team
  • Get up and running on Google Cloud GKE, AWS EKS, or Azure AKS in a few hours
  • Improve your deployment processes with tips and solutions for common problems in the Cookbook section
  • Speed up your development cycles without sacrificing quality or working more.
  • Get access to the source code for the book, this site, and the CD system that builds them both
Get the Book, Source Code, and Videos
$1.00*
*Early Access Price
Buy
  • "Nick helped us deploy a complex application on Kubernetes where customizability and security were crucial. He has also been on point with new updates, which is extremely important in this fast moving space. Highly recommend Nick and this book!"

    - Liane Nakamura
    Co-founder, Healthcare Startup

Book Overview

You have software to develop and operate, so stop wasting time on chores you can easily automate. You will learn both the essentials and the best practices for running Continous Deployment on Kubernetes. When you're done with the book, you will have constructed a robust and scalable CD system to build and manage your software.

You will follow along as we develop a simple application with Docker, put it on Kubernetes, build a chart to repeatibly deploy it using Helm, and set up Jenkins to automatically build, test, and deploy our application. Then we'll set up some simple monitoring and alerts using Prometheus.

After we've developed a robust minimal example, you can pick and choose recipes from the cookbook to improve your system for your specific needs. Add TLS/SSL support using Let's Encrypt, Set up a service mesh using Istio, Secure containers with Grafeas/Kritis attestations, Autoscale your deployments, and more!

Docker Containers

Learn how to keep your container builds fast and your images small. Learn the rationale behind containers and avoid common pitfalls.

Kubernetes

We'll cover the essential Kubernetes resources and how they all fit together. Learn to achieve High Velocity High Availability.

Helm

Learn best practices for parameterizing, reusing, and publishing Helm charts. Simplify your workflow and reduce operator errors.

Jenkins

Using pipelines and Jenkinsfiles to modularize and parallelize your deployments. See how to autoscale worker nodes and stop waiting for executors.

Prometheus

Monitor everything you want without managing lists of nodes and services by hand. Declare what you want to monitor and let Kubernetes service discovery work for you.

Cookbook

See how to tackle many common problems with reusable solutions. Automatic TLS Certificate Management, Complex DB Schema Migrations, Networking ACLs, and more.

Source Code Access

Get full access to the current source code for the book examples, this website, and the book! See how the principles in the book are used to build the book itself.

Companion Videos

See every step for yourself and follow along in the screencast style companion videos.

(in progress, will be released as completed)

Is this book for me?

Developers worry and stress because of uncertainty; Uncertainty that the program won't start, will crash, will have bugs, won't meet specifications, and more. This book will teach you not how to sweep that uncertainty under the rug (c.f. waterfall development), but how to expect and plan around it.

A basic truth of programming is that all programs have bugs, holes, and problems. Expected and known issues can be tested automatically, but unknown issues will still cause major problems! By completing the exercises in this book, you will build a system to handle this uncertainty safely using Continuous Deployment.

Develop code, then simply push your changes to a remote repository and watch as our CD system automatically builds, tests, deploys, monitors, and alerts on these changes. Gain peace of mind about your infrastructure so you can focus on developing!

  • "It's a great book... helm/jenkins/kubernetes feels like living in the future. There wasn't anything as thorough as [this book] out there"

    - Eamon Keane
    Co-founder, Logistio

Sample Chapter

Enter your email address below and click Get Sample to get a chapter on using Kubernetes.

sample ebook chapter

What's inside

Table of Contents

Chapter 1.0: Layout Notes
Chapter 2.0: Introduction
Chapter 3.0: Containers
Section 3.1: The Big Picture
Section 3.2: Current Container Tech
Section 3.3: Common Pitfalls
Section 3.4: Container Example
Section 3.5: Summary
Chapter 4.0: Kubernetes
Section 4.1: The Early Cloud
Section 4.2: Kube Cluster Basics
Section 4.3: Cluster Nodes
Section 4.4: Kubernetes Example
Chapter 5.0: Helm
Section 5.1: Helm overview
Section 5.2: CLI Basics
Section 5.3: Templating Best Practices and Tips
Section 5.4: Helm Example
Chapter 6.0: Jenkins
Section 6.1: Overview
Section 6.2: Slave node setup
Section 6.3: Build Pipelines and Setup
Section 6.4: Jenkins Example
Chapter 7.0: Barebones Monitoring
Section 7.1: Overview
Section 7.2: Prometheus and prometheus-operator
Section 7.3: Prometheus Example
Chapter 8.0: Mini Cookbook
Chapter 9.0: Index

Extras

  • Source Code access
  • Companion screencast videos
  • etc

Cookbook Receipes

  • Simple DB Migrations
  • Complex DB Migrations *
  • Autoscaling
  • Encrypted Secrets Storage *
  • Static Assets Building *
  • Fancier Test Results (JUnit, XUnit, etc..) *
  • Letsencrypt TLS/SSL proxy with autorenew *
  • Jenkins SSO / External Auth *
  • Feature Flags *
  • Container Privileges and Capabilities *
  • Network Policies with Calico *
  • Networking with an Istio Service Mesh *
  • Grafeas and Kritis for Security Policy Enforcement *
  • Monitoring Jenkins *
  • Building This Book *
* Work In Progress

About the Author

I've been writing and deploying software and websites professionally for over 10 years. I've worked roles as a dev, sysop, dba, and CTO. I have seen and felt the pain of various stakeholders, and have learned rules and principles to minimize surprise. When I finally understood containers and Kubernetes, I realized I had been handed all the tools needed to construct my ideal development process.

Kubernetes gave me the tools for my development and deployment processes to be constructed as one contiguous system without overengineering or losing flexibility. I had finally found a low cost way to construct a robust and ideal mapping to the business needs. Even more importantly, as the world changed and the needs changed, I found I could iterate extremely quickly on any aspect of the business without sacrificing quality. After spending a few years building engineering infrastructure for various Bay Area startups and myself, I wanted to spread what I'd learned and help others achieve their own goals.

-Nick Johnson, Author

$1.00*
*Early Access Price
Buy
Ebook img

MONEY BACK GUARANTEE:

If for any reason you want your money back, just ask and I will grant a full refund. I wrote this book to try and help people learn, and if you aren't learning or just don't feel you got your money's worth, I will happily refund you. To claim a refund, please email me.