Я начал использовать terraform для автоматизации предоставления ресурсов AWS для настройки кластера k8s.Я столкнулся с проблемой при попытке обратиться к aws_instance.id из aws_eip.Вот полезные детали:
aditya@aditya-VirtualBox:~/Desktop/terraform-states$ terraform -v
Terraform v0.11.11
+ provider.aws v1.54.0
1) aws-eip.tf
resource "aws_eip" "nat" {
instance = "${aws_instance.xenial.id}"
vpc = true
depends_on = ["aws_internet_gateway.esya_igw"]
}
2) aws_inst.tf:
resource "aws_instance" "xenial" {
ami = "${var.aws_ami}"
instance_type = "t3.large"
ebs_optimized = true
monitoring = true
count = "8"
key_name = "${var.aws_key_name}"
tags{
Name = "KubeVMCluster${count.index + 1}"
}
}
Ожидаемое поведение : AWS EIP должен иметь возможность ссылаться на экземпляр AWS. Текущее поведение : Мы получаем эту ошибку:
aditya@aditya-VirtualBox:~/Desktop/terraform-states$ terraform plan
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.
------------------------------------------------------------------------
Error: Error running plan: 1 error(s) occurred:
* aws_eip.nat: 1 error(s) occurred:
* aws_eip.nat: Resource 'aws_instance.xenial' not found for variable 'aws_instance.xenial.id'
Я пытался найти решение, ссылаясь на подобные проблемы в Github и других местах, но безрезультатно.По моему мнению, я не нахожу ничего проблемного с декларативным кодом.
Мне нужна помощь в решении этой проблемы.
С уважением
Aditya