azure - aks 上 azurefile 的 terraform kubernetes_storage_class

标签 azure kubernetes terraform azure-aks

我正在将一些 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 (我已经这样做了),但这就是我试图摆脱的。

最佳答案

为了更新线程,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"]
}

关于azure - aks 上 azurefile 的 terraform kubernetes_storage_class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56615848/

相关文章:

amazon-web-services - 使用 Terraform 缩小 AWS 上的 Redis 缓存集群

terraform - 在 terraform 中连接两个变量

Azure 托管标识错误 - 找不到访问 token 的标识

docker - 无法解析docker端点

使用 Google Ingress 和托管证书进行 SSL 重定向

jenkins - 在Openshift中为Jenkins实例配置不同的构建工具

amazon-web-services - 在 Terraform 中使用多个环境/变量

azure - 使用 JSON 的逻辑应用发送消息错误

azure - 使用客户端 key 而不是用户凭据通过 MSAL.Net 获取 token

azure - 从 Azure 托管的 Web API 向 Angular 客户端获取通知的最佳方式