Kubernetes:使用主机路径进行动态存储配置
Kubernetes : Dynamic Storage Provisioning using host-path
我的问题是关于 PersistentVolumeClaim
我在 aws ec2 上设置了一个节点集群
我正在尝试使用 kubernetes.io/host-path 作为 Provisioner 创建存储 class。
存放class的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 上创建存储 class 和 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 在其选项中,但不知道如何使用它。
看来您可能 运行 供应商本身,所以实际上没有什么可以做创建主机路径目录的工作。
看看here
它的工作方式是主机路径供应器从 kubernetes API 读取,并监视您创建一个存储 class(您已经完成)和一个 persistentvolumeclaim(也已完成) ).
当这些存在时,配置器(运行 作为 pod)将执行 mkdir
以创建主机路径。
运行 以下内容:
kubectl apply -f https://raw.githubusercontent.com/kubernetes-incubator/external-storage/master/docs/demo/hostpath-provisioner/pod.yaml
然后重新创建存储class 和 pvc
我的问题是关于 PersistentVolumeClaim 我在 aws ec2 上设置了一个节点集群 我正在尝试使用 kubernetes.io/host-path 作为 Provisioner 创建存储 class。
存放class的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 上创建存储 class 和 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 在其选项中,但不知道如何使用它。
看来您可能 运行 供应商本身,所以实际上没有什么可以做创建主机路径目录的工作。
看看here
它的工作方式是主机路径供应器从 kubernetes API 读取,并监视您创建一个存储 class(您已经完成)和一个 persistentvolumeclaim(也已完成) ).
当这些存在时,配置器(运行 作为 pod)将执行 mkdir
以创建主机路径。
运行 以下内容:
kubectl apply -f https://raw.githubusercontent.com/kubernetes-incubator/external-storage/master/docs/demo/hostpath-provisioner/pod.yaml
然后重新创建存储class 和 pvc