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/tutorials/contour.md
+4-37Lines changed: 4 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,10 @@
1
1
# Setting up External DNS with Contour
2
2
3
-
This tutorial describes how to configure External DNS to use either the Contour `IngressRoute` or `HTTPProxy` source.
4
-
The `IngressRoute` CRD is deprecated but still in-use in many clusters however it's recommended that you migrate to the `HTTPProxy` resource.
3
+
This tutorial describes how to configure External DNS to use the Contour `HTTPProxy` source.
5
4
Using the `HTTPProxy` resource with External DNS requires Contour version 1.5 or greater.
6
5
7
6
### Example manifests for External DNS
8
7
#### Without RBAC
9
-
Note that you don't need to enable both of the sources and if you don't enable `contour-ingressroute` you also don't need to configure the `contour-load-balancer` setting.
10
8
11
9
```yaml
12
10
apiVersion: apps/v1
@@ -30,9 +28,7 @@ spec:
30
28
args:
31
29
- --source=service
32
30
- --source=ingress
33
-
- --source=contour-ingressroute # To enable IngressRoute support
34
-
- --source=contour-httpproxy # To enable HTTPProxy support
35
-
- --contour-load-balancer=custom-contour-namespace/custom-contour-lb # For IngressRoute ONLY: load balancer service to be used. Omit to use the default (heptio-contour/contour)
31
+
- --source=contour-httpproxy
36
32
- --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
37
33
- --provider=aws
38
34
- --policy=upsert-only # would prevent ExternalDNS from deleting any records, omit to enable full synchronization
@@ -62,11 +58,6 @@ rules:
62
58
- apiGroups: [""]
63
59
resources: ["nodes"]
64
60
verbs: ["list"]
65
-
# This section is only for IngressRoute
66
-
- apiGroups: ["contour.heptio.com"]
67
-
resources: ["ingressroutes"]
68
-
verbs: ["get","watch","list"]
69
-
# This section is only for HTTPProxy
70
61
- apiGroups: ["projectcontour.io"]
71
62
resources: ["httpproxies"]
72
63
verbs: ["get","watch","list"]
@@ -106,9 +97,7 @@ spec:
106
97
args:
107
98
- --source=service
108
99
- --source=ingress
109
-
- --source=contour-ingressroute # To enable IngressRoute support
110
-
- --source=contour-httpproxy # To enable HTTPProxy support
111
-
- --contour-load-balancer=custom-contour-namespace/custom-contour-lb # For IngressRoute ONLY: load balancer service to be used. Omit to use the default (heptio-contour/contour)
100
+
- --source=contour-httpproxy
112
101
- --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
113
102
- --provider=aws
114
103
- --policy=upsert-only # would prevent ExternalDNS from deleting any records, omit to enable full synchronization
@@ -162,9 +151,8 @@ spec:
162
151
EOF
163
152
```
164
153
165
-
Then create either a `HTTPProxy` or an `IngressRoute`
app.Flag("cf-username", "The username to log into the cloud foundry API").Default(defaultConfig.CFUsername).StringVar(&cfg.CFUsername)
409
407
app.Flag("cf-password", "The password to log into the cloud foundry API").Default(defaultConfig.CFPassword).StringVar(&cfg.CFPassword)
410
408
411
-
// Flags related to Contour
412
-
app.Flag("contour-load-balancer", "The fully-qualified name of the Contour load balancer service. (default: heptio-contour/contour)").Default("heptio-contour/contour").StringVar(&cfg.ContourLoadBalancerService)
app.Flag("skipper-routegroup-groupversion", "The resource version for skipper routegroup").Default(source.DefaultRoutegroupVersion).StringVar(&cfg.SkipperRouteGroupVersion)
app.Flag("openshift-router-name", "if source is openshift-route then you can pass the ingress controller name. Based on this name external-dns will select the respective router from the route status and map that routerCanonicalHostname to the route host while creating a CNAME record.").StringVar(&cfg.OCPRouterName)
423
418
app.Flag("namespace", "Limit sources of endpoints to a specific namespace (default: all namespaces)").Default(defaultConfig.Namespace).StringVar(&cfg.Namespace)
424
419
app.Flag("annotation-filter", "Filter sources managed by external-dns via annotation using label selector semantics (default: all sources)").Default(defaultConfig.AnnotationFilter).StringVar(&cfg.AnnotationFilter)
0 commit comments