Skip to content

Commit c4aeee8

Browse files
authored
use numeric target group if available (#1523)
* use numeric port if available * lookup target port * update unit tests * ALB target group name based on target port as well
1 parent f0adafb commit c4aeee8

File tree

2 files changed

+28
-20
lines changed

2 files changed

+28
-20
lines changed

pkg/ingress/model_build_target_group.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,19 @@ func (t *defaultModelBuildTask) buildTargetGroupSpec(ctx context.Context,
117117
if err != nil {
118118
return elbv2model.TargetGroupSpec{}, err
119119
}
120-
name := t.buildTargetGroupName(ctx, k8s.NamespacedName(ing), svc, port, targetType, tgProtocol)
120+
svcPort, err := k8s.LookupServicePort(svc, port)
121+
if err != nil {
122+
return elbv2model.TargetGroupSpec{}, err
123+
}
124+
targetGroupPort := 1
125+
if svcPort.TargetPort.Type == intstr.Int {
126+
targetGroupPort = svcPort.TargetPort.IntValue()
127+
}
128+
name := t.buildTargetGroupName(ctx, k8s.NamespacedName(ing), svc, svcPort.TargetPort, targetType, tgProtocol)
121129
return elbv2model.TargetGroupSpec{
122130
Name: name,
123131
TargetType: targetType,
124-
Port: 1,
132+
Port: int64(targetGroupPort),
125133
Protocol: tgProtocol,
126134
HealthCheckConfig: &healthCheckConfig,
127135
TargetGroupAttributes: targetGroupAttributes,

pkg/ingress/model_builder_test.go

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -402,9 +402,9 @@ func Test_defaultModelBuilder_Build(t *testing.T) {
402402
"AWS::ElasticLoadBalancingV2::TargetGroup":{
403403
"ns-1/ing-1-svc-1:http":{
404404
"spec":{
405-
"name":"k8s-ns1-svc1-2718fcb5d7",
405+
"name":"k8s-ns1-svc1-1939f42801",
406406
"targetType":"instance",
407-
"port":1,
407+
"port":8080,
408408
"protocol":"HTTP",
409409
"healthCheckConfig":{
410410
"port":"traffic-port",
@@ -422,9 +422,9 @@ func Test_defaultModelBuilder_Build(t *testing.T) {
422422
},
423423
"ns-1/ing-1-svc-2:http":{
424424
"spec":{
425-
"name":"k8s-ns1-svc2-2718fcb5d7",
425+
"name":"k8s-ns1-svc2-1939f42801",
426426
"targetType":"instance",
427-
"port":1,
427+
"port":8080,
428428
"protocol":"HTTP",
429429
"healthCheckConfig":{
430430
"port":"traffic-port",
@@ -442,9 +442,9 @@ func Test_defaultModelBuilder_Build(t *testing.T) {
442442
},
443443
"ns-1/ing-1-svc-3:https":{
444444
"spec":{
445-
"name":"k8s-ns1-svc3-da71e18041",
445+
"name":"k8s-ns1-svc3-59d2f49fb4",
446446
"targetType":"ip",
447-
"port":1,
447+
"port":8443,
448448
"protocol":"HTTPS",
449449
"healthCheckConfig":{
450450
"port":9090,
@@ -466,7 +466,7 @@ func Test_defaultModelBuilder_Build(t *testing.T) {
466466
"spec":{
467467
"template":{
468468
"metadata":{
469-
"name":"k8s-ns1-svc1-2718fcb5d7",
469+
"name":"k8s-ns1-svc1-1939f42801",
470470
"namespace":"ns-1",
471471
"creationTimestamp":null
472472
},
@@ -507,7 +507,7 @@ func Test_defaultModelBuilder_Build(t *testing.T) {
507507
"spec":{
508508
"template":{
509509
"metadata":{
510-
"name":"k8s-ns1-svc2-2718fcb5d7",
510+
"name":"k8s-ns1-svc2-1939f42801",
511511
"namespace":"ns-1",
512512
"creationTimestamp":null
513513
},
@@ -548,7 +548,7 @@ func Test_defaultModelBuilder_Build(t *testing.T) {
548548
"spec":{
549549
"template":{
550550
"metadata":{
551-
"name":"k8s-ns1-svc3-da71e18041",
551+
"name":"k8s-ns1-svc3-59d2f49fb4",
552552
"namespace":"ns-1",
553553
"creationTimestamp":null
554554
},
@@ -848,9 +848,9 @@ func Test_defaultModelBuilder_Build(t *testing.T) {
848848
"AWS::ElasticLoadBalancingV2::TargetGroup":{
849849
"ns-1/ing-1-svc-1:http":{
850850
"spec":{
851-
"name":"k8s-ns1-svc1-2718fcb5d7",
851+
"name":"k8s-ns1-svc1-1939f42801",
852852
"targetType":"instance",
853-
"port":1,
853+
"port":8080,
854854
"protocol":"HTTP",
855855
"healthCheckConfig":{
856856
"port":"traffic-port",
@@ -868,9 +868,9 @@ func Test_defaultModelBuilder_Build(t *testing.T) {
868868
},
869869
"ns-1/ing-1-svc-2:http":{
870870
"spec":{
871-
"name":"k8s-ns1-svc2-2718fcb5d7",
871+
"name":"k8s-ns1-svc2-1939f42801",
872872
"targetType":"instance",
873-
"port":1,
873+
"port":8080,
874874
"protocol":"HTTP",
875875
"healthCheckConfig":{
876876
"port":"traffic-port",
@@ -888,9 +888,9 @@ func Test_defaultModelBuilder_Build(t *testing.T) {
888888
},
889889
"ns-1/ing-1-svc-3:https":{
890890
"spec":{
891-
"name":"k8s-ns1-svc3-da71e18041",
891+
"name":"k8s-ns1-svc3-59d2f49fb4",
892892
"targetType":"ip",
893-
"port":1,
893+
"port":8443,
894894
"protocol":"HTTPS",
895895
"healthCheckConfig":{
896896
"port":9090,
@@ -912,7 +912,7 @@ func Test_defaultModelBuilder_Build(t *testing.T) {
912912
"spec":{
913913
"template":{
914914
"metadata":{
915-
"name":"k8s-ns1-svc1-2718fcb5d7",
915+
"name":"k8s-ns1-svc1-1939f42801",
916916
"namespace":"ns-1",
917917
"creationTimestamp":null
918918
},
@@ -953,7 +953,7 @@ func Test_defaultModelBuilder_Build(t *testing.T) {
953953
"spec":{
954954
"template":{
955955
"metadata":{
956-
"name":"k8s-ns1-svc2-2718fcb5d7",
956+
"name":"k8s-ns1-svc2-1939f42801",
957957
"namespace":"ns-1",
958958
"creationTimestamp":null
959959
},
@@ -994,7 +994,7 @@ func Test_defaultModelBuilder_Build(t *testing.T) {
994994
"spec":{
995995
"template":{
996996
"metadata":{
997-
"name":"k8s-ns1-svc3-da71e18041",
997+
"name":"k8s-ns1-svc3-59d2f49fb4",
998998
"namespace":"ns-1",
999999
"creationTimestamp":null
10001000
},

0 commit comments

Comments
 (0)