You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/release.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,7 @@ You must be an official maintainer of the project to be able to do a release.
31
31
- Branch out from the default branch and run `scripts/kustomize-version-updater.sh` to update the image tag used in the kustomization.yaml.
32
32
- Create an issue to release the corresponding Helm chart via the chart release process (below) assigned to a chart maintainer
33
33
- Create a PR with the kustomize change.
34
-
- Create a PR to replace all versions for docker images in the tutorials. A possible script to use is `sd registry.k8s.io/external-dns/external-dns:v0.15.0`
34
+
- Create a PR to replace all versions for docker images in the tutorials. A possible script to use is `sd registry.k8s.io/external-dns/external-dns:v0.15.1`
dnsendpoint.externaldns.k8s.io "examplednsrecord" created
98
98
```
99
99
@@ -107,6 +107,69 @@ INFO[0000] CREATE: foo.bar.com 180 IN A 192.168.99.216
107
107
INFO[0000] CREATE: foo.bar.com 0 IN TXT "heritage=external-dns,external-dns/owner=default"
108
108
```
109
109
110
+
#### Using CRD source to manage DNS records in different DNS providers
111
+
112
+
[CRD source](https://github.com/kubernetes-sigs/external-dns/blob/master/docs/sources/crd.md) provides a generic mechanism and declarative way to manage DNS records in different DNS providers using external-dns.
113
+
114
+
**Not all the record types are enabled by default so the required record types must be enabled by using `--managed-record-types`.**
115
+
116
+
```bash
117
+
external-dns --source=crd \
118
+
--domain-filter=example.com \
119
+
--managed-record-types=A \
120
+
--managed-record-types=CNAME \
121
+
--managed-record-types=NS
122
+
```
123
+
124
+
* Example for record type `A`
125
+
126
+
```yaml
127
+
apiVersion: externaldns.k8s.io/v1alpha1
128
+
kind: DNSEndpoint
129
+
metadata:
130
+
name: examplearecord
131
+
spec:
132
+
endpoints:
133
+
- dnsName: example.com
134
+
recordTTL: 60
135
+
recordType: A
136
+
targets:
137
+
- 10.0.0.1
138
+
```
139
+
140
+
* Example for record type `CNAME`
141
+
142
+
```yaml
143
+
apiVersion: externaldns.k8s.io/v1alpha1
144
+
kind: DNSEndpoint
145
+
metadata:
146
+
name: examplecnamerecord
147
+
spec:
148
+
endpoints:
149
+
- dnsName: test-a.example.com
150
+
recordTTL: 300
151
+
recordType: CNAME
152
+
targets:
153
+
- example.com
154
+
```
155
+
156
+
* Example for record type `NS`
157
+
158
+
```yaml
159
+
apiVersion: externaldns.k8s.io/v1alpha1
160
+
kind: DNSEndpoint
161
+
metadata:
162
+
name: ns-record
163
+
spec:
164
+
endpoints:
165
+
- dnsName: zone.example.com
166
+
recordTTL: 300
167
+
recordType: NS
168
+
targets:
169
+
- ns1.example.com
170
+
- ns2.example.com
171
+
```
172
+
110
173
### RBAC configuration
111
174
112
175
If you use RBAC, extend the `external-dns` ClusterRole with:
- --domain-filter=external-dns-test.my-org.com # will make ExternalDNS see only the hosted zones matching provided domain, omit to process all available hosted zones
- --domain-filter=external-dns-test.my-org.com # will make ExternalDNS see only the hosted zones matching provided domain, omit to process all available hosted zones
0 commit comments