mirror of
https://github.com/cozystack/cozystack.git
synced 2026-10-30 08:37:31 +09:00
The GPU admission webhooks need a Service, a serving certificate and webhook configurations, and the binder's metrics need a port a scrape can reach. All of it renders only with GPU enabled, which the platform sets where KubeVirt serves GPUs, so clusters without KubeVirt change nothing. The webhooks fail closed. The two mutating ones select only VMIs and virt-launcher pods carrying the device-reference label, the pod webhook also requiring the virt-launcher label, so of VMIs and pods a controller outage blocks only the start of VMs with device references; the GPUDevice webhook blocks new orders as well. The controller then runs two replicas behind a PDB, since a single fail-closed replica would block those starts on every rollout. Assisted-by: LLM Signed-off-by: Aleksei Sviridkin <f@lex.la>
29 lines
1.4 KiB
YAML
29 lines
1.4 KiB
YAML
cozystackController:
|
|
image: ghcr.io/cozystack/cozystack/cozystack-controller:v1.6.0@sha256:b01f6fe6e8fe6426b112fbda2b4abac946b4e45cd118137c9001c9e6ee784b3d
|
|
debug: false
|
|
disableTelemetry: false
|
|
# Base URL of a Prometheus-compatible query API to fetch SeaweedFS bucket
|
|
# size metrics from, for deployments where SeaweedFS and the monitoring
|
|
# stack that scrapes it run in a separate cluster. Empty keeps discovery
|
|
# via the namespace.cozystack.io/monitoring label.
|
|
seaweedfsMetricsEndpoint: ""
|
|
# Raising this gives the reconciliation loop a standby, not a second writer:
|
|
# the chart always passes --leader-elect, so exactly one manager holds the
|
|
# Lease and runs the reconcilers. With the default of 1 the extra Lease is
|
|
# the only difference from the previous hardcoded value.
|
|
replicas: 1
|
|
# Empty by default: no resources block is rendered, so requests and limits are
|
|
# opt-in. Idle usage (measured) is ~69Mi — keep a limit above that.
|
|
resources: {}
|
|
# GPUDevice placement and its admission webhooks. The platform enables it
|
|
# only where KubeVirt serves GPUs; it then runs two replicas, since the
|
|
# webhooks fail closed and would block GPU VM starts during a rollout.
|
|
gpu:
|
|
enabled: false
|
|
# Hoster's gpu.resourceNames: GPU resource names besides those of
|
|
# GPUClasses and node agents.
|
|
resourceNames: []
|
|
# allowed or forbidden: whether VMs and pods may request GPU resource
|
|
# names directly.
|
|
rawResourceNames: allowed
|