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
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 |
댓글