Book Image

50 Kubernetes Concepts Every DevOps Engineer Should Know

By : Michael Levan
Book Image

50 Kubernetes Concepts Every DevOps Engineer Should Know

By: Michael Levan

Overview of this book

Kubernetes is a trending topic among engineers, CTOs, CIOs, and other technically sound professionals. Due to its proliferation and importance for all cloud technologies, DevOps engineers nowadays need a solid grasp of key Kubernetes concepts to help their organization thrive. This book equips you with all the requisite information about how Kubernetes works and how to use it for the best results. You’ll learn everything from why cloud native is important to implementing Kubernetes clusters to deploying applications in production. This book takes you on a learning journey, starting from what cloud native is and how to get started with Kubernetes in the cloud, on-premises, and PaaS environments such as OpenShift. Next, you’ll learn about deploying applications in many ways, including Deployment specs, Ingress Specs, and StatefulSet specs. Finally, you’ll be comfortable working with Kubernetes monitoring, observability, and security. Each chapter of 50 Kubernetes Concepts Every DevOps Engineer Should Know is built upon the previous chapter, ensuring that you develop practical skills as you work through the code examples in GitHub, allowing you to follow along while giving you practical knowledge. By the end of this book, you’ll be able to implement Kubernetes in any environment, whether it’s an existing environment, a greenfield environment, or your very own lab running in the cloud or your home.
Table of Contents (14 chapters)
1
Part 1: First 20 Kubernetes Concepts – In and Out of the Cloud
6
Part 2: Next 15 Kubernetes Concepts – Application Strategy and Deployments
9
Part 3: Final 15 Kubernetes Concepts – Security and Monitoring

Deploying with CI/CD and GitOps

Kubernetes deployments come in three stages:

  • Deploying Manifests on your local computer
  • Deploying Manifests with an automated solution such as CI/CD, which ultimately just runs kubectl apply -f commands, the same as your local computer
  • A new and completely automated solution that’s (usually) 100% hands-off from a deployment perspective

With the first stage, it wasn’t scalable at all. A bunch of engineers were running commands on their localhost to deploy a containerized app, and they were all doing it in different ways with different code editors and different plugins. It was a mess and didn’t allow scalability for the deployment process. It also held engineers up from doing value-driven work and instead, they had to sit on their terminals and run commands all day.

In this section, you’ll learn about more common, automated, and new approaches to deploying apps, which will be around CI/CD and GitOps...