influxdata-operator
influxdata-operator copied to clipboard
Create Local Storage Failed(spec.nodeAffinity: Required value: Local volume requires node affinity)
Create PV failed
kubectl create -f local_storage.yaml
storageclass.storage.k8s.io/standard-resize created
The PersistentVolume "influxdb-data-pv" is invalid: spec.nodeAffinity: Required value: Local volume requires node affinity
I found a sample,It can create success, but it's uncertain whether it really provides the ability to store data.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: standard-resize
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: Immediate
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: influxdb-data-pv
spec:
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Delete
storageClassName: local
local:
path: /var/lib/influxdb/
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- my-node
I'm seeing a similar issue with node affinity.
I attempted to update the storage.yaml file to use my current hostname, however, this throws a new error.
$ kubectl apply -f influxoperator/deploy/storage.yaml storageclass.storage.k8s.io/standard-resize unchanged persistentvolumeclaim/influxdb-data-pvc unchanged The PersistentVolume "influxdb-data-pv" is invalid: nodeAffinity: Invalid value: core.VolumeNodeAffinity{Required:(*core.NodeSelector)(0xc100090)}: field is immutable
Is there a hardcoded expected value for the hostname? or am I misreading this field? Is there any documentation available to help avoid node affinity issues?
Thanks,
Thanks for sharing your nodeAffinity
example. I used it with minikube
value (instead of my-node
).