diff --git a/go.mod b/go.mod index 3064e9a5f4..660bc89d7f 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.36.3 github.com/aws/aws-sdk-go-v2/config v1.29.12 github.com/aws/aws-sdk-go-v2/credentials v1.17.65 - github.com/aws/aws-sdk-go-v2/service/autoscaling v1.52.3 + github.com/aws/aws-sdk-go-v2/service/autoscaling v1.52.4 github.com/aws/aws-sdk-go-v2/service/cloudformation v1.59.2 github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.48.4 github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.47.3 diff --git a/go.sum b/go.sum index 7a889d5343..3e89e6eb65 100644 --- a/go.sum +++ b/go.sum @@ -124,8 +124,8 @@ github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.33 h1:/frG8aV09yhCVSOEC2pzktflJJO48NwY3xntHBwxHiA= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.33/go.mod h1:8vwASlAcV366M+qxZnjNzCjeastk1Rt1bpSRaGZanGU= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.52.3 h1:QsKdBxtC8csnKt5BbV7D1op4Nf13p2YkTJIkppaCakw= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.52.3/go.mod h1:CDqMoc3KRdZJ8qziW96J35lKH01Wq3B2aihtHj2JbRs= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.52.4 h1:vzLD0FyNU4uxf2QE5UDG0jSEitiJXbVEUwf2Sk3usF4= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.52.4/go.mod h1:CDqMoc3KRdZJ8qziW96J35lKH01Wq3B2aihtHj2JbRs= github.com/aws/aws-sdk-go-v2/service/cloudformation v1.59.2 h1:o9cuZdZlI9VWMqsNa2mnf2IRsFAROHnaYA1BW3lHGuY= github.com/aws/aws-sdk-go-v2/service/cloudformation v1.59.2/go.mod h1:penaZKzGmqHGZId4EUCBIW/f9l4Y7hQ5NKd45yoCYuI= github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.48.4 h1:pQpinmWv9jEisDR6/DccOf2cXdAf/CAwQ39nfJfJDlE= diff --git a/pkg/fargate/coredns/coredns.go b/pkg/fargate/coredns/coredns.go index 22fb826426..55837d9063 100644 --- a/pkg/fargate/coredns/coredns.go +++ b/pkg/fargate/coredns/coredns.go @@ -43,7 +43,7 @@ func IsSchedulableOnFargate(profiles []*api.FargateProfile) bool { } func selectsCoreDNS(selector api.FargateProfileSelector) bool { - return selector.Namespace == Namespace && len(selector.Labels) == 0 + return selector.Namespace == Namespace && (len(selector.Labels) == 0 || selector.Labels["eks.amazonaws.com/component"] == Name) } // IsScheduledOnFargate checks if EKS' coredns is scheduled onto Fargate. diff --git a/pkg/fargate/coredns/coredns_test.go b/pkg/fargate/coredns/coredns_test.go index f2a93df1a0..d147f78c08 100644 --- a/pkg/fargate/coredns/coredns_test.go +++ b/pkg/fargate/coredns/coredns_test.go @@ -73,6 +73,20 @@ var ( }, } + profileSelectingCoreDNSWithComponentLabel = []*api.FargateProfile{ + { + Name: "selecting-coredns-with-label", + Selectors: []api.FargateProfileSelector{ + { + Namespace: "kube-system", + Labels: map[string]string{ + "eks.amazonaws.com/component": "coredns", + }, + }, + }, + }, + } + profileNotSelectingCoreDNSBecauseOfNamespace = []*api.FargateProfile{ { Name: "not-selecting-coredns-because-of-namespace", @@ -97,6 +111,10 @@ var _ = Describe("coredns", func() { Expect(coredns.IsSchedulableOnFargate(multipleProfilesWithOneSelectingCoreDNS)).To(BeTrue()) }) + It("should return true when a Fargate profile matches kube-system and has the CoreDNS component label", func() { + Expect(coredns.IsSchedulableOnFargate(profileSelectingCoreDNSWithComponentLabel)).To(BeTrue()) + }) + It("should return true when provided the default Fargate profile", func() { cfg := api.NewClusterConfig() cfg.SetDefaultFargateProfile()