本地Kubernetes部署Node-red失败求助:含PVC配置及错误信息
解决Node-red在Kubernetes中的部署失败问题
错误原因分析
从报错信息可以明确问题出在YAML配置的语法错误:
limits和requests字段缩进错误,它们属于容器(containers)的子配置,却被误写为与containers同级;limits下的memory、cpu未正确缩进为limits的子元素;- PersistentVolumeClaim配置里的
resources.requests后存在无效文本enter image description here,破坏了YAML语法结构。
修正后的完整YAML配置
apiVersion: apps/v1 kind: Deployment metadata: labels: app: nodered name: nodered spec: replicas: 1 selector: matchLabels: app: nodered template: metadata: labels: app: nodered spec: containers: - name: nodered image: nodered/node-red:latest resources: limits: memory: 512Mi cpu: "1" requests: memory: 256Mi cpu: "0.2" ports: - containerPort: 1880 volumeMounts: - name: nodered-claim mountPath: /data/nodered volumes: - name: nodered-claim persistentVolumeClaim: claimName: nodered-claim --- apiVersion: v1 kind: PersistentVolume metadata: name: small-pv spec: capacity: storage: 1Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: local-storage local: path: /data nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - minikube --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: nodered-claim spec: storageClassName: local-storage accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: local-storage provisioner: kubernetes.io/no-provisioner volumeBindingMode: Immediate
部署与验证步骤
- 应用修正后的配置:
kubectl apply -f ./Deployment.yaml
- 检查Pod状态,确认成功运行:
kubectl get pods -l app=nodered
- 查看容器资源使用情况,验证监控功能:
kubectl top pod $(kubectl get pods -l app=nodered -o name)
内容的提问来源于stack exchange,提问作者Quazi Afnan Ahmed
相关产品推荐
相关产品推荐

