EKS 1.29 -> 1.30 issuer_url error Fix
3일 전
EKS 1.29 -> 1.30 로 테라폼으로 업그레이드 할 때 아래의 에러가 날 수 있습니다.
$ terraform plan -var-file=.auto.tfvars
╷
│ Error: Missing required argument
│
│ with module.eks.aws_eks_identity_provider_config.this["sts"],
│ on .terraform/modules/eks/main.tf line 588, in resource "aws_eks_identity_provider_config" "this":
│ 588: issuer_url = try(each.value.issuer_url, local.idpc_issuer_url)
│
│ The argument "oidc.0.issuer_url" is required, but no definition was found.
output "oidc_issuer_url" {
value = module.eks.cluster_oidc_issuer_url
이런 에러가 나는 1.29 버전의 테라폼 스크립트는 다음과 같습니다.
module "eks" {
source = "terraform-aws-modules/eks/aws"
version = "~> 20.0"
cluster_name = local.name
cluster_version = "1.30" # => 30
cluster_endpoint_private_access = true
cluster_endpoint_public_access = true
create_cloudwatch_log_group = false
~~
cluster_identity_providers = {
sts = {
client_id = "sts.amazonaws.com"
}
}
즉, cluster_identity_providers 에 issuer_url이 누락되었다는 에러로 아래와 같이 값을 얻어낼 수 있습니다.
$ aws eks describe-cluster --name topzone-k8s --region ap-northeast-2 --query "cluster.identity.oidc.issuer" --output text
그 값을 테라폼에 적용한 후에
cluster_identity_providers = {
sts = {
client_id = "sts.amazonaws.com"
issuer_url = "https://oidc.eks.ap-northeast-2.amazonaws.com/id/1907C9BCD0E80760BB636DAC6383031A"
}
}
다시 apply하면 EKS과 node_group 버전 뿐 아니라 Add-on 도 자동으로 아래와 같이 업그레이드 됩니다.
terraform apply -var-file=.auto.tfvars -auto-approve
~ cluster_addons = {
~ coredns = {
~ addon_version = "v1.11.1-eksbuild.4" -> "v1.11.1-eksbuild.8"
id = "topzone-k8s:coredns"
tags = {
application = "topzone-k8s"
environment = "prod"
}
# (14 unchanged attributes hidden)
}
~ kube-proxy = {
~ addon_version = "v1.29.0-eksbuild.1" -> "v1.30.0-eksbuild.3"
id = "topzone-k8s:kube-proxy"
tags = {
application = "topzone-k8s"
environment = "prod"
}
# (14 unchanged attributes hidden)
}
~ vpc-cni = {
~ addon_version = "v1.16.0-eksbuild.1" -> "v1.18.1-eksbuild.3"
id = "topzone-k8s:vpc-cni"
tags = {
application = "topzone-k8s"
environment = "prod"
}
# (14 unchanged attributes hidden)
}
댓글을 작성해보세요.