
Create a successful ticket purchase confirmation page by generating a 10-character ticket id with random and string, inserting the ticket into the tickets table, and rendering the confirmation with id.
Build a Docker image for the app, push to Docker Hub, and use environment variables for Postgres credentials, updating the Dockerfile to install dependencies and expose the port.
Deploy and expose your app with an ingress resource, configure a public host and tls via cert manager, update domain references, and deploy a new image to the cluster.
initialize terraform and set up a google cloud project by creating a service account, downloading a key, and configuring a gcs backend to store the tf state.
Configure and test the Docker phase of a GitHub Actions workflow, authenticate to Docker Hub, build and push the image, and verify infrastructure via Terraform in a cohesive DevOps pipeline.
Explore adding a Google Kubernetes Engine cluster in a Terraform module, configure private nodes, master cidr, pod and service ip ranges, and logging, and wire outputs for the GKE setup.
Add a DNS module to bind DNS records to ingress and static IPs to load balancers, using a single DNS zone across the QA, production, and monitoring environments.
Apply production network configuration with Terraform and Helm, adding service accounts, DNS, and a cert-manager cluster issuer to deploy and secure the production application.
Add the networking chart to the monitoring cluster, configure cert-manager, a load balancer, and ingress for Grafana, then apply Terraform and Helm changes to expose metrics centrally.
Add eight A records for the QA and production environments to support dual ingresses for Prometheus and the application, using Terraform outputs to reference the load balancer IP.
Deploy the monitoring chart to the qa environment, configure alert manager address and port 9093, install in the monitoring namespace with helm, and verify Prometheus metrics.
Understand how MongoDB replica sets achieve redundancy and high availability by replicating data from a primary to secondaries, with elections to elect a new primary.
Configure MongoDB as a replica set in Kubernetes using a headless service, set service names and env vars, and run a bootstrap job to initiate replica set across three pods.
Create four Google service accounts for four virtual machines and assign an external IP address to each, using a list of instance names to set account IDs and display names.
Demonstrates loading role-specific startup scripts on each virtual machine using the index, guiding which setup script to run (webhook, master, or machine) based on the instance name.
Write a bash script with a shebang to install kubectl and the Postgres client, and configure the webhook script to set up Python, Flask, and cycle PG two for Postgres.
Test and validate a webhook server by sending a token review via curl from a virtual machine, verifying it queries the cloud SQL database and returns authentication status.
Learn to configure cube adm init with a yaml config, including node registration and local api endpoint, with multiple config types separated by triple dashes, taints, and cri socket.
Configure the API server to talk to the webhook server using a kube config with clusters, contexts, and users. Follow the token review flow that returns authenticated true or false.
configure the pod security admission controller and integrate it with the API server by using a pod security yaml file, enable the admission plugin, and apply enforce and warn modes.
Explore the Kubernetes controller manager and per-resource controllers. See how control loops move the current state toward the desired state, with examples like job controller and building a custom controller.
Explore custom resources and CRDs in Kubernetes and learn how a custom controller and operators automate cloud resources, such as Cloud SQL instances, with Python.
Start building a custom controller by scaffolding a Python file, importing libraries, configuring credentials, and implementing a root password generator for Cloud SQL, plus local testing.
Test creating and deleting a cloud sql instance with the custom controller, verify private IP access from the cluster, and confirm postgres connectivity via telnet.
Are you ready to become a confident DevOps engineer with real, portfolio-ready experience? This course takes you beyond theory and directly into practical, industry-relevant projects that showcase key DevOps skills employers are looking for. You’ll learn how to automate infrastructure, deploy applications on the cloud, manage Kubernetes environments, and understand core kubernetes-cluster internals — all through real scenarios you build yourself.
In this course you will:
Build a full end-to-end flight application: create a Flask service with PostgreSQL, containerize it with Docker, deploy it to a Google Kubernetes Engine (GKE) cluster, expose it securely with Ingress and Cert-Manager, and automate everything with Terraform and a GitHub Actions.
Construct a multi-environment Kubernetes application using Helm chart for MongoDB and mongo-express, set up QA, Prod, and Monitoring environments with GCP networking, GKE, logging, DNS, secrets, Buckets and observability using Prometheus and Grafana.
Dive deep into Kubernetes core components by building and configuring your own control plane (API server, scheduler, controller-manager), customizing scheduler behavior with scheduling profiles that influence how pods are placed on nodes, controlling API server access using webhook authentication integrated with Cloud SQL and admission controllers, configuring controller-manager and implementing a custom controller/operator to manage Cloud SQL from inside the cluster.
By the end of this course, you’ll not only understand how to use top DevOps tools like Docker, Kubernetes, Terraform, and GitHub Actions in real projects, but you’ll also have a portfolio of deployable projects you can show to potential employers. Whether you’re aiming for your first DevOps job or looking to expand your practical cloud and automation skills, this course gives you hands-on experience and confidence to succeed.