Commit Graph

113 Commits

Author SHA1 Message Date
Eric Bailey
3fac88bd64 fix(service): omit nil endpoints and prefer endpointsForHostname()
Also add a test with an invalid hostname.
2024-03-04 17:38:29 +01:00
Nandor Galambosi
d7b0dfd781 service source uses externalIPs in ExternalName type if available 2023-10-29 10:58:46 +01:00
John Gardiner Myers
17e9637f11
Refactor getTTLFromAnnotations() to not return error (#3939)
* Refactor getTTLFromAnnotations() to not return error

* Improve log messages
2023-10-02 03:56:45 -07:00
John Gardiner Myers
7044fdf040 Use ServiceIP for ClusterIP Services with internal-hostname annotation 2023-09-16 17:33:30 -07:00
Kubernetes Prow Robot
fa332e9ed3
Merge pull request #3913 from johngmyers/doc-service
Document the Service source
2023-09-15 14:10:14 -07:00
John Gardiner Myers
da3fe0463c Document the Service source 2023-09-04 11:44:08 -07:00
Timofey Titovets
f696c514db fix: nodePort #2704 - publish ready endpoints
fix: lowercase local functions
chore: reuse nodes, cut logs
2023-08-29 19:16:51 +02:00
John Gardiner Myers
039f1a91fb refactor: simplify assignment to Service target list 2023-06-25 14:00:36 -07:00
John Gardiner Myers
4ee8bae85c refactor: don't iterate over load balancer if not using result 2023-06-25 12:28:23 -07:00
John Gardiner Myers
4417ad4894 Move EndpointKey to endpoints package 2023-06-18 16:47:37 -07:00
Kubernetes Prow Robot
fd501ddd7c
Merge pull request #3600 from johngmyers/ipv6-headless
Support AAAA records from headless services
2023-05-19 06:44:30 -07:00
Gabriel Martinez
9bbebf6c07
Merge remote-tracking branch 'remote/master' into target_annotation_for_service 2023-05-11 11:53:20 +01:00
John Gardiner Myers
41c705e471 Support AAAA records from headless services 2023-05-10 13:23:51 -07:00
John Gardiner Myers
683663e9c2 IPv6 internal node IPs are usable externally 2023-05-07 12:00:28 -07:00
Gabriel Martinez
3288cc2f98
feat(service): allow using target annotation 2023-05-06 14:48:54 +01:00
Charles Xu
1d232c4b86 feat: resolve LB-type Service hostname to create A/AAAA instead of CNAME 2023-04-18 21:10:56 -07:00
John Gardiner Myers
781ee3d71f Address review comments 2023-04-12 22:46:39 -07:00
Skyler Mäntysaari
6f42a8a2da Initial IPv6 support 2023-03-30 17:49:28 -07:00
Alfred Krohmer
ea45b03972 Headless service: allow to specify target as NodeExternalIP or by annotation
If external-dns.alpha.kubernetes.io/target annotation is present on a
pod, it's value will be used as the target for the headless service.

If annotation external-dns.alpha.kubernetes.io/access=public is present,
NodeExternalIP of the node running the pod is used as the target for the
headless service.
2022-05-05 19:44:32 +02:00
Andrey Lebedev
4f41229820 Pass stop channel to informer factory instances 2022-01-22 21:31:29 +01:00
Kubernetes Prow Robot
39931b7cb0
Merge pull request #2259 from mper0003/issue-2245
service: fix merging of endpoints - same hostname different set-identifier
2021-11-03 04:32:58 -07:00
Arjun Naik
d91b7e6b8f Label filtering for Ingress, Service, Openshift Route sources
Currently the `--label-filter` flag can only be used to filter CRDs
which match the label selector passed through that flag. This change
extends the functionality to the Ingress, Service and Openshift Route
type objects. When the flag is not specified the default value is
`labels.Everything()` which is an empty string, the same as before.
Annotation based filter is inefficient because the filtering has to be
done in the controller instead of the API server like with label
filtering.
2021-10-14 11:06:55 +02:00
Marlene
c1af8a40ec
do not merge endpoints with different set identifier 2021-08-29 16:25:55 +10:00
Andy Bursavich
60c649bf5c source: dedupe wait for cache sync
wait
2021-07-28 13:37:17 -07:00
Andy Bursavich
55637abbef source: dedupe event handlers 2021-07-28 13:36:35 -07:00
Andy Bursavich
b032f2864f source: dedupe template execution 2021-07-28 13:35:51 -07:00
Andy Bursavich
638194fccd source: dedupe template parsing 2021-07-28 07:46:35 -07:00
Ole Markus With
7a16ab46fa Add support for dns-controller compat mode for services 2021-06-23 09:06:38 +02:00
Allen Porter
a19deebe27 Avoid nil pointer deference in extractHeadlessEndpoints
Skip address when TargetRef is nil
2021-03-27 16:09:21 -07:00
Jaromir Vanek
94a50ada46 Correct format of SRV record for NodePort 2021-01-08 22:35:06 -08:00
Bas Toonk
18a60a5175 feat: use ClusterIP with internal-hostname annotation 2020-12-17 15:14:34 +01:00
Kubernetes Prow Robot
7639d72abb
Merge pull request #1446 from sagor999/share-dns-record
Allow multiple services to share same dns record
2020-10-16 02:53:25 -07:00
Pavel Tumik
f3b10ea054 update comment to explain edge case better 2020-10-15 06:54:15 -07:00
Pavel Tumik
0b4b4e45f4 Allow multiple services to share same dns record 2020-09-28 19:01:01 -07:00
Kubernetes Prow Robot
3c50299a9c
Merge pull request #1500 from burningalchemist/loadbalancer-externalip
Publish ExternalIPs for LoadBalancer services
2020-09-21 10:34:32 -07:00
Evan Baker
b75151e3e5
add service annotation to set public/private iface for NodePort
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2020-09-16 11:56:49 -04:00
Sergei Zyubin
cc6a1fb3e7
Add test for LoadBalancer and ExternalIPs 2020-09-12 12:04:07 +02:00
Sergei Zyubin
d06dff145c
Add externalIPs for LoadBalancer type 2020-09-12 12:04:07 +02:00
codearky
53c0cf951d
Remove duplication of external ips when ExternalTrafficPolicy set to … (#1744)
* Remove duplication of target ips for NodePort services with ExternalTrafficPolicy=Local

* Removed trailing lines
2020-09-02 11:33:06 -07:00
Joseph Glanville
6efca134f5 dependencies: Upgrade all k8s client-go dependent sources to v1.18.X
This requires pinning grpc for now as istio client-go otherwise pulls in
breaking changes.
2020-07-03 11:29:37 +07:00
Adam Stankiewicz
1806ade2c1 Fix scheduling of reconciliation 2020-05-19 17:26:12 +02:00
Adam Stankiewicz
6e0abfaf42 Make tests faster by fast polling 2020-05-12 23:06:05 +02:00
Tariq Ibrahim
42b177c5ae
remove dependency on kubernetes/kubernetes 2020-04-11 11:36:57 -07:00
Kubernetes Prow Robot
a563022e8a
Merge pull request #1005 from devkid/feature/headless-services-publishnotreadyaddresses
Headless service: retrieve endpoints via Endpoints resource; evaluate spec.publishNotReadyAddresses
2020-03-04 05:37:46 -08:00
Alfred Krohmer
65208db6ec Address review comments 2020-02-18 20:18:56 +01:00
Alfred Krohmer
6cab35b404 Add CLI option to always publish not ready addresses of headless services 2020-02-18 19:43:41 +01:00
Alfred Krohmer
de28274a6f Headless service: retrieve endpoints via Endpoints resource; evaluate spec.publishNotReadyAddresses
Currently, the endpoints of headless services are retrieved
by querying pods using the pod selector of the service.
Instead, we now query for an Endpoints resource with the
same name as the Service object to get the endpoints for the
service. This is needed in order to support the
spec.publishNotReadyPods attribute of a service.
2020-02-18 19:41:41 +01:00
Thomas Vendetta
9842cfab29
Use struct instead of bool 2020-02-18 11:45:01 -05:00
Thomas Vendetta
d31890f12d
Fix issue where headless services could return duplicate pod IP's 2020-02-13 09:47:18 -05:00
Kubernetes Prow Robot
d49d901d8a
Merge pull request #687 from jlamillan/jlamillan/add_watch_flag
Add --watchers flag to allow controller to respond automatically to Ingress or Service updates
2020-02-04 02:23:25 -08:00