Skip to content

jlgore/gcp-gke

Repository files navigation

GCP GKE Learning Challenge Repository

🎯 Overview

This repository contains a progressive series of Terraform challenges designed to teach Google Kubernetes Engine (GKE) deployment, Traefik ingress configuration, certificate management, load balancing, and IAM security.

🏗️ Repository Structure

gcp-gke-learning/
├── challenges/                    # Broken scenarios to fix
│   ├── challenge-3.1-basic-gke/
│   ├── challenge-3.2-traefik-ingress/
│   ├── challenge-3.3-cert-management/
│   ├── challenge-3.4-advanced-lb/
│   └── challenge-3.5-workload-identity/
├── CLAUDE.md                      # Complete curriculum guide
└── README.md                      # This file

🚀 Getting Started

Prerequisites

  • Google Cloud Platform account with billing enabled
  • gcloud CLI installed and configured
  • terraform installed (>= 1.0)
  • kubectl installed
  • git installed

Quick Start

  1. Clone the repository:

    git clone <repository-url>
    cd gcp-gke-learning
  2. Start with Challenge 3.1:

    cd challenges/challenge-3.1-basic-gke/
    cat CHALLENGE.md
  3. Fix the broken Terraform code:

    terraform init
    terraform plan  # Will fail - fix the issues!
    ./validation/validate.sh

🎓 Learning Path

Challenge 3.1: Basic GKE Deployment

  • Fix provider configuration issues
  • Correct variable definitions
  • Deploy GKE Autopilot cluster
  • Time: 30-60 minutes

Challenge 3.2: Traefik Ingress Controller

  • Fix Helm provider configuration
  • Deploy Traefik with proper values
  • Configure IngressRoute routing
  • Time: 45-75 minutes

Challenge 3.3: Certificate Management

  • Install and configure cert-manager
  • Set up Let's Encrypt automation
  • Enable HTTPS with automatic certificates
  • Time: 60-90 minutes

Challenge 3.4: Advanced Load Balancing

  • Integrate with GCP Application Load Balancer
  • Configure Network Endpoint Groups
  • Set up Cloud Armor security
  • Time: 75-120 minutes

Challenge 3.5: Workload Identity & IAM

  • Configure Workload Identity Federation
  • Set up service account impersonation
  • Implement fine-grained RBAC
  • Time: 90-120 minutes

🆘 Getting Help

Progressive Hint System

Each challenge includes a progressive hint system:

  1. Level 1 Hints: Available immediately in CHALLENGE.md
  2. Level 2 Hints: git checkout hints/challenge-X.Y-hints && cat HINTS-LEVEL-2.md
  3. Level 3 Hints: cat HINTS-LEVEL-3.md
  4. Solutions: git checkout solutions/challenge-X.Y (after 90 minutes)

Validation

Every challenge includes automated validation:

./validation/validate.sh

🌿 Git Branch Structure

  • main: Broken challenge scenarios
  • solutions/challenge-3.1: Working solutions for Challenge 3.1
  • solutions/challenge-3.2: Working solutions for Challenge 3.2
  • solutions/challenge-3.3: Working solutions for Challenge 3.3
  • solutions/challenge-3.4: Working solutions for Challenge 3.4
  • solutions/challenge-3.5: Working solutions for Challenge 3.5
  • hints/challenge-X.Y-hints: Progressive hints for each challenge

💰 Cost Management

  • Challenges designed for GCP free tier + $300 credits
  • GKE Autopilot optimized for educational use
  • Automatic cleanup scripts included
  • Budget alerts recommended at $50, $100, $200

📚 Additional Resources

🎯 Learning Objectives

By completing all challenges, you will master:

  • ✅ Terraform infrastructure as code
  • ✅ GKE cluster deployment and management
  • ✅ Kubernetes ingress and networking
  • ✅ Automated certificate management
  • ✅ Production-grade load balancing
  • ✅ Enterprise IAM and security

🤝 Contributing

Found an issue or want to improve a challenge? Please open an issue or submit a pull request!

📄 License

This educational content is provided under MIT License.


Ready to start? Begin with cd challenges/challenge-3.1-basic-gke/ and read the CHALLENGE.md file! 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published