Skip to content

Commit

Permalink
feat: Update EKS to 1.30 (#1006)
Browse files Browse the repository at this point in the history
  • Loading branch information
ROunofF authored Jul 16, 2024
1 parent a1516c4 commit e117b10
Show file tree
Hide file tree
Showing 15 changed files with 48 additions and 20 deletions.
4 changes: 2 additions & 2 deletions cluster/eksctl/cluster.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ availabilityZones:
metadata:
name: ${EKS_CLUSTER_NAME}
region: ${AWS_REGION}
version: "1.29"
version: "1.30"
tags:
karpenter.sh/discovery: ${EKS_CLUSTER_NAME}
created-by: eks-workshop-v2
Expand All @@ -31,7 +31,7 @@ managedNodeGroups:
maxSize: 6
instanceType: m5.large
privateNetworking: true
releaseVersion: "1.29.0-20240129"
releaseVersion: "1.30.0-20240625"
updateConfig:
maxUnavailablePercentage: 50
labels:
Expand Down
4 changes: 2 additions & 2 deletions cluster/terraform/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ variable "cluster_name" {
variable "cluster_version" {
description = "EKS cluster version."
type = string
default = "1.29"
default = "1.30"
}

variable "ami_release_version" {
description = "Default EKS AMI release version for node groups"
type = string
default = "1.29.0-20240129"
default = "1.30.0-20240625"
}

variable "vpc_cidr" {
Expand Down
2 changes: 1 addition & 1 deletion hack/lib/kubectl-version.sh
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export KUBECTL_VERSION='v1.29.0'
export KUBECTL_VERSION='v1.30.2'
2 changes: 1 addition & 1 deletion lab/scripts/installer.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
set -e

# renovate: depName=kubernetes/kubernetes
kubectl_version='1.29.6'
kubectl_version='1.30.2'

# renovate: depName=helm/helm
helm_version='3.15.2'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ module "eks_blueprints_addons" {
karpenter_enable_spot_termination = true
karpenter_enable_instance_profile_creation = true
karpenter = {
chart_version = var.karpenter_version
repository_username = data.aws_ecrpublic_authorization_token.token.user_name
repository_password = data.aws_ecrpublic_authorization_token.token.password
}
Expand Down
7 changes: 7 additions & 0 deletions manifests/modules/aiml/inferentia/.workshop/terraform/vars.tf
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,10 @@ variable "resources_precreated" {
description = "Have expensive resources been created already"
type = bool
}

variable "karpenter_version" {
description = "The version of Karpenter chart to use"
type = string
# renovate: datasource=github-releases depName=aws/karpenter-provider-aws
default = "0.37.0"
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,12 @@ variable "cluster_autoscaler_version" {
description = "The version of cluster-autoscaler to use"
type = string
# renovate: datasource=github-releases depName=kubernetes/autoscaler
default = "1.29.3"
default = "1.30.1"
}

variable "cluster_autoscaler_chart_version" {
description = "The chart version of cluster-autoscaler to use"
type = string
# renovate-helm: depName=cluster-autoscaler registryUrl=https://kubernetes.github.io/autoscaler
default = "9.37.0"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,20 @@ spec:
disruption:
consolidationPolicy: WhenUnderutilized
expireAfter: 720h # 30 * 24h = 720h
---
apiVersion: karpenter.k8s.aws/v1beta1
# HIGHLIGHT
kind: EC2NodeClass
metadata:
name: default
spec:
amiFamily: AL2023 # Amazon Linux 2023
role: "${KARPENTER_ROLE}"
subnetSelectorTerms:
- tags:
karpenter.sh/discovery: ${EKS_CLUSTER_NAME}
securityGroupSelectorTerms:
- tags:
karpenter.sh/discovery: ${EKS_CLUSTER_NAME}
tags:
app.kubernetes.io/created-by: eks-workshop
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ spec:
name: data
spec:
accessModes: ["ReadWriteOnce"]
storageClassName: gp2
storageClassName: ebs-csi-default-sc
resources:
requests:
storage: 30Gi
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ module "eks_blueprints_addons" {
most_recent = true
service_account_role_arn = module.ebs_csi_driver_irsa.iam_role_arn
preserve = false
configuration_values = jsonencode({ defaultStorageClass = { enabled = true } })
}
}

Expand All @@ -45,4 +46,4 @@ resource "time_sleep" "wait" {
]

create_duration = "10s"
}
}
4 changes: 2 additions & 2 deletions renovate.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@
},
{
"matchDepNames": ["kubernetes/kubernetes"],
"allowedVersions": "/^v1.29.[0-9]+$/"
"allowedVersions": "/^v1.30.[0-9]+$/"
},
{
"matchDepNames": ["kubernetes/autoscaler"],
"extractVersion": "^cluster-autoscaler-(?<version>.*)$",
"allowedVersions": "/^1.29.[0-9]+$/"
"allowedVersions": "/^1.30.[0-9]+$/"
}
],
"customManagers": [
Expand Down
Binary file not shown.
10 changes: 6 additions & 4 deletions website/docs/fundamentals/storage/ebs/ebs-csi-driver.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ To improve security and reduce the amount of work, you can manage the Amazon EBS

```bash timeout=300 wait=60
$ aws eks create-addon --cluster-name $EKS_CLUSTER_NAME --addon-name aws-ebs-csi-driver \
--service-account-role-arn $EBS_CSI_ADDON_ROLE
--service-account-role-arn $EBS_CSI_ADDON_ROLE \
--configuration-values '{"defaultStorageClass":{"enabled":true}}'
$ aws eks wait addon-active --cluster-name $EKS_CLUSTER_NAME --addon-name aws-ebs-csi-driver
```

Expand All @@ -27,12 +28,13 @@ NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTO
ebs-csi-node 3 3 3 3 3 kubernetes.io/os=linux 3d21h
```

We also already have our [StorageClass](https://kubernetes.io/docs/concepts/storage/storage-classes/) object configured using [Amazon EBS GP2 volume type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/general-purpose.html#EBSVolumeTypes_gp2). Run the following command to confirm:
Starting with EKS 1.30, the EBS CSI Driver use a default [StorageClass](https://kubernetes.io/docs/concepts/storage/storage-classes/) object configured using [Amazon EBS GP3 volume type](https://docs.aws.amazon.com/ebs/latest/userguide/general-purpose.html#gp3-ebs-volume-type). Run the following command to confirm:

```bash
$ kubectl get storageclass
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
gp2 (default) kubernetes.io/aws-ebs Delete WaitForFirstConsumer false 3d22h
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
ebs-csi-default-sc (default) ebs.csi.aws.com Delete WaitForFirstConsumer true 96s
gp2 kubernetes.io/aws-ebs Delete WaitForFirstConsumer false 9d
```

Now that we have a better understanding of EKS Storage and Kubernetes objects. On the next page, we'll focus on modifying the MySQL DB StatefulSet of the catalog microservice to utilize a EBS block store volume as the persistent storage for the database files using Kubernetes dynamic volume provisioning.
4 changes: 2 additions & 2 deletions website/docs/fundamentals/storage/ebs/statefulset-with-ebs.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ NAME READY AGE
catalog-mysql-ebs 1/1 79s
```

Inspecting our `catalog-mysql-ebs` StatefulSet, we can see that now we have a PersistentVolumeClaim attached to it with 30GiB and with `storageClassName` of gp2.
Inspecting our `catalog-mysql-ebs` StatefulSet, we can see that now we have a PersistentVolumeClaim attached to it with 30GiB and with `storageClassName` of ebs-csi-driver.

```bash
$ kubectl get statefulset -n catalog catalog-mysql-ebs \
Expand All @@ -68,7 +68,7 @@ $ kubectl get statefulset -n catalog catalog-mysql-ebs \
"storage": "30Gi"
}
},
"storageClassName": "gp2",
"storageClassName": "ebs-csi-default-sc",
"volumeMode": "Filesystem"
},
"status": {
Expand Down
4 changes: 2 additions & 2 deletions website/docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ const config = {
MANIFESTS_REF: manifestsRef,
MANIFESTS_OWNER: manifestsOwner,
MANIFESTS_REPOSITORY: manifestsRepository,
KUBERNETES_VERSION: "1.29",
KUBERNETES_NODE_VERSION: "1.29-eks-48e63af",
KUBERNETES_VERSION: "1.30",
KUBERNETES_NODE_VERSION: "1.30-eks-036c24b",
},
},
],
Expand Down

0 comments on commit e117b10

Please sign in to comment.