Components & Data Flow
The c8s components and the certificate, attestation, and public-routing flows on confidential Kubernetes nodes.
c8s runs ordinary Kubernetes workloads inside confidential nodes. The node is the attested trust unit; pods on it share one TEE boundary. c8s adds attestation verification, a certificate authority, an RA-TLS mesh, image admission, and an attested public router.
Components
| Component | Role |
|---|---|
| CDS | Verifies evidence, serves the image allowlist, signs the mesh CA and workload certificates |
| c8s operator and webhook | Reconcile workloads and inject the c8s-cert, secret, and volume sidecars |
| attestation-api | Obtains node TEE evidence; baked into the bare-metal image or deployed by the chart on GKE and AKS |
| ratls-mesh | Node DaemonSet that protects service traffic with mutually attested TLS |
| nri-image-policy | Fail-closed image admission and sandbox inventory; baked into the bare-metal image or installed on managed nodes |
| get-cert | Obtains CDS-issued certificates for confidential workloads |
| get-secret and get-volume | Deliver authorized secrets and encrypted volumes to workloads |
| router | Public nginx front door with attestation and allowlist proxy sidecars |
| volumed | Node agent for encrypted volumes; enabled with c8s install --volumes |
The operator is control-plane orchestration. A workload certificate is issued only after CDS verifies node evidence, the sandbox token, and the admitted image digests. The inventory binds a process to its pod sandbox using local peer credentials; CDS checks that inventory over RA-TLS. The signed certificate then binds the workload identity to the verified sandbox.
Deployment modes
c8s install requires --cvm-mode=bare-metal, gke, or aks. The self-managed bare-metal image includes the attestation API and image-policy plugin. GKE and AKS use provider node images, so the chart deploys those services on the nodes. All three modes keep the node as one trust domain; see trust boundaries.
Certificate and traffic flow
node evidence -> CDS verification -> workload certificate
public client -> router -> node mesh -> workload
workload -> mutually attested node mesh -> CDS or another workloadThe router terminates public TLS and forwards an adopted workload's upstream through its headless Service. The node mesh intercepts that service's pod-IP traffic and wraps the hop in attested mTLS. For an upstream outside c8s-managed service discovery, configure verified HTTPS instead. See install, verification, and the image allowlist.