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