Commit 53c3acd
NE-2421: Support dual-stack IngressController on AWS
Configure the publishing load balancer service for dual-stack AWS
clusters based on the Infrastructure CR's ipFamily field
(status.platformStatus.aws.ipFamily).
For NLB-type load balancers, set ipFamilyPolicy to RequireDualStack
and ipFamilies to match the cluster's IP family ordering. For CLB,
explicitly set SingleStack/IPv4 since CLB only forwards IPv4 traffic.
Without this, DualStackIPv6Primary clusters would default the CLB
service to SingleStack/IPv6, causing OVN to refuse IPv4 traffic on
the service's NodePort.
When the cluster IP family is dual-stack, the AWS DNS provider creates
both Alias A and Alias AAAA Route53 records for IngressController
wildcard domains. AAAA records are always created regardless of LB
type because stale AAAA records cannot be easily cleaned up when the
LB type changes from NLB to CLB — the old NLB is deleted before the
new CLB is created, so the DNS provider can no longer look up the
target hostname to delete the AAAA record. For CLBs the AAAA alias
simply won't resolve.
When the LB type is changed to CLB on a dual-stack cluster, a warning
note is appended to the effectuation message on the cluster operator
status indicating that CLBs do not support dual-stack.
Co-authored-by: Claude claude-opus-4-6 <noreply@anthropic.com>1 parent b347d80 commit 53c3acd
5 files changed
Lines changed: 336 additions & 15 deletions
File tree
- pkg
- dns/aws
- operator/controller
- dns
- ingress
- util/aws
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
109 | 110 | | |
110 | 111 | | |
111 | 112 | | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
112 | 118 | | |
113 | 119 | | |
114 | 120 | | |
| |||
619 | 625 | | |
620 | 626 | | |
621 | 627 | | |
622 | | - | |
623 | | - | |
624 | | - | |
625 | | - | |
626 | | - | |
627 | | - | |
628 | | - | |
629 | | - | |
630 | | - | |
631 | | - | |
632 | | - | |
633 | | - | |
634 | | - | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
635 | 640 | | |
636 | 641 | | |
637 | 642 | | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
638 | 656 | | |
639 | 657 | | |
640 | 658 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
594 | 594 | | |
595 | 595 | | |
596 | 596 | | |
597 | | - | |
598 | | - | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
599 | 600 | | |
600 | 601 | | |
601 | 602 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| |||
496 | 497 | | |
497 | 498 | | |
498 | 499 | | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
499 | 526 | | |
500 | 527 | | |
501 | 528 | | |
| |||
715 | 742 | | |
716 | 743 | | |
717 | 744 | | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
718 | 766 | | |
719 | 767 | | |
720 | 768 | | |
| |||
858 | 906 | | |
859 | 907 | | |
860 | 908 | | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
861 | 913 | | |
862 | 914 | | |
863 | 915 | | |
| |||
1386 | 1438 | | |
1387 | 1439 | | |
1388 | 1440 | | |
| 1441 | + | |
| 1442 | + | |
| 1443 | + | |
| 1444 | + | |
| 1445 | + | |
| 1446 | + | |
| 1447 | + | |
| 1448 | + | |
| 1449 | + | |
| 1450 | + | |
0 commit comments