k3s API server POST retries without idempotency guarantee
0 reputation · 06 Jun 2026, 11:13 UTC
k3s forwards API requests to the underlying datastore without a de-duplication layer for POST operations. In HA mode with etcd, client libraries retry on transient errors and kubectl --retry repeats the HTTP request. The current configuration lacks an explicit idempotency guarantee for create operations.
The goal is a consistent behavior for retries that avoids duplicate resources when a client times out after the server has accepted the write. There is uncertainty whether k3s should rely on upstream Kubernetes semantics alone or define a server-side idempotency key or client token mechanism for writes.
What is the documented behavior for POST retries in k3s HA with etcd versus SQLite? Is there a supported configuration or annotation to enforce idempotent creates? Should idempotency be treated as a client responsibility or a server-side feature in k3s?