📘 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.
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 |
| 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 |
- Branch: 1.1
- Evidence:

- Branch: 1.2
- Evidence:

- Branch: 1.3
- Branch: 1.4
- Branch: 1.5
- Evidence:

- Branch: 1.6
- Evidence:

- Branch: 1.7
- Evidence:

- Branch: 1.8
- Branch: 1.9
- Evidence:

- Branch: 1.10
- Evidence:

- Branch: 1.11
- Evidence:

- Branch: 1.12
- Evidence:

- Branch: 1.13
- Evidence:

- Branch: 2.1
- Evidence:

- Branch: 2.2
- Evidence:

- Branch: 2.3
- Evidence:

- Branch: 2.4
- Evidence:

- Branch: 2.5
- Evidence:

- Branch: 2.6
- Evidence:

- Branch: 2.7
- Evidence:

- Branch: 2.8
- Evidence:

- Branch: 2.9
- Evidence:

- Branch: 2.10
- Evidence:

- Branch: 3.1
- Evidence:

- Branch: 3.2
- Evidence:

- Branch: 3.3
- Evidence:

- Branch: 3.4
- Evidence:

- Branch: 3.5
- Evidence:

- Branch: 3.6
- Evidence:

- Branch: 3.7
- Branch: 3.8
- Branch: 3.9
- Branch: 3.10
- Evidence:

- Branch: 3.11
- Evidence:

- Branch: 3.12
- Evidence:

- Branch: 4.1
- Evidence:

- Branch: 4.2
- Evidence:

- Branch: 4.3
- Evidence:

- Branch: 4.4
- Evidence:

- Branch: 4.5
- Evidence:

- Branch: 4.6
- Evidence:

- Branch: 4.7
- Branch: 4.8
- Evidence:

- Branch: 4.9
- Evidence:

- Branch: 4.10
- Evidence:

- Branch: 5.1
- Evidence:

- Branch: 5.6
- Evidence:

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.
- Branch: 5.7
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
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
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
DBaaS
DIY
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
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
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.