Difference between revisions of "Terraform EKS Karpenter submodule"

From wikieduonline
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
* https://registry.terraform.io/modules/terraform-aws-modules/eks/aws/latest/submodules/karpenter
 
* https://registry.terraform.io/modules/terraform-aws-modules/eks/aws/latest/submodules/karpenter
  
== Karpenter official example using Node Groups ==
+
== Karpenter official example using [[Node Groups]] ==
<pre>
 
module "eks" {
 
  source = "terraform-aws-modules/eks"
 
  
  # Shown just for connection between cluster and Karpenter sub-module below
+
module "eks" {
  eks_managed_node_groups = {
+
  source = "terraform-aws-modules/eks"
    initial = {
+
      instance_types = ["t3.medium"]
+
  # Shown just for connection between cluster and Karpenter sub-module below
 
+
  [[eks_managed_node_groups]] = {
      min_size    = 1
+
    initial = {
      max_size    = 3
+
      instance_types = ["t3.medium"]  
      desired_size = 1
+
    }
+
      min_size    = 1
  }
+
      max_size    = 3
  ...
+
      desired_size = 1
}
+
    }
 
+
  }
module "karpenter" {
+
  ...
  source = "terraform-aws-modules/eks/aws//modules/karpenter"
+
}
 
+
  cluster_name = module.eks.cluster_name
+
module "karpenter" {
 
+
  source = "terraform-aws-modules/eks/aws//modules/karpenter"  
  irsa_oidc_provider_arn          = module.eks.oidc_provider_arn
+
  irsa_namespace_service_accounts = ["karpenter:karpenter"]
+
  cluster_name = module.eks.cluster_name
 
+
  create_iam_role = false
+
  [[irsa_oidc_provider_arn]]         = module.eks.oidc_provider_arn
  iam_role_arn    = module.eks.eks_managed_node_groups["initial"].iam_role_arn
+
  [[irsa_namespace_service_accounts]] = ["karpenter:karpenter"]
 
+
 
  tags = {
+
  [[create_iam_role]] = false
    Environment = "dev"
+
  iam_role_arn    = module.eks.eks_managed_node_groups["initial"].iam_role_arn  
    Terraform  = "true"
+
  }
+
  [[tags]] = {  
}
+
    [[Environment]] = "dev"
</pre>
+
    Terraform  = "true"
 +
  }
 +
}
  
 
== Related ==
 
== Related ==

Latest revision as of 11:05, 20 December 2023

Karpenter official example using Node Groups[edit]

module "eks" {
  source = "terraform-aws-modules/eks" 

  # Shown just for connection between cluster and Karpenter sub-module below
  eks_managed_node_groups = {
    initial = {
      instance_types = ["t3.medium"] 

      min_size     = 1
      max_size     = 3
      desired_size = 1
    }
  }
  ...
}

module "karpenter" {
  source = "terraform-aws-modules/eks/aws//modules/karpenter" 

  cluster_name = module.eks.cluster_name

  irsa_oidc_provider_arn          = module.eks.oidc_provider_arn
  irsa_namespace_service_accounts = ["karpenter:karpenter"]
 
  create_iam_role = false
  iam_role_arn    = module.eks.eks_managed_node_groups["initial"].iam_role_arn 

  tags = { 
    Environment = "dev"
    Terraform   = "true"
  }
}

Related[edit]

See also[edit]

Advertising: