私の質問は PersistentVolumeClaim に関するものです。aws ec2 に 1 つのノード クラスターをセットアップしています。 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 の 1 ノード クラスター セットアップで同様のことを試みていると、次のエラーが発生します。
プロビジョナーの作成に失敗しました: ボリューム プラグイン "kubernetes.io/host-path" でのプロビジョニングが無効になっています
kubectl describe pvc task-pv-claimを実行すると、このエラーが表示されます。また、PV が作成されていないため、クレームは保留状態になっています。
オプションで --enable-dynamic-provisioning と --enable-hostpath-provisioner を示す kube-controller-manager のようなものを見つけましたが、その使用方法がわかりません。