Kubernetes is an extensible API system for managing workloads across clusters. Its control plane schedules, scales, and recovers applications, while the data plane runs them on nodes. Although best known for containers, Kubernetes can manage WebAssembly workloads through extensible resources and operators. section 8.0 section 8.1
Kubernetes supports Wasm applications through familiar orchestration patterns:
- Define application-oriented Custom Resource Definitions instead of composing every application solely from deployments, services, and config maps. section 8.1
- Use an operator to interpret custom resources and reconcile them into running workloads. section 8.1
- Reuse Kubernetes capabilities such as scheduling, service discovery, load balancing, failure handling, and autoscaling. section 8.0 section 8.5
- Choose integrations such as SpinKube for Spin applications or wasmCloud for host environments managed through NATS and wadm. section 8.5
Deploying SmartCMS
A SmartCMS deployment pushes the application to a registry, adapts wadm.yaml for Kubernetes, deploys Ollama as the LLM backend, and applies the manifest with kubectl apply -f wadm.yaml. After checking wash app status smart-cms, port-forward the wasmCloud host and open the application locally. Logs from the wasmcloud-host container provide the first debugging step when deployment stalls. section 8.4 section 8.4.3
Figure 8.1 Kubernetes architecture showing the control plane (API server, scheduler, controller manager) and data plane (nodes with pods). The control plane manages cluster state and makes scheduling decisions, while the data plane runs the actual workloads. Users interact with the cluster through the API server, typically using kubectl commands or YAML manifests.
Use the architecture figure to distinguish API-server-driven control-plane decisions from workload execution in data-plane nodes. section 8.1





















