diff --git a/ec2_node_class.yaml.tpl b/ec2_node_class.yaml.tpl index 4251292..74c4172 100644 --- a/ec2_node_class.yaml.tpl +++ b/ec2_node_class.yaml.tpl @@ -4,19 +4,9 @@ kind: EC2NodeClass metadata: name: ${cluster_name}-karpenter-node-class annotations: - kubernetes.io/description: "EC2NodeClass for running Bottlerocket nodes" + kubernetes.io/description: "EC2NodeClass for running ${amd_ami_family} nodes" spec: kubelet: - podsPerCore: 2 - maxPods: 20 - systemReserved: - cpu: 100m - memory: 100Mi - ephemeral-storage: 1Gi - kubeReserved: - cpu: 200m - memory: 100Mi - ephemeral-storage: 3Gi evictionHard: memory.available: 5% nodefs.available: 10% @@ -32,12 +22,11 @@ spec: evictionMaxPodGracePeriod: 60 imageGCHighThresholdPercent: 85 imageGCLowThresholdPercent: 80 - cpuCFSQuota: true # Required, resolves a default ami and userdata amiFamily: ${amd_ami_family} amiSelectorTerms: - - alias: bottlerocket@latest # Bottlerocket + - alias: ${amd_ami_alias}@latest # Bottlerocket # Required, discovers subnets to attach to instances # Each term in the array of subnetSelectorTerms is ORed together # Within a single term, all conditions are ANDed diff --git a/main.tf b/main.tf index e81a6e8..8831008 100644 --- a/main.tf +++ b/main.tf @@ -152,22 +152,22 @@ resource "helm_release" "karpenter" { name = "controller.env[0].value" value = var.region } - set { - name = "resources.requests.cpu" - value = 1 - } - set { - name = "resources.requests.memory" - value = "1Gi" - } - set { - name = "resources.limits.cpu" - value = 1 - } - set { - name = "resources.limits.memory" - value = "1Gi" - } + # set { + # name = "resources.requests.cpu" + # value = 1 + # } + # set { + # name = "resources.requests.memory" + # value = "1Gi" + # } + # set { + # name = "resources.limits.cpu" + # value = 1 + # } + # set { + # name = "resources.limits.memory" + # value = "1Gi" + # } set { name = "serviceAccount.annotations.eks\\.amazonaws\\.com/role-arn" value = module.karpenter_resources.iam_role_arn @@ -183,17 +183,15 @@ resource "aws_iam_instance_profile" "karpenter_node_instance_profile" { # Query to see if service-linked role exists data "aws_iam_roles" "roles" { - path_prefix = "/aws-reserved/spot.amazonaws.com/${var.cluster_name}" + path_prefix = "/aws-reserved/spot.amazonaws.com" } # Permission for spot resource "aws_iam_service_linked_role" "ec2_spot" { count = data.aws_iam_roles.roles == null ? 1 : 0 aws_service_name = "spot.amazonaws.com" - custom_suffix = var.cluster_name } - # SHOULD PROBABLY PUT THESE OBJECTS INTO A HELM CHART # Create karpenter default resource "kubectl_manifest" "karpenter_ec2_node_class" { @@ -203,6 +201,7 @@ resource "kubectl_manifest" "karpenter_ec2_node_class" { yaml_body = templatefile("${path.module}/ec2_node_class.yaml.tpl", { cluster_name = var.cluster_name amd_ami_family = "Bottlerocket" + amd_ami_alias = "bottlerocket" }) }