memory_mibis both the memory request and the limit, so the service is capped at it.cpu_millicoresis both the CPU request and the limit, where 1000 is one core, so the service is capped at it.storage_gibis the size of each volume, taken from the cluster’s default StorageClass. A volume never shrinks, and it can only grow where the StorageClass allows volume expansion.
PostgreSQL
Packagepostgresql 1.8.0: PostgreSQL 18.6, run by the CloudNativePG operator.
Setup refuses the Production tier with any instance count but 3, on a playground, when Ankra has no recent view of the cluster’s nodes, and on a cluster with fewer than three nodes that can run them (Ready, not cordoned, and with no
NoSchedule or NoExecute taint). The check runs only at setup: if the cluster later has fewer than three such nodes, the instance that lost its node stays Pending until a node is added, and draining a node that runs another instance waits too.
With one instance the database keeps no PodDisruptionBudget, so draining its node restarts it rather than blocking node maintenance. With 2 or 3 instances, the PodDisruptionBudget lets a drain proceed through a switchover and never takes every instance down at once.
Valkey
Packagevalkey 1.4.0: Valkey 9.1.
NATS
Packagenats 1.2.0: NATS 2.15 with JetStream.
OpenSearch
Packageopensearch 1.4.0: OpenSearch 3.9, as a single node with the security plugin on.
SeaweedFS
Packageseaweedfs 1.5.0: SeaweedFS 4.48 with an S3-compatible API, as one pod on one volume.
VictoriaLogs
Packagevictoria-logs 1.2.0: VictoriaLogs 1.52, as a single server.
VictoriaMetrics
Packagevictoria-metrics 1.2.0: VictoriaMetrics 1.153, as a single server.
GPU chat
Packagegpu-chat 1.0.0: capability inference, protocol openai. It gives the applications connected to it an OpenAI-compatible endpoint inside the cluster: a LiteLLM broker in front of vLLM, routed by llm-d, on a GPU node, plus a Secret with its credentials. It can also run the Open WebUI chat interface.
The cluster needs a Ready, schedulable node that advertises nvidia.com/gpu, which the NVIDIA device plugin publishes and Ankra does not install, with gpu_count GPUs on one node for each replica. Ankra counts the GPUs a node has, not the ones other pods hold, so a replica on a cluster whose GPUs are busy stays Pending and says why. Without such a node, setup is refused and says why.
Health checks
Ankra decides a service’s health from these checks, read from its synced view of the service’s cluster, in the service’s namespace.
Every service is also checked for the stack that owns it: a member that failed to apply or is being removed, or a stack that is gone or being removed, reads
degraded.
Readiness check
Every service has a readiness check: a short-lived pod the cluster’s agent starts in the service’s namespace, which connects to the service’s primary address as a client would.<service> stands for the service name.
Every check image, PostgreSQL’s included, is pinned by digest as well as the tag shown, and the digest decides what the cluster pulls. What each check does is listed under Readiness. The PostgreSQL check runs
psql -h postgresql-rw.<service>.svc.cluster.local -p 5432 -U app -d app -c "SELECT 1".
At most one check pod runs on a cluster at a time.
Related
Set up a managed service
Where these settings are chosen.
Connect to a managed service
Addresses and credentials for each service.
Managed services
What each health and readiness state means.