mirror of
https://github.com/ysoftdevs/terraform-aws-eks.git
synced 2026-03-30 06:01:50 +02:00
chore: Update Karpenter example to use partition data source (#2036)
Co-authored-by: Xin Chen <chenxin@konvery.com>
This commit is contained in:
@@ -69,7 +69,7 @@ Note that this example may create resources which cost money. Run `terraform des
|
|||||||
| Name | Source | Version |
|
| Name | Source | Version |
|
||||||
|------|--------|---------|
|
|------|--------|---------|
|
||||||
| <a name="module_eks"></a> [eks](#module\_eks) | ../.. | n/a |
|
| <a name="module_eks"></a> [eks](#module\_eks) | ../.. | n/a |
|
||||||
| <a name="module_karpenter_irsa"></a> [karpenter\_irsa](#module\_karpenter\_irsa) | terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks | ~> 4.15 |
|
| <a name="module_karpenter_irsa"></a> [karpenter\_irsa](#module\_karpenter\_irsa) | terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks | ~> 4.21.1 |
|
||||||
| <a name="module_vpc"></a> [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | ~> 3.0 |
|
| <a name="module_vpc"></a> [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | ~> 3.0 |
|
||||||
|
|
||||||
## Resources
|
## Resources
|
||||||
@@ -80,6 +80,7 @@ Note that this example may create resources which cost money. Run `terraform des
|
|||||||
| [helm_release.karpenter](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
|
| [helm_release.karpenter](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
|
||||||
| [kubectl_manifest.karpenter_example_deployment](https://registry.terraform.io/providers/gavinbunney/kubectl/latest/docs/resources/manifest) | resource |
|
| [kubectl_manifest.karpenter_example_deployment](https://registry.terraform.io/providers/gavinbunney/kubectl/latest/docs/resources/manifest) | resource |
|
||||||
| [kubectl_manifest.karpenter_provisioner](https://registry.terraform.io/providers/gavinbunney/kubectl/latest/docs/resources/manifest) | resource |
|
| [kubectl_manifest.karpenter_provisioner](https://registry.terraform.io/providers/gavinbunney/kubectl/latest/docs/resources/manifest) | resource |
|
||||||
|
| [aws_partition.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/partition) | data source |
|
||||||
|
|
||||||
## Inputs
|
## Inputs
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,13 @@ provider "aws" {
|
|||||||
region = local.region
|
region = local.region
|
||||||
}
|
}
|
||||||
|
|
||||||
|
data "aws_partition" "current" {}
|
||||||
|
|
||||||
locals {
|
locals {
|
||||||
name = "ex-${replace(basename(path.cwd), "_", "-")}"
|
name = "ex-${replace(basename(path.cwd), "_", "-")}"
|
||||||
cluster_version = "1.22"
|
cluster_version = "1.22"
|
||||||
region = "eu-west-1"
|
region = "eu-west-1"
|
||||||
|
partition = data.aws_partition.current.partition
|
||||||
|
|
||||||
tags = {
|
tags = {
|
||||||
Example = local.name
|
Example = local.name
|
||||||
@@ -51,7 +54,7 @@ module "eks" {
|
|||||||
|
|
||||||
iam_role_additional_policies = [
|
iam_role_additional_policies = [
|
||||||
# Required by Karpenter
|
# Required by Karpenter
|
||||||
"arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore"
|
"arn:${local.partition}:iam::aws:policy/AmazonSSMManagedInstanceCore"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -98,12 +101,15 @@ provider "kubectl" {
|
|||||||
|
|
||||||
module "karpenter_irsa" {
|
module "karpenter_irsa" {
|
||||||
source = "terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks"
|
source = "terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks"
|
||||||
version = "~> 4.15"
|
version = "~> 4.21.1"
|
||||||
|
|
||||||
role_name = "karpenter-controller-${local.name}"
|
role_name = "karpenter-controller-${local.name}"
|
||||||
attach_karpenter_controller_policy = true
|
attach_karpenter_controller_policy = true
|
||||||
|
|
||||||
karpenter_controller_cluster_id = module.eks.cluster_id
|
karpenter_controller_cluster_id = module.eks.cluster_id
|
||||||
|
karpenter_controller_ssm_parameter_arns = [
|
||||||
|
"arn:${local.partition}:ssm:*:*:parameter/aws/service/*"
|
||||||
|
]
|
||||||
karpenter_controller_node_iam_role_arns = [
|
karpenter_controller_node_iam_role_arns = [
|
||||||
module.eks.eks_managed_node_groups["karpenter"].iam_role_arn
|
module.eks.eks_managed_node_groups["karpenter"].iam_role_arn
|
||||||
]
|
]
|
||||||
@@ -128,7 +134,7 @@ resource "helm_release" "karpenter" {
|
|||||||
name = "karpenter"
|
name = "karpenter"
|
||||||
repository = "https://charts.karpenter.sh"
|
repository = "https://charts.karpenter.sh"
|
||||||
chart = "karpenter"
|
chart = "karpenter"
|
||||||
version = "0.8.1"
|
version = "0.8.2"
|
||||||
|
|
||||||
set {
|
set {
|
||||||
name = "serviceAccount.annotations.eks\\.amazonaws\\.com/role-arn"
|
name = "serviceAccount.annotations.eks\\.amazonaws\\.com/role-arn"
|
||||||
|
|||||||
Reference in New Issue
Block a user