Späť na blog
2026-05-22Serverless

OpenShift Serverless (Knative)

Scale-to-zero a event-driven workloady na Knative.

OpenShift Serverless je Knative Serving + Eventing zabalené do operátora. Nasadíš cez OperatorHub, vytvoríš KnativeServing a KnativeEventing CR v namespace `knative-serving`/`knative-eventing` a máš serverless platformu.

Knative Service (`kind: Service` v `serving.knative.dev/v1`) je high-level abstrakcia. Napíšeš len image a URL – Knative sa postará o Deployment, Route, autoscaler a revíziu. Scale-to-zero po 60 sekundách bez requestu je default, prvý request má cold start ~1-3s (podľa image).

Autoscaling je concurrency-based, nie CPU-based. `autoscaling.knative.dev/target: "10"` znamená 10 konkurentných requestov na pod. KPA (Knative Pod Autoscaler) reaguje v sekundách, čo je omnoho rýchlejšie než HPA. Pre steady-state workload siahni po HPA cez `class: hpa.autoscaling.knative.dev`.

Traffic splitting je zabudovaný. Definuj `traffic:` v Knative Service s revision name a percentom – 90% na v1, 10% na v2 pre canary. Blue/green je jeden `kubectl apply` s 0/100 → 100/0 flipom. Progresívne rollouty netreba riešiť externým nástrojom.

Eventing je druhá polovica príbehu. Broker + Trigger prijíma CloudEvents z rôznych zdrojov (Kafka, GitHub webhook, PingSource cron, custom) a routuje ich na Knative Services. Ideálne na event-driven workflow – file uploaded → resize image → notify user – všetko ako malé serverless functions bez dedikovaného kódu na routing.