mirror of
				https://github.com/kubernetes-sigs/external-dns.git
				synced 2025-10-31 18:50:59 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Ingress source
 | |
| 
 | |
| The ingress source creates DNS entries based on `Ingress.networking.k8s.io` resources.
 | |
| 
 | |
| ## Filtering the Ingresses considered
 | |
| 
 | |
| The `--ingress-class` flag filters Ingress resources by a set of ingress classes.
 | |
| The flag may be specified multiple times in order to
 | |
| allow multiple ingress classes.
 | |
| 
 | |
| This source supports the `--label-filter` flag, which filters Ingress resources
 | |
| by a set of labels.
 | |
| 
 | |
| ## Domain names
 | |
| 
 | |
| The domain names of the DNS entries created from an Ingress are sourced from the following places:
 | |
| 
 | |
| 1. Iterates over the Ingress's `spec.rules`, adding any non-empty `host`.
 | |
| 
 | |
|   This behavior is suppressed if the `--ignore-ingress-rules-spec` flag was specified
 | |
| or the Ingress had an
 | |
| `external-dns.alpha.kubernetes.io/ingress-hostname-source: annotation-only` annotation. 
 | |
| 
 | |
| 2. Iterates over the Ingress's `spec.tls`, adding each member of `hosts`.
 | |
| 
 | |
|   This behavior is suppressed if the `--ignore-ingress-tls-spec` flag was specified
 | |
| or the Ingress had an
 | |
| `external-dns.alpha.kubernetes.io/ingress-hostname-source: annotation-only` annotation, 
 | |
| 
 | |
| 3. Adds the hostnames from any `external-dns.alpha.kubernetes.io/hostname` annotation.
 | |
| 
 | |
|   This behavior is suppressed if the `--ignore-hostname-annotation` flag was specified
 | |
| or the Ingress had an
 | |
| `external-dns.alpha.kubernetes.io/ingress-hostname-source: defined-hosts-only` annotation.
 | |
| 
 | |
| 4. If no DNS entries were produced for an Ingress by the previous steps
 | |
| or the `--combine-fqdn-annotation` flag was specified, then adds hostnames
 | |
| generated from any`--fqdn-template` flag.
 | |
| 
 | |
| ## Targets
 | |
| 
 | |
| The targets of the DNS entries created from an Ingress are sourced from the following places:
 | |
| 
 | |
| 1. If the Ingress has an `external-dns.alpha.kubernetes.io/target` annotation, uses 
 | |
| the values from that. 
 | |
| 
 | |
| 2. Otherwise, iterates over the Ingress's `status.loadBalancer.ingress`, 
 | |
| adding each non-empty `ip` and `hostname`. 
 |