我如何做到这一点,但在地形使用kubernetes
提供商??
kubectl apply -k "github.com/kubernetes-sigs/aws-efs-csi-driver/deploy/kubernetes/overlays/stable/?ref=release-1.4"
我已经搜索了一些,但没有提到应用直接的yaml文件。
你可以用不同的方式实现;如果这对你有用的话。你想从Terraform执行kubectl
,而不是直接与Kubernetes API通信。
我认为这个方法比你最初要求的有更多的优点,因为它消除了外部依赖。
您可以使用kubectl
提供程序。您可以下载YAML并将其与您的Terraform代码一起提交。这样,(在不同版本之间)审查对YAML的更改也更容易。
它看起来像这样:
resource "kubectl_manifest" "test" {
yaml_body = <<YAML
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
azure/frontdoor: enabled
spec:
rules:
- http:
paths:
- path: /testpath
pathType: "Prefix"
backend:
serviceName: test
servicePort: 80
YAML
}
我建议您使用aws-efs-csi-driver Helm Chart,并进一步使用Helm terraform提供程序。
会很简单和整洁。
## refer to the provider documentation to configure accordingly this is the simplest example.
provider "helm" {
kubernetes {
config_path = "~/.kube/config"
}
resource "helm_release" "aws_efs_csi_driver" {
name = "aws-efs-csi-driver"
repository = "https://kubernetes-sigs.github.io/aws-efs-csi-driver/"
chart = "aws-efs-csi-driver"
set {
### Your custom values ###
}
}