Add a primary (write) Service routing to pod-0 #7
Reference in New Issue
Block a user
Delete Branch "benvin/primary-write-service"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Stacked on #6 (reuses the externalTrafficPolicy field) — merge #6 first; the diff collapses to just this change after.
Why
Secondaries reject RFC2136/nsupdate writes, but the read Service round-robins across all pods, so writes land on a secondary ~2/3 of the time. Adds a dedicated write endpoint to the primary pod. AXFR replication (reads) is already handled by the catalog zone.
Changes
BindCluster.spec.primaryService(*ClusterServiceSpec, optional): creates<cluster>-primaryselecting only pod-0 (viastatefulset.kubernetes.io/pod-name). ClusterIP for in-cluster writers (external-dns), LoadBalancer for external. Deleted when unset.Follow-up
Merge #6 + this → tag v0.1.5 (single tag covers both); then in argocd set primaryService on externaldns (ClusterIP) + authoritative (LoadBalancer), and point external-dns's rfc2136-host at bind-externaldns-primary.