【发布时间】:2017-09-01 04:18:35
【问题描述】:
我的问题是关于 PersistentVolumeClaim 我在 aws ec2 上设置了一个节点集群 我正在尝试使用 kubernetes.io/host-path 作为 Provisioner 创建一个存储类。
存储类的yaml文件内容如下,
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
namespace: kube-system
name: my-storage
annotations:
storageclass.beta.kubernetes.io/is-default-class: "false"
labels:
kubernetes.io/cluster-service: "true"
provisioner: kubernetes.io/host-path
PersistentVolumeClaim的yaml文件内容如下,
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: task-pv-claim
annotations:
volume.beta.kubernetes.io/storage-class: my-storage
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
当我尝试在 minikube 上创建存储类和 PVC 时,它正在工作。它正在创造 /tmp/hostpath_volume/ 中 minikube 上的卷 但是,当我在 aws ec2 上的一个节点集群设置上尝试类似的事情时,我收到以下错误
无法创建供应商:卷插件“kubernetes.io/host-path”中的供应被禁用
当我执行 kubectl describe pvc task-pv-claim 时,我可以看到这个错误,另外,PV 没有创建,所以声明处于挂起状态
我发现了类似 kube-controller-manager 的东西,它显示 --enable-dynamic-provisioning 和 --enable-hostpath-provisioner 在它的选项中,但不知道如何使用它。
【问题讨论】:
-
你运行的是什么版本的 kubernetes? hostpath 配置器是否作为集群中的 pod 运行?
-
我使用的是 kubectl 1.5.2 版。我没有得到你的第二个问题。我是这个 k8s 的新手。您的意思是“kubernetes.io/host-path”作为 pod 运行吗?
标签: kubernetes devops minikube devops-services