使用 NFS 配置 Kubernetes Pet Set

Configuring Kubernetes Pet Set with NFS

我正在尝试在 Kubernetes 1.3 中配置 Pet Set。有一个 NFS 存储后端,可按预期与 Persistent Volumes、Claims 和 Pods 一起工作。但是,当我创建宠物集时,VolumeClaimTemplate 永远不会绑定到 NFS 支持的持久卷。

下面是PV的定义-

apiVersion: v1
kind: PersistentVolume
metadata:
  name: janipv
spec:
  capacity:
    storage: 3Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Recycle
  nfs:
    path: /var/data/test
    server: 172.17.4.101

当我尝试 运行 文档中提供的 Pet Set sample 时,我看到以下消息。

kubelet describe pv

{persistentvolume-controller }          Warning         ProvisioningFailed      No provisioner plugin found for the claim!

当我使用普通 Pod 而不是 Pet Set 时,相同的配置工作正常。

我们没有 NFS 动态供应器,如错误所示:http://kubernetes.io/docs/user-guide/petset/#alpha-limitations(除非您编写了一个,在这种情况下我们可以开始调试)。 volumeclaim 模板本身永远不会绑定到任何东西。它是创建卷声明的模板,即控制器将为 pet-0、pet-1 创建 pvc-0、pvc-1...这些声明通过动态卷供应器绑定到持久卷(如与人工创建 pv 并将其附加到 pvc 的静态卷配置过程相反)。

您可以通过设置 pvc 的 volumeName 字段,将现有的 pv 手动附加到其中一个 petset 声明,就像您对复制控制器的 pods 所做的那样。