diff --git a/EC2NodePool.yaml.tpl b/EC2NodePool.yaml.tpl new file mode 100644 index 0000000..538f282 --- /dev/null +++ b/EC2NodePool.yaml.tpl @@ -0,0 +1,22 @@ +apiVersion: karpenter.sh/v1beta1 +kind: NodePool +metadata: + name: default +spec: + template: + spec: + requirements: + - key: karpenter.sh/capacity-type + operator: In + values: ["spot", "on-demand"] + - key: "node.kubernetes.io/instance-type" + operator: In + values: ["t3a.xlarge", "t3.xlarge", "c5.large", "m5.large", "r5.large", "m5.xlarge"] + nodeClassRef: + name: default + limits: + cpu: 1000 + memory: 1000Gi + disruption: + consolidationPolicy: WhenUnderutilized + expireAfter: 24h # 30 * 24h = 720h diff --git a/README.md b/README.md index 5fb1238..acf93ce 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,10 @@ NOTE: Deploying Karpenter after deploying Istio is not recommended because it di The module deploys Karpenter needed AWS resources, namely in IAM. It copies the Karpenter controller from the public registry to local ECR, deploys Karpenter via Helm and deploys a single default Karpenter Nodepool with EC2NodeClass. # CHANGELOG - +* 0.0.2 -- 2024-07-30 + - update after removing cluster-autoscaler + - add second yaml template + - update images module * 0.0.1 -- 2024-07-26 - Genesis/Initial development @@ -71,4 +74,4 @@ The module deploys Karpenter needed AWS resources, namely in IAM. It copies the ## Outputs No outputs. - \ No newline at end of file + diff --git a/copy_images.tf b/copy_images.tf index 00f6212..4c05c03 100644 --- a/copy_images.tf +++ b/copy_images.tf @@ -18,10 +18,14 @@ locals { # map[repository:224384469011.dkr.ecr.us-gov-east-1.amazonaws.com/platform-test-1/karpenter tag:0.37.0] module "images" { - source = "git@github.e.it.census.gov:terraform-modules/aws-ecr-copy-images.git/?ref=2.0.2" + source = "git@github.e.it.census.gov:terraform-modules/aws-ecr-copy-images.git/?ref=tf-upgrade" profile = var.profile application_name = var.cluster_name image_config = local.image_config tags = {} + + enable_lifecycle_policy = true + lifecycle_policy_all = true + force_delete = true } diff --git a/main.tf b/main.tf index cee21c8..94ff312 100644 --- a/main.tf +++ b/main.tf @@ -5,7 +5,7 @@ locals { # Replicating from here: https://github.e.it.census.gov/SCT-Engineering/terraform-aws-eks/tree/master/modules/karpenter # Karpenter IRSA roles and policies module "karpenter_resources" { - source = "git@github.e.it.census.gov:SCT-Engineering/terraform-aws-eks.git//modules/karpenter?ref=v20.8.5" + source = "git@github.e.it.census.gov:SCT-Engineering/terraform-aws-eks.git//modules/karpenter?ref=v20.20.0" cluster_name = var.cluster_name enable_irsa = true @@ -32,7 +32,6 @@ resource "helm_release" "karpenter" { depends_on = [ module.images, ] - name = "karpenter" chart = "karpenter" version = var.karpenter_helm_chart @@ -166,29 +165,5 @@ resource "kubectl_manifest" "karpenter_NodePool" { depends_on = [ kubectl_manifest.karpenter_EC2NodeClass, ] - - yaml_body = <