Skip to content

VienThanh12/DevOps-with-Kubernetes

Repository files navigation

Kubernetes Submissions

📘 DevOps with Kubernetes – Exercise Repository

This repository contains my completed exercises for the DevOps with Kubernetes course. Each exercise links to its own branch and includes screenshots as proof of completion.


🚀 Quick Navigation – All Exercises

Click an exercise number to jump directly to its section.

Chapter Exercises
Chapter 1 1.1 · 1.2 · 1.3 · 1.4 · 1.5 · 1.6 · 1.7 · 1.8 · 1.9 · 1.10 · 1.11 · 1.12 · 1.13
Chapter 2 2.1 · 2.2 · 2.3 · 2.4 · 2.5 · 2.6 · 2.7 · 2.8 · 2.9 · 2.10
Chapter 3 3.1 · 3.2 · 3.3 · 3.4 · 3.5 · 3.6 · 3.7 · 3.8 · 3.9 · 3.10 · 3.11 · 3.12
Chapter 4 4.1 · 4.2 · 4.3 · 4.4 · 4.5 · 4.6 · 4.7 · 4.8 · 4.9 · 4.10
Chapter 5 5.1 · 5.6 · 5.7

📊 Progress Overview

Chapter Exercises Completed
Chapter 1 1.1 – 1.13
Chapter 2 2.1 – 2.10
Chapter 3 3.1 – 3.12
Chapter 4 4.1 – 4.10
Chapter 5 5.1, 5.6, 5.7

🧩 Chapter 1 – Getting Started

Exercise 1.1

  • Branch: 1.1
  • Evidence: 1.1

Exercise 1.2

  • Branch: 1.2
  • Evidence: 1.2

Exercise 1.3

Exercise 1.4

Exercise 1.5

  • Branch: 1.5
  • Evidence: 1.5.1 1.5.2

Exercise 1.6

  • Branch: 1.6
  • Evidence: 1.6

Exercise 1.7

  • Branch: 1.7
  • Evidence: 1.7

Exercise 1.8

Exercise 1.9

  • Branch: 1.9
  • Evidence: 1.9

Exercise 1.10

  • Branch: 1.10
  • Evidence: 1.10.1 1.10.2

Exercise 1.11

  • Branch: 1.11
  • Evidence: 1.11.1 1.11.2

Exercise 1.12

  • Branch: 1.12
  • Evidence: 1.12

Exercise 1.13

  • Branch: 1.13
  • Evidence: 1.13

🧩 Chapter 2 – Kubernetes Basics

Exercise 2.1

  • Branch: 2.1
  • Evidence: 2.1.1 2.1.2 2.1.3

Exercise 2.2

  • Branch: 2.2
  • Evidence: 2.2.1 2.2.2

Exercise 2.3

  • Branch: 2.3
  • Evidence: 2.3.1 2.3.2

Exercise 2.4

  • Branch: 2.4
  • Evidence: 2.4.1 2.4.2

Exercise 2.5

  • Branch: 2.5
  • Evidence: 2.5

Exercise 2.6

  • Branch: 2.6
  • Evidence: 2.6

Exercise 2.7

  • Branch: 2.7
  • Evidence: 2.7

Exercise 2.8

  • Branch: 2.8
  • Evidence: 2.8.1 2.8.2

Exercise 2.9

  • Branch: 2.9
  • Evidence: 2.9

Exercise 2.10

  • Branch: 2.10
  • Evidence: 2.10

🧩 Chapter 3 – More Building Blocks

Exercise 3.1

  • Branch: 3.1
  • Evidence: 3.1

Exercise 3.2

  • Branch: 3.2
  • Evidence: 3.2.1 3.2.2 3.2.3

Exercise 3.3

  • Branch: 3.3
  • Evidence: 3.3.1 3.3.2 3.3.3

Exercise 3.4

  • Branch: 3.4
  • Evidence: 3.4

Exercise 3.5

  • Branch: 3.5
  • Evidence: 3.5

Exercise 3.6

  • Branch: 3.6
  • Evidence: 3.6

Exercise 3.7

Exercise 3.8

Exercise 3.9

Exercise 3.10

  • Branch: 3.10
  • Evidence: 3.10.1 3.10.2

Exercise 3.11

  • Branch: 3.11
  • Evidence: 3.11

Exercise 3.12

  • Branch: 3.12
  • Evidence: 3.12.1 3.12.2

☁️ Chapter 4 – To the Cloud

Exercise 4.1

  • Branch: 4.1
  • Evidence: 4.1.1 4.1.2

Exercise 4.2

  • Branch: 4.2
  • Evidence: 4.2

Exercise 4.3

  • Branch: 4.3
  • Evidence: 4.3

Exercise 4.4

  • Branch: 4.4
  • Evidence: 4.4

Exercise 4.5

  • Branch: 4.5
  • Evidence: 4.5

Exercise 4.6

  • Branch: 4.6
  • Evidence: 4.6.1 4.6.2 4.6.3 4.6.4

Exercise 4.7

Exercise 4.8

  • Branch: 4.8
  • Evidence: 4.8

Exercise 4.9

  • Branch: 4.9
  • Evidence: 4.9.1 4.9.2 4.9.3 4.9.4

Exercise 4.10

  • Branch: 4.10
  • Evidence: 4.10

🧩 Chapter 5 – Advanced Topics

Exercise 5.1

  • Branch: 5.1
  • Evidence: 5.1.1 5.1.2

Exercise 5.6

  • Branch: 5.6
  • Evidence: 5.6.1 5.6.2 5.6.3

Notes:

  • Knative Service deployed on k3d; revision reached Running state.
  • Due to corporate TLS interception, Kourier ingress manifest could not be fetched.
  • Service verified via port-forward to the revision pod, confirming build and request handling.

Exercise 5.7


📝 Notes – DBaaS (Cloud SQL) vs DIY PostgreSQL on GKE (PVC)

1. Initialization & Setup

DBaaS (Google Cloud SQL)

  • ✅ Fast to initialize (minutes via UI / CLI / Terraform)
  • ✅ No need to manage storage, replication, or failover
  • ❌ Requires networking setup (private IP, Cloud SQL Proxy / connector)

DIY (PostgreSQL on GKE with PVCs)

  • ❌ More setup work (StatefulSets, PVCs, StorageClasses)
  • ❌ High availability and failover must be designed manually
  • ✅ Full control over database configuration and deployment

2. Maintenance & Operations

DBaaS

  • ✅ Automatic updates, patching, and security fixes
  • ✅ Managed high availability and failover
  • ❌ Limited control over internal PostgreSQL configuration
  • ❌ Vendor lock-in to Google Cloud

DIY

  • ❌ Manual upgrades, monitoring, and failure recovery
  • ❌ Requires strong Kubernetes and database expertise
  • ✅ Full control over PostgreSQL version and tuning
  • ✅ Easier portability across environments

3. Backups & Recovery

DBaaS

  • ✅ Automated daily backups
  • ✅ Point-in-time recovery supported
  • ✅ Simple restore via UI or CLI
  • ❌ Limited customization of backup strategy

DIY

  • ❌ Backups must be implemented manually (pg_dump, cronjobs, operators)
  • ❌ Restore process is more complex and error-prone
  • ✅ Full control over backup format, schedule, and storage location

4. Scalability & Reliability

DBaaS

DIY


5. Costs

DBaaS

  • ❌ Higher service cost due to managed features
  • ❌ Pay for HA, backups, and availability even when underutilized
  • ✅ Lower operational cost (less maintenance effort)

DIY

  • ✅ Potentially lower infrastructure cost
  • ❌ Higher operational and engineering effort
  • ❌ Risk of downtime increases indirect costs

6. When to Choose Which

Choose DBaaS when:

  • Reliability and data safety are top priorities
  • Operational effort must be minimized
  • Database expertise is limited

Choose DIY when:

  • Full control and portability are required
  • You want to learn or customize PostgreSQL deeply
  • Cost optimization is critical and team expertise is sufficient

Conclusion

DBaaS favors simplicity, reliability, and low operational overhead at a higher service cost, while DIY PostgreSQL on GKE offers greater control and flexibility but requires significantly more maintenance and operational expertise.

About

Learn how to create and run a Kubernetes cluster locally using k3d, and deploy applications to Kubernetes using deployments, services, ingress, and gateway resources.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors