1

我已经设置了具有 14 个 Linux 节点的 AKS 集群。我正在使用 helm 图表部署代码。具有手动 storageClass 的 pod 已成功创建,但使用默认 storageClass 的 pod 无法创建具有错误的持久卷声明。

警告 ProvisioningFailed (x894 over 33h) persistentvolume-controller 无法使用 StorageClass“默认”预配卷:azureDisk - 不支持在 Azure 磁盘上动态预配声明.Spec.Selector

我尝试创建一个 NFS 存储并使用 kubectl 命令将其添加到 kubernetes 集群,但 pod 没有使用该 NFS 挂载来创建卷。

kubectl describe pvc dev-aaf-aaf-sms -n onap
Name:          dev-aaf-aaf-sms
Namespace:     onap
StorageClass:  default
Status:        Pending
Volume:        
Labels:        app=aaf-sms
                chart=aaf-sms-4.0.0
                heritage=Tiller
                release=dev-aaf
Annotations:   volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/azure-disk
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      
Access Modes:  
VolumeMode:    Filesystem
Mounted By:    dev-aaf-aaf-sms-6bbffff5db-qxm7j
Events:
    Type     Reason              Age                        From                         Message
    ----     ------              ----                       ----                         -------
    Warning  ProvisioningFailed  <invalid> (x894 over 33h)  persistentvolume-controller  Failed to provision volume with StorageClass "default": azureDisk - claim.Spec.Selector is not supported for dynamic provisioning on Azure disk

了解 Azure AKS 或 Kubernetes 的人能否在此处提供一些指导。
问:是否可以使用 kubectl 为 AKS 集群上的所有节点设置默认 NFS 卷挂载?

它似乎是 Azure 和 Kubernetes 之间“默认”存储类的兼容性约束。对于具有“手动” storageClass 的 PV,PVC 会成功动态创建。所以我们需要为 AKS 集群上的节点定义默认的 storageClass。就我而言,我需要将其定义为 NFS 挂载。

在其上安装 kubernetes 后,我知道如何在单个 VM 上执行此操作,但我正在努力为 AKS 集群的所有节点设置它。Azure 文档仅讨论在 pod 级别而不是节点级别执行此操作

4

1 回答 1

0

您显然正在“命中”这段代码,这意味着您的 PVC.spec 上不能有选择器

于 2019-08-23T07:00:30.763 回答