A Kubernetes operator that deploys and manages the InvokeAI generative AI platform with pluggable vLLM inference backends.
The InvokeAI Operator automates the deployment and lifecycle management of an InvokeAI instance backed by vLLM / vLLM-Omni inference services on Kubernetes and OpenShift.
A single InvokeAIPlatform custom resource replaces manual Helm installs and
kubectl wrangling. The operator's reconciliation loop continuously ensures the
desired state — creating Deployments, Services, KServe ServingRuntimes, and InferenceServices,
wiring environment variables, and reporting per-backend health via the CR
status.
Key capabilities:
- Declarative backend management — list inference backends (reasoning, image generation) in the CR spec; the operator creates and configures the corresponding KServe InferenceServices.
- Backend swapping — change a model field and the operator handles the rollout: updates the InferenceService, waits for the new model to load, and re-wires InvokeAI automatically.
- Self-healing — accidentally deleted Deployments or InferenceServices are recreated within seconds.
- Status reporting —
status.phase(Pending / Deploying / Ready / Degraded) and per-backend readiness give cluster admins a single pane of glass.
Built with the Operator SDK (Go). Companion project: invokeai-vllm-omni-bridge.
- Go 1.25+
- Docker or Podman
- kubectl
- Access to a Kubernetes cluster with KServe installed
Build and push the operator image:
make docker-build docker-push IMG=<your-registry>/invokeai-operator:tagInstall the CRDs and deploy the controller:
make install
make deploy IMG=<your-registry>/invokeai-operator:tagApply the sample CR:
kubectl apply -k config/samples/kubectl delete -k config/samples/
make uninstall
make undeployApache 2.0 — see LICENSE.