7

私の質問は PersistentVolumeClaim に関するものです。aws ec2 に 1 つのノード クラスターをセットアップしています。 kubernetes.io/host-pathProvisionerとして使用してストレージ クラスを作成しようとしています。

ストレージ クラスの 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 の 1 ノード クラスター セットアップで同様のことを試みていると、次のエラーが発生します。

プロビジョナーの作成に失敗しました: ボリューム プラグイン "kubernetes.io/host-path" でのプロビジョニングが無効になっています

kubectl describe pvc task-pv-claimを実行すると、このエラーが表示されます。また、PV が作成されていないため、クレームは保留状態になっています。

オプションで --enable-dynamic-provisioning と --enable-hostpath-provisioner を示す kube-controller-manager のようなものを見つけましたが、その使用方法がわかりません。

4

1 に答える 1