tutorpackSee prices
All courses

IT & cloud certifications · course 54 of 105

Kubernetes Manifests, Pod to Service

Read and write the YAML that tells Kubernetes what to run: Pods and their manifests, Deployments, labels and selectors, and Services from ClusterIP to NodePort.

4 modules

Not on sale yet. When sales open: $4.99 for this course, paid once, or every course for $9.99 a month. Prices

Preview

What it teaches

Reading and writing the YAML files (manifests) that tell Kubernetes what to run. The words (cluster, node, Pod, container, Deployment, ReplicaSet, Service, label, selector, manifest, kubectl apply), then Pods and manifests (the four top-level fields, which apiVersion goes with which kind, container fields, "is this manifest valid?", writing a Pod), Deployments and labels (replicas, selector vs the template’s labels, which Pods an equality-based or set-based selector picks, writing a Deployment) and Services (ClusterIP, NodePort, LoadBalancer, port vs targetPort vs nodePort, which Pods a Service reaches, writing a Service). The AI asks 3 questions, places you, shows a short card per module, then gives you one question at a time. Typed YAML is graded on meaning, not on a whole-file match: key order, quoting style, indentation and comments don’t matter, but the fields, values and types must match the answer key.

Not a cluster course: nothing is applied, run or debugged, and it can’t judge your own manifests.

How long

42 questions. About 30-45 rounds for someone who already knows some Kubernetes, up to about 70-90 for a beginner, plus a 12-item final: 2-3 sessions (estimate, not timed with a real student). The tutor gives a one-line save code at the end of each session.

The modules

4 modules, drilled one item at a time.

  1. M0

    The words

    The words: cluster, node, Pod, container, Deployment, ReplicaSet, Service, label, selector, manifest, kubectl apply

  2. M1

    Pods and manifests

    Pod manifests: the four top-level fields, apiVersion and kind, is it valid?, and writing a Pod

  3. M2

    Deployments and labels

    Deployments and labels: replicas, selector against template labels, which Pods a selector picks, writing a Deployment

  4. M3

    Services

    Services: ClusterIP, NodePort, LoadBalancer, port against targetPort against nodePort, which Pods a Service reaches, writing a Service

Before it teaches, it asks

  1. 1
    What do you use Kubernetes or Docker for (work, a course, a certificate, nothing yet), and have you written a manifest before?
  2. 2
    Which apiVersion goes with kind: Deployment?
  3. 3
    Which field of a Deployment’s spec sets how many Pods it runs, and how many does it run if you leave that field out?

What’s exact, and what isn’t

Show

Straight from the course’s own notes.

Words and recall Keys
The cards and the working lines quote six kubernetes.io pages (Glossary, Objects, Labels, Deployment, Service, kubectl apply) word for word, read 2026-10-13. A script checks 61 quotes on saved copies of the pages; it does not re-fetch the live pages. The M0 Answers are the quotes themselves (a script builds each from a saved quote). The recall keys (a field name, an apiVersion, a Service type) are short statements of what those quotes say, written by hand: a script checks the quotes exist, not that a statement restates them. The pages say “Documentation Distributed under CC BY 4.0”; the course’s source list credits them.
Manifests
Every complete manifest in the course (the ones in the questions, every write key, every wrong-answer manifest, the page examples on the cards; selector snippets are not manifests) is run through kubeconform 0.8.0 in strict mode, offline, against local copies of three JSON schemas (Pod, Deployment, Service). “Valid” in this course means kubeconform accepted it. A “not valid” Key names the one field and message kubeconform reports. A wrong answer for a manifest is proven by kubeconform, or by a quoted rule plus a script; a wrong answer for a recall question (for example metadata for “which field says what state you want”) rests on the quoted page text.
Rules the schema does not check
The Deployment rule (“.spec.selector must match .spec.template.metadata.labels, or it will be rejected by the API”) and the NodePort range (default 30000-32767). They are quoted from the pages and checked by script; kubeconform passes manifests that break them, and the questions or working lines say so.
Which Pods a selector picks
Computed by script from the Labels page’s rules (equality-based =, ==, !=; set-based in, notin, bare key; matchLabels and matchExpressions with In, NotIn, Exists, DoesNotExist; every requirement ANDed). The script is tested against the page’s own worked examples first. A Service’s selector is a plain map of label pairs (the Labels page: “only equality-based requirement selectors are supported”).
Kubernetes version
The kubernetes.io docs on 2026-10-13 are for v1.37. The schemas are v1.37.1 (from the yannh/kubernetes-json-schema repo, commit 817113f2, Apache-2.0 notice): the same minor version as the docs, and the latest 1.37 patch the repo has. One version only; newer docs or schemas can differ.
Honest limits
No cluster. Nothing is applied or run, so what happens at runtime (scheduling, rollouts, restarts, how a Service routes traffic) appears only where a page says it. kubeconform checks the schema, not every rule the API server enforces. The course can’t judge your own manifests or cluster. The docs change; this is a v1.37 snapshot.
Not in it yet
Other kinds (ConfigMap, Secret, Ingress, StatefulSet, Job), Helm and Kustomize, rollout and update settings, probes, resource limits, volumes, RBAC, building images, namespaces beyond one line on the M0 card, ExternalName Services and headless Services. ReplicaSet and node are covered as words only (M0).