68 lines
2.8 KiB
Markdown
68 lines
2.8 KiB
Markdown
---
|
|
id: act-05-kubernetes-intro-lab
|
|
title: Kubernetes Intro - Lab
|
|
mode: lab
|
|
open_at: 2026-02-01T00:00:00+01:00
|
|
close_at: 2026-12-31T23:59:59+01:00
|
|
retakes_enabled: true
|
|
max_attempts: 999
|
|
grade_max: 100
|
|
---
|
|
|
|
## T1
|
|
Type: short
|
|
Points: 10
|
|
Prompt: Write the kubectl command that lists the nodes in the current cluster.
|
|
Refs:
|
|
- mat-06-kubernetes-intro#verify-cluster-with-kubectl-get-nodes
|
|
Answer: kubectl get nodes
|
|
|
|
## T2
|
|
Type: folder
|
|
Points: 35
|
|
Prompt: Create folder @solutions/kubernetes-intro/lab/manifests containing pod.yaml and deployment.yaml that express desired state for a simple app (image, ports, and replicas) using the Pod and Deployment nesting described.
|
|
Refs:
|
|
- mat-06-kubernetes-intro#object-nesting-containers-pods-deployments
|
|
- mat-06-kubernetes-intro#desired-state-observed-state-and-reconciliation
|
|
Rubric:
|
|
- Folder exists at the required path and contains exactly pod.yaml and deployment.yaml. (5)
|
|
- pod.yaml is a valid Pod manifest that runs a container image and exposes at least one container port. (15)
|
|
- deployment.yaml is a valid Deployment manifest that references a Pod template and sets replicas. (15)
|
|
|
|
## T3
|
|
Type: file
|
|
Points: 25
|
|
Prompt: Create file @solutions/kubernetes-intro/lab/kubeconfig_notes.md explaining (a) what kubectl does on every command and (b) the purpose of clusters, users, contexts, and current-context in kubeconfig.
|
|
Refs:
|
|
- mat-06-kubernetes-intro#what-kubectl-does-per-command
|
|
- mat-06-kubernetes-intro#kubeconfig-structure-clusters-users-contexts-current-context
|
|
Rubric:
|
|
- Correctly explains the three kubectl steps (REST request, target cluster via current context, credentials via current context). (10)
|
|
- Correctly explains clusters, users, contexts, and current-context and how they relate. (10)
|
|
- Writing is clear, structured with headings/bullets, and uses accurate terminology from the material. (5)
|
|
|
|
## T4
|
|
Type: mcq
|
|
Points: 15
|
|
Prompt: In Docker Desktop, which Kubernetes option is emphasized as necessary to create a multi-node cluster (not single-node)?
|
|
Refs:
|
|
- mat-06-kubernetes-intro#deploy-docker-desktop-built-in-multi-node-cluster
|
|
Choices:
|
|
- [x] kind (sign-in required)
|
|
- [ ] kubeadm
|
|
- [ ] minikube
|
|
- [ ] k3s
|
|
|
|
## T5
|
|
Type: essay
|
|
Points: 15
|
|
Prompt: In 6-8 sentences, explain why Kubernetes Services are needed for stable networking to Pods, and name at least two events that cause Pod IP churn.
|
|
Refs:
|
|
- mat-06-kubernetes-intro#services-and-stable-networking
|
|
- mat-06-kubernetes-intro#pod-lifecycle
|
|
- mat-06-kubernetes-intro#pods-as-the-unit-of-scaling
|
|
Rubric:
|
|
- Explains why clients cannot reliably connect to individual Pods and connects this to Pod mortality/IP churn. (7)
|
|
- Names at least two sources of churn (failures, rollouts, scale up, scale down) and explains them. (5)
|
|
- Describes the Service front end (stable name/IP/port) and back end (labels + healthy Pods + load balancing). (3)
|