Deploy binddns-auth (authoritative BIND cluster) (#220)
Part of the bind rollout split. **Merge #219 (bind-operator) first** — this PR is stacked on it, so its diff will reduce to just the binddns-auth files once #219 merges. ## Why The authoritative masters tier (replaces 3x Puppet authoritative servers): pod-0 primary + 2 secondaries replicating via the catalog zone + AXFR/IXFR. ## Changes - `apps/base/binddns-auth`: authoritative `BindCluster` (3 replicas, LoadBalancer/PureLB), `BindCatalogZone`, transfer `BindTSIGKey`, namespace - au-syd1 `binddns-auth` overlay ## Deploy impact Creates the `binddns-auth` StatefulSet + LoadBalancer once merged. Reviewed-on: #220 Co-authored-by: Ben Vincent <ben@unkin.net> Co-committed-by: Ben Vincent <ben@unkin.net>
This commit was merged in pull request #220.
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
---
|
||||
# Authoritative masters (replaces the 3x Puppet authoritative servers).
|
||||
# pod-0 is the primary; pods 1-2 replicate via the catalog zone + AXFR/IXFR.
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindCluster
|
||||
metadata:
|
||||
name: auth
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
mode: authoritative
|
||||
replicas: 3
|
||||
storageClassName: cephrbd-fast-delete
|
||||
storageSize: 2Gi
|
||||
service:
|
||||
type: LoadBalancer
|
||||
annotations:
|
||||
purelb.io/service-group: common
|
||||
purelb.io/addresses: 198.18.200.6
|
||||
external-dns.alpha.kubernetes.io/hostname: ns-auth.k8s.syd1.au.unkin.net
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 128Mi
|
||||
limits:
|
||||
cpu: "1"
|
||||
memory: 512Mi
|
||||
---
|
||||
# Catalog zone so new BindZones auto-provision onto the secondaries.
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindCatalogZone
|
||||
metadata:
|
||||
name: auth-catalog
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: catalog.internal
|
||||
transferKeyRef: transfer-key
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- tsigkey.yaml
|
||||
- cluster.yaml
|
||||
- zones.yaml
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: ns-auth
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
# Zone-transfer / catalog key. The operator generates the material into a
|
||||
# Secret (transfer-key-tsig); nothing sensitive is committed to git.
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindTSIGKey
|
||||
metadata:
|
||||
name: transfer-key
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
algorithm: hmac-sha256
|
||||
@@ -0,0 +1,204 @@
|
||||
# Authoritative zones migrated from puppet-prod
|
||||
# (profiles::dns::master::zones in hieradata/roles/infra/dns/master.yaml).
|
||||
# type primary, static (puppet dynamic:false); TTL 600 as in the puppet zone header.
|
||||
# Record data is populated by PuppetDB exported resources upstream, so it is
|
||||
# NOT in this repo — migrate it into these zones (AXFR from the current masters,
|
||||
# or DNSRecord CRs) as a follow-up. The zones start with SOA+NS only.
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindZone
|
||||
metadata:
|
||||
name: unkin-net
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: unkin.net
|
||||
type: primary
|
||||
defaultTTL: 600
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindZone
|
||||
metadata:
|
||||
name: main-unkin-net
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: main.unkin.net
|
||||
type: primary
|
||||
defaultTTL: 600
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindZone
|
||||
metadata:
|
||||
name: 13-18-198-in-addr-arpa
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: 13.18.198.in-addr.arpa
|
||||
type: primary
|
||||
defaultTTL: 600
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindZone
|
||||
metadata:
|
||||
name: 14-18-198-in-addr-arpa
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: 14.18.198.in-addr.arpa
|
||||
type: primary
|
||||
defaultTTL: 600
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindZone
|
||||
metadata:
|
||||
name: 15-18-198-in-addr-arpa
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: 15.18.198.in-addr.arpa
|
||||
type: primary
|
||||
defaultTTL: 600
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindZone
|
||||
metadata:
|
||||
name: 16-18-198-in-addr-arpa
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: 16.18.198.in-addr.arpa
|
||||
type: primary
|
||||
defaultTTL: 600
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindZone
|
||||
metadata:
|
||||
name: 17-18-198-in-addr-arpa
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: 17.18.198.in-addr.arpa
|
||||
type: primary
|
||||
defaultTTL: 600
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindZone
|
||||
metadata:
|
||||
name: 19-18-198-in-addr-arpa
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: 19.18.198.in-addr.arpa
|
||||
type: primary
|
||||
defaultTTL: 600
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindZone
|
||||
metadata:
|
||||
name: 20-18-198-in-addr-arpa
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: 20.18.198.in-addr.arpa
|
||||
type: primary
|
||||
defaultTTL: 600
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindZone
|
||||
metadata:
|
||||
name: 21-18-198-in-addr-arpa
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: 21.18.198.in-addr.arpa
|
||||
type: primary
|
||||
defaultTTL: 600
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindZone
|
||||
metadata:
|
||||
name: 22-18-198-in-addr-arpa
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: 22.18.198.in-addr.arpa
|
||||
type: primary
|
||||
defaultTTL: 600
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindZone
|
||||
metadata:
|
||||
name: 23-18-198-in-addr-arpa
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: 23.18.198.in-addr.arpa
|
||||
type: primary
|
||||
defaultTTL: 600
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindZone
|
||||
metadata:
|
||||
name: 24-18-198-in-addr-arpa
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: 24.18.198.in-addr.arpa
|
||||
type: primary
|
||||
defaultTTL: 600
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindZone
|
||||
metadata:
|
||||
name: 25-18-198-in-addr-arpa
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: 25.18.198.in-addr.arpa
|
||||
type: primary
|
||||
defaultTTL: 600
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindZone
|
||||
metadata:
|
||||
name: 26-18-198-in-addr-arpa
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: 26.18.198.in-addr.arpa
|
||||
type: primary
|
||||
defaultTTL: 600
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindZone
|
||||
metadata:
|
||||
name: 27-18-198-in-addr-arpa
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: 27.18.198.in-addr.arpa
|
||||
type: primary
|
||||
defaultTTL: 600
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindZone
|
||||
metadata:
|
||||
name: 28-18-198-in-addr-arpa
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: 28.18.198.in-addr.arpa
|
||||
type: primary
|
||||
defaultTTL: 600
|
||||
---
|
||||
apiVersion: bind.unkin.net/v1alpha1
|
||||
kind: BindZone
|
||||
metadata:
|
||||
name: 29-18-198-in-addr-arpa
|
||||
namespace: ns-auth
|
||||
spec:
|
||||
clusterRef: auth
|
||||
zoneName: 29.18.198.in-addr.arpa
|
||||
type: primary
|
||||
defaultTTL: 600
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- ../../../base/ns-auth
|
||||
Reference in New Issue
Block a user