728x90
728x90
상황
Terraform의 한 모듈 내에서 EKS Cluster와 k8s 리소스들을 같이 프로비저닝 중
k8s 리소스 블럭들을 추가하였고, 기존 cluster 내부 리소스들을 import
해야하는 상황
## k8s provider 설정
data "aws_eks_cluster_auth" "cluster" {
name = aws_eks_cluster.this.id
}
provider "kubernetes" {
host = aws_eks_cluster.this.endpoint
token = data.aws_eks_cluster_auth.cluster.token
cluster_ca_certificate = base64decode(aws_eks_cluster.this.certificate_authority[0].data)
}
에러
plan
: 잘 돌아감
apply
: 동일한 이름의 리소스가 이미 존재한다고 에러남
import
: Unauthorized 에러남;;;;;;
해결
도대체 왜 unauthorized
인지 이해가 안갔으나, 아래 이슈를 정독하고 해결함
https://github.com/hashicorp/terraform-provider-kubernetes/issues/918
Kubernetes Provider 1.11.3 "Unauthorized" · Issue #918 · hashicorp/terraform-provider-kubernetes
Terraform Version and Provider Version Terraform v0.12.26 provider.archive v1.3.0 provider.aws v2.70.0 provider.helm v1.2.3 provider.kubernetes v1.11.3 provider.null v2.1.2 Affected Resource(s) kub...
github.com
k8s provider의 인수로 사용하는 eks cluster의 token 값은 15분 동안만 유효하다고 한다
따라서 apply
할 땐 생기지 않는 권한 에러가 import
할 때만 나타나는 것이다
-> terraform refresh
명령을 내린 후 import
하면 잘 됨
끝
728x90
728x90
'공부 > IaC' 카테고리의 다른 글
[Terraform/AWS] VPC Peering Module을 만들 때 고려할 점 (0) | 2022.10.30 |
---|---|
[Terraform/k8s] k8s YAML 리소스로 Terraform Code를 쉽게 작성하는 3가지 방법 (0) | 2022.08.21 |
[Terraform] MAC에서 tfenv로 terraform 특정 버전 사용 (1) | 2022.05.14 |
[Terraform] 다른 backend의 state가 업데이트가 안돼요..?! (terraform_remote_state 불러오는 방식) (0) | 2022.04.30 |
[Terraform] map 타입 변수 validation 설정하기 (0) | 2022.02.21 |
댓글