Week 8: Kubernetes replication, health probes and failure experiments #6
Loading…
Reference in a new issue
No description provided.
Delete branch "week8-kubernetes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Change
Implement the original Week 8 Kubernetes replication lab in the cumulative Labs repository. Add a two-replica Deployment, Service, ConfigMap and local Secret template; expose Kafka on a pod-reachable advertised listener. Replace destructive
create-dropwith labupdateso restarting a replica preserves shared rows. Keep the deliberate aggregate liveness/readiness probes needed for the MySQL outage experiment.Add Q1-Q11 design answers, an acceptance matrix, a deployment guide and redacted execution evidence. The original brief has no student-designed feature requirement. Preserve Week 7 JWT/bcrypt/RBAC and its documented registration-role shortcut. Include the existing PR #5 Kafka test-shutdown fix as a baseline dependency.
Verification
Review limits
Local cluster verification used the locally built image and a host alias. Docker Desktop kubeadm execution and LA discussion/sign-off remain manual. Q11 recovery targets are proposals for the current LinkLab, not achieved production guarantees. Production deployment remains outside the lab. The user explicitly requested the PR merge after validation.
Final remote verification
650d27df3543ee4033b150da7c4f29a79f60acfa.week8andsha-650d27dtags; main's existinglatestremains unchanged.cs4297.skynet.ie/23365978/cs4297-linklab@sha256:71ae6c32e8d3eccaa58a7ad59ffcbc136e2cbfca1a214002e264f6cdc1739865. OCI revision label matches the final PR head.forgejo-registrySecret andimagePullPolicy: Always, without loading a local app image into this second cluster.Error creating error stream/lost connection to pod). Replacing the forwards restored transport; the full unchanged smoke passed. Pods remained healthy with zero restarts.hostAliasesmapping forhost.docker.internal. Docker Desktop kubeadm and LA sign-off remain manual.An agent source review has been completed; this is not a human approval. The user subsequently requested merging this PR after review and green PR CI. The baseline includes existing unmerged PR #5 and its earlier Week 7 answer annotations; those existing edits were preserved.
Registry verification cleanup completed: namespace (including both Secrets) and temporary cluster deleted; the five lab datastores stopped; existing volumes retained. The working tree is clean and the final local/remote branch SHA matches.
Merge
Merged at the user's explicit request using merge commit
e09d70059a6c2286b9e8d740a884d89e8f66bb24. Localmainwas fast-forwarded to matchorigin/main, with a clean working tree. Post-merge CI run #10 was triggered; its current status is available at that link. PR-head CI run #9 had already passed all three stages and 49 tests before merging.Agent source review completed for the Week 8 changes: deployment selectors/ports and Secret/ConfigMap wiring; host/Compose/Kubernetes Kafka listeners; shared JWT and RBAC regression boundaries; shared-schema persistence; rolling-update/readiness behavior; and branch-specific registry tagging. Validation: CI run #9 is green with 49 passing tests; actual registry-backed two-pod smoke passed. Known teaching limits are documented: public registration role selection, lab schema update, dependency-sensitive liveness and single-instance datastores. Human approval and LA discussion remain outstanding. No merge performed.