@ У BMW все было в порядке, я смог передать все это в Terraform.
В каталоге aws/
я создал все свои ресурсы AWS, VP C, EKS, working, et c. и EFS монтирует.
resource "aws_efs_file_system" "example" {
creation_token = "${var.cluster-name}-example"
tags = {
Name = "${var.cluster-name}-example"
}
}
resource "aws_efs_mount_target" "example" {
count = 2
file_system_id = aws_efs_file_system.example.id
subnet_id = aws_subnet.this.*.id[count.index]
security_groups = [aws_security_group.eks-cluster.id]
}
Я также экспортирую идентификаторы файловой системы EFS из плана AWS поставщика.
output "efs_example_fsid" {
value = aws_efs_file_system.example.id
}
После создания кластера EKS мне пришлось прежде чем продолжить, вручную установите драйвер CSI EFS в кластер.
Затем в каталоге k8s/
я ссылаюсь на файл состояния aws/
, чтобы при создании PV использовать идентификаторы файловой системы EFS.
data "terraform_remote_state" "remote" {
backend = "s3"
config = {
bucket = "example-s3-terraform"
key = "aws-provider.tfstate"
region = "us-east-1"
}
}
Затем создали постоянные тома с помощью поставщика Kubernetes.
resource "kubernetes_persistent_volume" "example" {
metadata {
name = "example-efs-pv"
}
spec {
storage_class_name = "efs-sc"
persistent_volume_reclaim_policy = "Retain"
capacity = {
storage = "2Gi"
}
access_modes = ["ReadWriteMany"]
persistent_volume_source {
nfs {
path = "/"
server = data.terraform_remote_state.remote.outputs.efs_example_fsid
}
}
}
}