F5BigDnsLocalZone¶
The F5BigDnsLocalZone Custom Resource Definition (CRD) defines an authoritative DNS zone on F5 BIG-IP Next. Use this CRD to create and manage DNS zones, including their Start of Authority (SOA) settings, zone options, and resource records.
You can define individual DNS records using the records field, or provide a complete zone file using the zoneFile field. Each zone can be assigned to a specific BIND view using the viewName field, and supports standard zone types including primary, secondary, stub, and forward.
When you create or update an F5BigDnsLocalZone resource, ZoneRunner automatically detects the changes and applies only the necessary updates to BIND, without rebuilding the entire zone.
Parameters¶
The following tables describe the F5BigDnsLocalZone CR parameters.
metadata¶
| Parameter | Description |
|---|---|
name |
The name of the DNS zone. |
namespace |
The namespace where the DNS zone is installed. |
Spec¶
Field |
Type |
Required |
Default |
Description |
|---|---|---|---|---|
|
string |
Yes |
— |
The fully qualified domain name (FQDN) of the DNS zone (for example, |
|
string |
No |
|
The zone type. Valid values: |
|
string |
No |
|
The BIND view this zone belongs to. Must match the |
|
string |
No |
|
The primary nameserver hostname in the Start of Authority (SOA) record. |
|
string |
No |
|
The responsible person email in the SOA record (use a dot instead of |
|
integer |
No |
|
The SOA refresh interval in seconds. Tells secondary servers how often to check for zone updates. |
|
integer |
No |
|
The SOA retry interval in seconds. Tells secondary servers how long to wait before retrying a failed refresh. |
|
integer |
No |
|
The SOA expire time in seconds. After this time without a successful refresh, secondaries stop serving the zone. |
|
integer |
No |
|
The SOA minimum TTL in seconds. Used as the TTL for negative (NXDOMAIN) responses. |
|
string |
No |
|
Controls how the SOA serial number is updated. Valid values: |
|
string[] |
No |
— |
BIND zone options in standard syntax (for example, |
|
string |
No |
— |
Raw zone file content. When set, this overrides |
|
object[] |
No |
— |
DNS resource records for the zone. |
|
string |
Yes |
The record name relative to the zone origin. Use |
|
|
string |
Yes |
The DNS record type (for example, |
|
|
integer |
No |
|
The Time to Live (TTL) in seconds. |
|
string |
Yes |
The record data in standard BIND |
The admission webhook enforces a maximum of 256 F5BigDnsLocalZone resources per controller namespace.
Configure F5BigDnsLocalZone¶
Prerequisites¶
Make sure:
BIG-IP Next CNF 2.4 or later is installed and the F5 Ingress controller is running.
You have
ocaccess to the CNF cluster with permissions to create Custom Resources.
Apply DNS local zone¶
Copy the F5BigDnsLocalZone example CR below to a YAML file.
apiVersion: k8s.f5net.com/v1
kind: F5BigDnsLocalZone
metadata:
name: example-zone
namespace: default
spec:
zoneName: example.com
zoneType: primary
viewName: default
soaMname: ns1.example.com
soaRname: admin.example.com
soaSerialStrategy: increment
options:
- "allow-transfer { 10.0.0.5; }"
- "also-notify { 10.0.0.10; }"
records:
- name: "@"
type: NS
ttl: 3600
rdata: "ns1.example.com."
- name: "ns1"
type: A
ttl: 3600
rdata: "10.0.0.1"
- name: "www"
type: A
ttl: 300
rdata: "10.0.0.100"
- name: "mail"
type: MX
ttl: 3600
rdata: "10 mail.example.com."
- name: "@"
type: TXT
ttl: 3600
rdata: "\"v=spf1 mx -all\""
- name: "api"
type: A
ttl: 60
rdata: "10.0.0.50"
- name: "_sip._tcp"
type: SRV
ttl: 3600
rdata: "0 0 5060 sip.example.com."
- name: "ipv6"
type: AAAA
ttl: 3600
rdata: "2001:db8::1"
Apply the CR to your cluster:
oc apply -f example-zone.yaml