chore: Update Karpenter example to use partition data source (#2036)

Co-authored-by: Xin Chen <chenxin@konvery.com>
This commit is contained in:
Xin Chen
2022-04-25 18:52:15 +08:00
committed by GitHub
parent dc8a6eecdd
commit d969e94bbe
2 changed files with 11 additions and 4 deletions

View File

@@ -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

View File

@@ -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"