Skip to content

Commit

Permalink
Merge pull request #7498 from yuxiang-zhang/eks-1.29
Browse files Browse the repository at this point in the history
Add support for EKS 1.29
  • Loading branch information
yuxiang-zhang authored Jan 23, 2024
2 parents ae510ae + 6574fa1 commit d38585b
Show file tree
Hide file tree
Showing 7 changed files with 383 additions and 10 deletions.
2 changes: 2 additions & 0 deletions pkg/actions/cluster/upgrade.go
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,8 @@ func getNextVersion(currentVersion string) (string, error) {
return api.Version1_28, nil
case api.Version1_28:
return api.Version1_29, nil
case api.Version1_29:
return api.Version1_30, nil
default:
// version of control plane is not known to us, maybe we are just too old...
return "", fmt.Errorf("control plane version %q is not known to this version of eksctl, try to upgrade eksctl first", currentVersion)
Expand Down
4 changes: 2 additions & 2 deletions pkg/actions/cluster/upgrade_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,9 @@ var _ = Describe("upgrade cluster", func() {
}),

Entry("fails when the version is still not supported", upgradeCase{
givenVersion: "1.29",
givenVersion: "1.30",
eksVersion: api.LatestVersion,
expectedErrorText: "control plane version \"1.29\" is not known to this version of eksctl",
expectedErrorText: "control plane version \"1.30\" is not known to this version of eksctl",
}),
)
})
2 changes: 1 addition & 1 deletion pkg/actions/nodegroup/testdata/al2-updated-template.json
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@
]
},
"NodegroupName": "amazonlinux2",
"ReleaseVersion": "1.28-20201212",
"ReleaseVersion": "1.29-20201212",
"ScalingConfig": {
"DesiredSize": 4,
"MaxSize": 4,
Expand Down
367 changes: 367 additions & 0 deletions pkg/addons/default/assets/coredns-1.29.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,367 @@
{
"apiVersion": "v1",
"items": [
{
"apiVersion": "v1",
"kind": "Service",
"metadata": {
"annotations": {
"prometheus.io/port": "9153",
"prometheus.io/scrape": "true"
},
"labels": {
"eks.amazonaws.com/component": "kube-dns",
"k8s-app": "kube-dns",
"kubernetes.io/cluster-service": "true",
"kubernetes.io/name": "CoreDNS"
},
"name": "kube-dns",
"namespace": "kube-system"
},
"spec": {
"internalTrafficPolicy": "Cluster",
"ipFamilies": [
"IPv4"
],
"ipFamilyPolicy": "SingleStack",
"ports": [
{
"name": "dns",
"port": 53,
"protocol": "UDP",
"targetPort": 53
},
{
"name": "dns-tcp",
"port": 53,
"protocol": "TCP",
"targetPort": 53
},
{
"name": "metrics",
"port": 9153,
"protocol": "TCP",
"targetPort": 9153
}
],
"selector": {
"k8s-app": "kube-dns"
},
"sessionAffinity": "None",
"type": "ClusterIP"
}
},
{
"apiVersion": "v1",
"kind": "ServiceAccount",
"metadata": {
"labels": {
"eks.amazonaws.com/component": "coredns",
"k8s-app": "kube-dns"
},
"name": "coredns",
"namespace": "kube-system"
}
},
{
"apiVersion": "v1",
"data": {
"Corefile": ".:53 {\n errors\n health {\n lameduck 5s\n }\n ready\n kubernetes cluster.local in-addr.arpa ip6.arpa {\n pods insecure\n fallthrough in-addr.arpa ip6.arpa\n }\n prometheus :9153\n forward . /etc/resolv.conf\n cache 30\n loop\n reload\n loadbalance\n}\n"
},
"kind": "ConfigMap",
"metadata": {
"labels": {
"eks.amazonaws.com/component": "coredns",
"k8s-app": "kube-dns"
},
"name": "coredns",
"namespace": "kube-system"
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"annotations": {},
"labels": {
"eks.amazonaws.com/component": "coredns",
"k8s-app": "kube-dns",
"kubernetes.io/name": "CoreDNS"
},
"name": "coredns",
"namespace": "kube-system"
},
"spec": {
"progressDeadlineSeconds": 600,
"replicas": 2,
"revisionHistoryLimit": 10,
"selector": {
"matchLabels": {
"eks.amazonaws.com/component": "coredns",
"k8s-app": "kube-dns"
}
},
"strategy": {
"rollingUpdate": {
"maxSurge": "25%",
"maxUnavailable": 1
},
"type": "RollingUpdate"
},
"template": {
"metadata": {
"creationTimestamp": null,
"labels": {
"eks.amazonaws.com/component": "coredns",
"k8s-app": "kube-dns"
}
},
"spec": {
"affinity": {
"nodeAffinity": {
"requiredDuringSchedulingIgnoredDuringExecution": {
"nodeSelectorTerms": [
{
"matchExpressions": [
{
"key": "kubernetes.io/os",
"operator": "In",
"values": [
"linux"
]
},
{
"key": "kubernetes.io/arch",
"operator": "In",
"values": [
"amd64",
"arm64"
]
}
]
}
]
}
},
"podAntiAffinity": {
"preferredDuringSchedulingIgnoredDuringExecution": [
{
"podAffinityTerm": {
"labelSelector": {
"matchExpressions": [
{
"key": "k8s-app",
"operator": "In",
"values": [
"kube-dns"
]
}
]
},
"topologyKey": "kubernetes.io/hostname"
},
"weight": 100
}
]
}
},
"containers": [
{
"args": [
"-conf",
"/etc/coredns/Corefile"
],
"image": "%s.dkr.ecr.%s.%s/eks/coredns:v1.11.1-eksbuild.4",
"imagePullPolicy": "IfNotPresent",
"livenessProbe": {
"failureThreshold": 5,
"httpGet": {
"path": "/health",
"port": 8080,
"scheme": "HTTP"
},
"initialDelaySeconds": 60,
"periodSeconds": 10,
"successThreshold": 1,
"timeoutSeconds": 5
},
"name": "coredns",
"ports": [
{
"containerPort": 53,
"name": "dns",
"protocol": "UDP"
},
{
"containerPort": 53,
"name": "dns-tcp",
"protocol": "TCP"
},
{
"containerPort": 9153,
"name": "metrics",
"protocol": "TCP"
}
],
"readinessProbe": {
"failureThreshold": 3,
"httpGet": {
"path": "/ready",
"port": 8181,
"scheme": "HTTP"
},
"periodSeconds": 10,
"successThreshold": 1,
"timeoutSeconds": 1
},
"resources": {
"limits": {
"memory": "170Mi"
},
"requests": {
"cpu": "100m",
"memory": "70Mi"
}
},
"securityContext": {
"allowPrivilegeEscalation": false,
"capabilities": {
"add": [
"NET_BIND_SERVICE"
],
"drop": [
"ALL"
]
},
"readOnlyRootFilesystem": true
},
"terminationMessagePath": "/dev/termination-log",
"terminationMessagePolicy": "File",
"volumeMounts": [
{
"mountPath": "/etc/coredns",
"name": "config-volume",
"readOnly": true
}
]
}
],
"dnsPolicy": "Default",
"priorityClassName": "system-cluster-critical",
"restartPolicy": "Always",
"schedulerName": "default-scheduler",
"securityContext": {},
"serviceAccount": "coredns",
"serviceAccountName": "coredns",
"terminationGracePeriodSeconds": 30,
"tolerations": [
{
"effect": "NoSchedule",
"key": "node-role.kubernetes.io/control-plane"
},
{
"key": "CriticalAddonsOnly",
"operator": "Exists"
}
],
"volumes": [
{
"configMap": {
"defaultMode": 420,
"items": [
{
"key": "Corefile",
"path": "Corefile"
}
],
"name": "coredns"
},
"name": "config-volume"
}
]
}
}
}
},
{
"apiVersion": "rbac.authorization.k8s.io/v1",
"kind": "ClusterRole",
"metadata": {
"labels": {
"eks.amazonaws.com/component": "coredns",
"k8s-app": "kube-dns",
"kubernetes.io/bootstrapping": "rbac-defaults"
},
"name": "system:coredns"
},
"rules": [
{
"apiGroups": [
""
],
"resources": [
"endpoints",
"services",
"pods",
"namespaces"
],
"verbs": [
"list",
"watch"
]
},
{
"apiGroups": [
""
],
"resources": [
"nodes"
],
"verbs": [
"get"
]
},
{
"apiGroups": [
"discovery.k8s.io"
],
"resources": [
"endpointslices"
],
"verbs": [
"list",
"watch"
]
}
]
},
{
"apiVersion": "rbac.authorization.k8s.io/v1",
"kind": "ClusterRoleBinding",
"metadata": {
"annotations": {
"rbac.authorization.kubernetes.io/autoupdate": "true"
},
"labels": {
"eks.amazonaws.com/component": "coredns",
"k8s-app": "kube-dns",
"kubernetes.io/bootstrapping": "rbac-defaults"
},
"name": "system:coredns"
},
"roleRef": {
"apiGroup": "rbac.authorization.k8s.io",
"kind": "ClusterRole",
"name": "system:coredns"
},
"subjects": [
{
"kind": "ServiceAccount",
"name": "coredns",
"namespace": "kube-system"
}
]
}
],
"kind": "List"
}
Loading

0 comments on commit d38585b

Please sign in to comment.