From 8f2224deca6aff136e406b655c69bd0ca4920a64 Mon Sep 17 00:00:00 2001
From: jwright The Exploded Cluster teaches how modern container platforms work by taking them apart,
literally. Each course is one machine drawn as a single exploded illustration, sliced into its
real components and wired to your scroll, so the architecture moves while the words explain it.
+ OpenShift is the teaching lens. oc is the command language. Kubernetes
+ primitives explain the machinery underneath. Occasional lab notes show a separate Kubernetes
+ environment where a concept was observed; they are not a claim that the lab runs OpenShift.
Start with the aperitif's four terminal commands - three that deliver, one that checks - and
finish knowing how a change travels from a Git commit to a running, secret-fed, digest-pinned workload on a fleet. The library at the end links only to official documentation, so every claim here can be
checked against its source. A note on the commands: this site uses oc,
- OpenShift's CLI. The Kubernetes commands here work the same
- under kubectl; oc is a superset, and the
- OpenShift-only parts (SCCs, Routes) are its own. Read
- kubectl in the docs, type whichever your cluster gives you. That 1/1 reads as containers-ready over containers-wanted: a pod
can hold more than one, which is Course IIIb. Three of those were delivery actions - build, push, apply, and the
@@ -171,6 +174,8 @@
alt="A small fleet mid-explosion: one wide command slab with a strong cyan seam
hovering above a row of three identical worker blocks, all floating apart in
the void.">
+
The scheduler places the pod. The kubelet realises it. The runtime runs it.
-Field note. Node NotReady? The kubelet is a systemd unit - like any other: journalctl -u kubelet on that node, and check it - can still reach the api-server. A node that cannot phone home is presumed lost.
+Field note. Node NotReady? + oc describe node shows its conditions and the last heartbeat, and + the node's events say what the platform already knows. When you need the node itself, + oc debug node/<name> is the supported doorway - not SSH. A + node that cannot phone home is presumed lost.
The control plane does not start container processes directly. It records and reconciles intent; node-side components execute it - the kubelet turning intent into instructions, the runtime turning instructions into processes.
diff --git a/pilot/assemble-arc.mjs b/pilot/assemble-arc.mjs index 6469cf1..3eb36e2 100644 --- a/pilot/assemble-arc.mjs +++ b/pilot/assemble-arc.mjs @@ -282,6 +282,7 @@ const banned = [ [/every manifest include<\/span>s/, "broken 'include s' construction"], [/two policies renders from one field/, "subject/verb error 'renders from one field'"], [/grown-up chart/, "'grown-up chart' (use 'production-grade chart')"], + [/journalctl -u kubelet/, "node-shell instruction (use oc describe / oc debug node)"], ]; // legend blurbs are inlined into the app JS (the SCENES const), so scan both surfaces const visible = html + "\n" + app;