我正在尝试使用类型为azure-file定义的存储类动态配置存储。我已经尝试在storageAccount和skuName的storageclass中设置两个参数。这是我设置storageAccount的示例。
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: azuretestfilestorage
namespace: kube-system
provisioner: kubernetes.io/azure-file
parameters:
storageAccount: <storage_account_name>
存储类已成功创建,但是当我尝试使用此存储类创建持久卷声明时,持久卷创建失败,并显示以下错误:
Failed to provision volume with StorageClass "azuretestfilestorage": failed to find a matching storage account
以下是我的persistentvolumeclaim
的代码apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: logging-persistent-volume-claim-test
namespace: kube-system
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 5Gi
storageClassName: azuretestfilestorage
我的storageaccount肯定与我的acs群集在同一资源组和数据中心位置。我的理解是应该自动生成一个秘密的,持久的卷和文件共享。相反,我只是陷入了上述错误的待处理状态。
这是我的kubectl版本命令的输出
Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.3", GitCommit:"d2835416544f298c919e2ead3be3d0864b52323b", GitTreeState:"clean", BuildDate:"2018-02-07T12:22:21Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.7", GitCommit:"8e1552342355496b62754e61ad5f802a0f3f1fa7", GitTreeState:"clean", BuildDate:"2017-09-28T23:56:03Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
任何输入都将不胜感激。谢谢!
答案 0 :(得分:1)
我通过电子邮件发送了微软支持,并收到了答复。
如果您的--cluster-name值在“/etc/kubernetes/manifests/kube-controller-manager.yaml”中,则acs kubernetes版本1.7.7中存在一个错误,该错误不允许动态持久卷声明工作主节点VM的大小超过16个字符。非常模糊的bug。解决方法是升级您的群集或使用其他名称重新部署。