Course Content
Module 1: Kubernetes Basics (4 Hours)
1.1 Introduction to Kubernetes
- What is Kubernetes and why container orchestration
- Kubernetes architecture: control plane vs worker nodes
- kubectl setup and cluster context configuration
1.2 Core Objects
- Pods, ReplicaSets, and Deployments
- Services (ClusterIP, NodePort, LoadBalancer)
- ConfigMaps and Secrets
- Namespaces and labels/selectors
1.3 Workloads & Storage
- StatefulSets and DaemonSets
- Volumes, PersistentVolumes, and PersistentVolumeClaims
- Resource requests/limits and basic scheduling
1.4 Hands-on Lab
- Deploy a sample application
- Scale, update, and roll back a deployment
Module 2: Istio Service Mesh (4 Hours)
2.1 Service Mesh Fundamentals
- Why a service mesh: problems Istio solves
- Istio architecture: control plane (istiod) and data plane (Envoy sidecars)
- Installation and sidecar injection
2.2 Traffic Management
- VirtualServices and DestinationRules
- Gateways (ingress/egress)
- Traffic splitting, canary releases, and fault injection
- Retries, timeouts, and circuit breaking
2.3 Security & Policy
- mTLS and PeerAuthentication
- AuthorizationPolicies
- Service-to-service identity basics
2.4 Hands-on Lab
- Inject Istio into a sample app
- Configure a canary rollout with a VirtualService
Module 3: Troubleshooting Kubernetes & Istio (4 Hours)
3.1 Kubernetes Troubleshooting
- Diagnosing Pod failures (CrashLoopBackOff, ImagePullBackOff, OOMKilled)
- Reading events, logs, and describe output effectively
- Debugging Services, DNS, and networking issues
- Node and resource pressure issues
3.2 Istio Troubleshooting
- Sidecar injection failures
- Diagnosing 503s, connection resets, and timeout issues
- Inspecting Envoy config (istioctl proxy-config, proxy-status)
- mTLS handshake failures and policy conflicts
3.3 Hands-on Troubleshooting Lab
- Simulated broken deployments and mesh misconfigurations
- Root-cause analysis exercises
Module 4: API Observability Stack (24 Hours)
4.1 Logging with Splunk (5 Hours)
- Splunk architecture overview (forwarders, indexers, search heads)
- Onboarding application/API logs
- SPL (Search Processing Language) basics
- Structuring and parsing API logs (fields, sourcetypes)
- Building searches for error rates, latency, and status codes
- Correlating logs across services using trace/request IDs
- Building basic dashboards and setting up alerts for error thresholds
- Hands-on Lab: Ingest sample API logs and build a working search + alert
4.2 APM with AppDynamics (Free Tier) (5 Hours)
- APM concepts: business transactions, tiers, nodes
- Free tier capabilities and limitations
- Agent installation and instrumentation basics
- Flow maps and dependency visualization
- Identifying slow transactions and bottlenecks
- Database and external call monitoring
- Error rate and exception tracking
- Health rules, policies, and notification basics
- Hands-on Lab: Instrument a sample API and analyze a flow map
4.3 Dashboards & Alerting with Grafana (Open Source) (5 Hours)
- Grafana architecture and data source setup
- Connecting Prometheus, Loki, and other sources
- Panel types and query design
- Variables and templating for reusable dashboards
- API/service health dashboards (latency, throughput, error rate)
- Alert rules, contact points, and notification policies• Integrating alerts with Slack/email/webhook
- Hands-on Lab: Build an API health dashboard with a working alert rule
Log Aggregation with Loki
- Loki architecture: distributor, ingester, querier
- LogQL query basics (label filters, line filters, parsers)
- Shipping logs to Loki (Promtail/Alloy)
- Building log panels and exploring logs in Grafana
Distributed Tracing with Grafana Tempo
- Tempo architecture and trace storage model
- Sending traces to Tempo (OTLP ingestion)
- Trace search and the service graph
- TraceQL query basics
Unified Correlation in Grafana
- Linking logs (Loki), metrics (Prometheus), and traces (Tempo)
- Exemplars and trace-to-logs / logs-to-trace navigation
- Building a single-pane dashboard combining all three signals
- Hands-on Lab: Trace a request end-to-end across Tempo, then pivot to its correlated logs in Loki
4.4 Distributed Tracing with OpenTelemetry (5 Hours)
- Tracing concepts: spans, traces, context propagation
- OpenTelemetry architecture: SDK, Collector, exporters
- Auto vs manual instrumentation
- Instrumenting a sample API/service for traces
- Configuring the OpenTelemetry Collector (receivers, processors, exporters)
- Exporting traces to a backend (e.g., Jaeger/Grafana Tempo)
- Trace-log correlation using trace IDs
- Connecting OpenTelemetry data into Grafana for unified observability
- Hands-on Lab: Instrument a sample API end-to-end and visualize a full trace
