Book Image

Google Cloud for DevOps Engineers

By : Sandeep Madamanchi
Book Image

Google Cloud for DevOps Engineers

By: Sandeep Madamanchi

Overview of this book

DevOps is a set of practices that help remove barriers between developers and system administrators, and is implemented by Google through site reliability engineering (SRE). With the help of this book, you'll explore the evolution of DevOps and SRE, before delving into SRE technical practices such as SLA, SLO, SLI, and error budgets that are critical to building reliable software faster and balance new feature deployment with system reliability. You'll then explore SRE cultural practices such as incident management and being on-call, and learn the building blocks to form SRE teams. The second part of the book focuses on Google Cloud services to implement DevOps via continuous integration and continuous delivery (CI/CD). You'll learn how to add source code via Cloud Source Repositories, build code to create deployment artifacts via Cloud Build, and push it to Container Registry. Moving on, you'll understand the need for container orchestration via Kubernetes, comprehend Kubernetes essentials, apply via Google Kubernetes Engine (GKE), and secure the GKE cluster. Finally, you'll explore Cloud Operations to monitor, alert, debug, trace, and profile deployed applications. By the end of this SRE book, you'll be well-versed with the key concepts necessary for gaining Professional Cloud DevOps Engineer certification with the help of mock tests.
Table of Contents (17 chapters)
1
Section 1: Site Reliability Engineering – A Prescriptive Way to Implement DevOps
6
Section 2: Google Cloud Services to Implement DevOps via CI/CD
Appendix: Getting Ready for Professional Cloud DevOps Engineer Certification

Scheduling and interacting with Pods

A Pod is the smallest unit of deployment in a Kubernetes cluster that runs containerized applications. The kube-scheduler master control plane component is responsible for finding a suitable node for the Pod and includes interactions with other components of the control plane. In addition, kube-scheduler needs to consider multiple configuration options, such as NodeSelector, NodeAffinity, and PodAffinity, to find the right node for the Pod. This section details the interactions that happen during a Pod creation and details the factors that need to be considered while scheduling Pods.

Summarizing master plane interactions on Pod creation

A Pod is a workload that needs to be deployed in a Kubernetes cluster. A Pod needs to run on a node and will host an application. A Pod can be in various phases. The following is a summary of valid Pod phases:

  • Pending: A Pod is accepted by the Kubernetes cluster, but is waiting to be scheduled.
  • ...