我使用kubeadm在裸金属上配置了一个kubernetes集群。一切都很好,我可以部署一个示例nginx应用程序。当我想使用volumeClaimTemplates
部署状态集时出现了问题,如下所示
volumeClaimTemplates:
- metadata:
name: jackrabbit-volume
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
storageClassName: jackrabbit
和储藏室
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
annotations:
meta.helm.sh/release-name: chart-1591185140
meta.helm.sh/release-namespace: gluu
storageclass.beta.kubernetes.io/is-default-class: "false"
labels:
app.kubernetes.io/managed-by: Helm
storage: jackrabbit
managedFields:
- apiVersion: storage.k8s.io/v1
mountOptions:
- debug
parameters:
fsType: ext4
pool: default
provisioner: kubernetes.io/no-provisioner
reclaimPolicy: Retain
我还试图添加一个带有persistentVolume
规范的hostPath
,但仍然无法工作。
---- ------ ---- ---- -------
Warning ProvisioningFailed 82s (x3 over 98s) persistentvolume-controller no volume plugin matched
发布于 2020-06-04 08:31:50
在您的StorageClass中,您正在使用kubernetes.io/no-provisioner
,这意味着您正在尝试使用本地卷插件。
集群还不知道kubernetes.io/no-provisioner
,这就是no volume plugin matched
出现的原因。
根据文档的说法,这个插件不包括在kubernetes.io
中作为内部提供器。这里您可以看到一个图表,其中列出了所有提供程序、它们的插件名(如果它们包含在内部提供程序中)和一个指向配置示例的链接。
在文件中,我们可以读到:
您不限于指定此处列出的“内部”提供程序(其名称以
kubernetes.io
为前缀,并与Kubernetes一起发送)。您还可以运行和指定外部提供程序,它们是遵循Kubernetes定义的规格说明的独立程序。外部提供程序的作者对其代码所在位置、提供程序是如何提供的、它需要如何运行、它使用了什么卷插件(包括Flex)等都有完全的酌处权。存储库kubernetes-sigs/sig-storage-lib-external-provisioner包含一个用于编写实现大部分规范的外部提供程序的库。存储库kubernetes-孵化器/外部存储中列出了一些外部提供程序。 例如,NFS不提供内部提供程序,但可以使用外部提供程序。也有第三方存储供应商提供自己的外部供应程序的情况。
发布于 2020-11-09 00:25:35
当PV分配到PVC no volume plugin matched
时,通常会出现来自持久化卷控制器的错误(当描述PVC时)。
要验证这一点,请在豆荚/状态集上运行kubectl describe
--如果您看到以下错误:
... pod has unbound immediate PersistentVolumeClaims
这可能是由于使用本地卷时的多种原因造成的--以下几个例子:
1) PVC请求存储量过大,并且没有PV能够满足此值( PV存储值需要等于或高于PVC存储请求)。
2)并非所有PVC作为相应的PV -在这种情况下,我们可以看到,一些资源将是成功的,有些将被困住:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
mongo-0 2/2 Running 0 3m38s
mongo-1 0/2 Pending 0 3m23s
$ kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
mongo-persistent-storage-mongo-0 Bound mongo-local-pv 50Gi RWO local-storage 80m
mongo-persistent-storage-mongo-1 Pending
3)当调度程序未能将节点与PV匹配时。
当使用本地卷时,PV的nodeAffinity
是必需的,并且应该是集群中现有节点的值。
https://stackoverflow.com/questions/62178124
复制相似问题