2739a29778
## Why kea-dhcp4 crash-loops on a cold container start: the HA hook resolves the StatefulSet peer URL hostnames once at config load, but the peer DNS records aren't resolvable in the first instant of a fresh container, and kea exits hard instead of retrying. Verified in-cluster that the rendered config validates once DNS is warm, so it's a startup race. kea-operator v0.1.3 gates dhcp4 startup on a bounded `kea-dhcp4 -t` retry (~120s, then proceeds/fails loud). ## How - bump kea-operator, kea, and kea-api images to v0.1.3 --------- Co-authored-by: Ben Vincent <neotheo@gmail.com> Reviewed-on: #344 Co-authored-by: Ben Vincent <ben@unkin.net> Co-committed-by: Ben Vincent <ben@unkin.net>
36 lines
1.0 KiB
YAML
36 lines
1.0 KiB
YAML
---
|
|
# HA pair fronted by a PureLB anycast Service on a NEW, unused common-pool IP
|
|
# (198.18.200.10). This is intentionally NOT the current isc-dhcpd anycast
|
|
# address (198.18.19.18) -- the production cutover is a separate later task.
|
|
apiVersion: kea.unkin.net/v1alpha1
|
|
kind: KeaCluster
|
|
metadata:
|
|
name: kea
|
|
namespace: dhcp-system
|
|
annotations:
|
|
argocd.argoproj.io/sync-wave: "1"
|
|
spec:
|
|
replicas: 2
|
|
image: git.unkin.net/unkin/kea:v0.1.3
|
|
domainName: main.unkin.net
|
|
defaultLeaseTime: 1200
|
|
maxLeaseTime: 86400
|
|
# No ntpServers: DHCP option 42 (ntp-servers) carries IPv4 addresses only, so
|
|
# the rotating AU pool.ntp.org hostnames cannot be delivered this way (kea
|
|
# rejects them at config load). Add concrete NTP server IPs here if needed.
|
|
ha:
|
|
mode: hot-standby
|
|
service:
|
|
type: LoadBalancer
|
|
ipAddressPool: common
|
|
loadBalancerIP: 198.18.200.10
|
|
annotations:
|
|
purelb.io/addresses: 198.18.200.10
|
|
resources:
|
|
requests:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
limits:
|
|
cpu: "1"
|
|
memory: 512Mi
|