Validation Status
Components
| Component | Validation Method | Status | Notes |
|---|---|---|---|
| Scenario scripts | Manual testing | ✅ Validated | All simulate scripts tested |
| Diagnostic tools | Manual testing | ✅ Validated | All tools tested and functional |
| Network scenario | Kind deployment | ✅ Validated | Network connectivity scenario works |
| Resource scenario | Kind deployment | ✅ Validated | Resource exhaustion scenario works |
| Permission scenario | Kind deployment | ✅ Validated | Permission denied scenario works |
| Image pull scenario | Kind deployment | ✅ Validated | Image pull failure scenario works |
| DNS scenario | Kind deployment | ✅ Validated | DNS resolution scenario works |
| Certificate scenario | Kind deployment | ✅ Validated | Certificate issue scenario works |
| Documentation | Manual review | ✅ Validated | All documentation reviewed |
| Setup scripts | Manual testing | ✅ Validated | Setup and cleanup scripts tested |
How to Validate
Local Validation (Kind)
bash
# Create Kind cluster
kind create cluster --name troubleshooting-lab
# Setup scenarios
cd labs/09-troubleshooting-scenarios
./scripts/setup-scenarios.sh
# Run a scenario
./scenarios/network-connectivity/simulate.sh
# Diagnose (try first!)
kubectl get pods -n network-test
kubectl describe pod client-pod -n network-test
# Follow diagnosis guide
cat scenarios/network-connectivity/diagnosis.md
# Apply resolution
cat scenarios/network-connectivity/resolution.md
# Follow resolution steps
# Verify fix
kubectl exec client-pod -n network-test -- wget -O- http://test-service
# Cleanup
./scripts/cleanup-all.shTest All Scenarios
bash
# Test each scenario
for scenario in network-connectivity resource-exhaustion permission-denied image-pull-failures dns-resolution certificate-issues; do
echo "Testing $scenario..."
./scenarios/$scenario/simulate.sh
# Diagnose and resolve
./scripts/cleanup-all.sh
doneTest Diagnostic Tools
bash
# Test connectivity check
./diagnostic-tools/connectivity-check.sh network-test client-pod
# Test resource inspector
./diagnostic-tools/resource-inspector.sh resource-test
# Test log collector
./diagnostic-tools/log-collector.sh network-test client-pod ./logs
# Test cluster health
./diagnostic-tools/cluster-health.shScenario Validation
Network Connectivity
- [x] Simulation creates network policy blocking traffic
- [x] Diagnosis guide identifies network policy
- [x] Resolution removes/updates network policy
- [x] Fix verified with connectivity test
Resource Exhaustion
- [x] Simulation creates resource quota and OOMKilled pods
- [x] Diagnosis guide identifies resource issues
- [x] Resolution increases quota or fixes limits
- [x] Fix verified with pod status check
Permission Denied
- [x] Simulation creates pod with no permissions
- [x] Diagnosis guide identifies RBAC issue
- [x] Resolution creates Role and RoleBinding
- [x] Fix verified with permission test
Image Pull Failures
- [x] Simulation creates pod with invalid image
- [x] Diagnosis guide identifies image issue
- [x] Resolution fixes image name or adds secret
- [x] Fix verified with pod status check
DNS Resolution
- [x] Simulation creates pod with wrong DNS config
- [x] Diagnosis guide identifies DNS issue
- [x] Resolution fixes DNS configuration
- [x] Fix verified with DNS test
Certificate Issues
- [x] Simulation creates pod connecting to expired certificate
- [x] Diagnosis guide identifies certificate issue
- [x] Resolution explains certificate renewal
- [x] Fix verified with certificate test
Diagnostic Tools Validation
Connectivity Check
- [x] Checks pod status
- [x] Tests service endpoints
- [x] Tests DNS resolution
- [x] Checks network policies
- [x] Shows pod IP and events
Resource Inspector
- [x] Shows resource quotas
- [x] Shows resource usage
- [x] Identifies OOMKilled pods
- [x] Identifies pending pods
- [x] Shows resource requests/limits
Log Collector
- [x] Collects current logs
- [x] Collects previous logs
- [x] Collects pod description
- [x] Collects events
- [x] Collects pod YAML
Cluster Health
- [x] Checks cluster connectivity
- [x] Checks node status
- [x] Shows pod status summary
- [x] Identifies failed pods
- [x] Shows resource usage
- [x] Shows recent events
Documentation Validation
- [x] Systematic debugging methodology complete
- [x] Common patterns documented
- [x] Escalation guide complete
- [x] Step-by-step guide complete
- [x] Troubleshooting reference complete
- [x] All scenario guides complete
Community Validation
If you've used this lab successfully, please:
- Open an issue confirming successful completion
- Note which scenarios you completed
- Share any additional patterns you discovered
- Note any improvements or suggestions
- Update this file via PR if appropriate
Status Legend
- ✅ Validated - Tested and confirmed working
- ⏳ Pending - Not yet validated
- ⚠️ Reviewed - Code reviewed but not tested
- ❌ Failed - Validation failed (see notes)
Notes
Learning Focus
This lab is designed for learning, not production deployment. The scenarios intentionally create problems for practice. Always clean up after completing scenarios.
Scenario Independence
Each scenario is independent. You can run them in any order. Clean up between scenarios to avoid interference.
Real-World Application
The patterns and solutions in these scenarios apply directly to real-world troubleshooting. Use the methodology and tools in production environments.
Remember: The goal is learning. Take your time, try to diagnose before reading guides, and build your troubleshooting skills!