Aks上的Azurefile的terraform kubernetes_storage_class

时间:2019-06-16 03:32:04

标签: azure kubernetes terraform azure-kubernetes

我正在将一些kubernetes yaml文件转换为Terraform。我几乎所有工作都可以进行,但是我仍然无法使用我的storageClass。我需要使用azurefile,但我无法解决如何设置安装文件的权限。

据我所知,这是受支持的语法:

resource "kubernetes_storage_class" "azurefile" {
  metadata {
    name = "azurefile"
  }
  storage_provisioner = "kubernetes.io/azure-file"
  reclaim_policy = "Retain"
  parameters {
    skuName = "Standard_LRS"
  }
}

但是我不知道在哪里可以指定挂载选项。

这是我要开始的Yaml:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: azurefile
provisioner: kubernetes.io/azure-file
mountOptions:
  - dir_mode=0777
  - file_mode=0777
  - uid=1000
  - gid=1000
parameters:
  skuName: Standard_LRS

是否有支持添加挂载选项的方法?如果没有,我将无法使用azure文件。有没有人能够做到这一点,如果没有,您有解决方法吗?

我知道我可以使用local_exec(我已经做过了),但这就是我试图摆脱的地方。

2 个答案:

答案 0 :(得分:0)

是的,看着this似乎还不支持terraform支持mountOptions。

答案 1 :(得分:0)

只是更新线程,mount_options现在在最新版本的terraform中可用(截至2020年2月)。 terraform_provider_kubernetes v1.11.0及更高版本具有可用的mount_options。

resource "kubernetes_storage_class" "azurefile" {
  metadata {
    name = "azurefile"
  }
  storage_provisioner = "kubernetes.io/azure-file"
  reclaim_policy = "Retain"
  parameters {
    skuName = "Standard_LRS"
  }
  mount_options = ["file_mode=0777", "dir_mode=0777", "uid=1000", "gid=1000"]
}