我对 Kubernetes 很陌生,试图让 node-red 在一个小的树莓派集群上运行,我很高兴地做到了,但注意到一旦集群关闭,下次我启动它时,节点中的流量 -红色消失了。
所以,我在本地网络的 freenas 盒子上创建了一个 NFS 共享,并且可以从另一个 RPI 挂载它,所以我知道权限有效。
但是,我无法让我的挂载在 kubernetes 部署中工作。
请问我哪里出错了有什么帮助吗?
apiVersion: apps/v1
kind: Deployment
metadata:
name: node-red
labels:
app: node-red
spec:
replicas: 1
selector:
matchLabels:
app: node-red
template:
metadata:
labels:
app: node-red
spec:
containers:
- name: node-red
image: nodered/node-red:latest
ports:
- containerPort: 1880
name: node-red-ui
securityContext:
privileged: true
volumeMounts:
- name: node-red-data
mountPath: /data
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: TZ
value: Europe/London
volumes:
- name: node-red-data
nfs:
server: 192.168.1.96
path: /mnt/Pool1/ClusterStore/nodered
我得到的错误是
error: error validating "node-red-deploy.yml": error validating data: ValidationError(Deployment.spec.template.spec): unknown field "nfs" in io.k8s.api.core.v1.PodSpec; if you choose to ignore these errors, turn validation off with --validate=false
新的消息
我现在有以下
apiVersion: v1
kind: PersistentVolume
metadata:
name: clusterstore-nodered
labels:
type: nfs
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
nfs:
path: /mnt/Pool1/ClusterStore/nodered
server: 192.168.1.96
persistentVolumeReclaimPolicy: Recycle
声明.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: clusterstore-nodered-claim
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
现在,当我开始部署时,它会永远等待挂起,我看到以下 PVC 的事件
事件:Type Reason Age From Message ---- ------ ---- ---- ------- Normal WaitForFirstConsumer 5m47s(x7 over 7m3s)persistentvolume-controller等待第一个消费者被创建在绑定 Normal Provisioning 119s (x5 over 5m44s) rancher.io/local-path_local-path-provisioner-58fb86bdfd-rtcls_506528ac-afd0-11ea-930d-52d0b85bb2c2 外部配置器正在为声明“default/clusterstore-nodered-claim”配置卷之前警告 ProvisioningFailed 119s (x5 over 5m44s) rancher.io/local-path_local-path-provisioner-58fb86bdfd-rtcls_506528ac-afd0-11ea-930d-52d0b85bb2c2 无法使用 StorageClass“local-path”配置卷:仅支持 ReadWriteOnce 访问模式
正常 ExternalProvisioning 92s (x19 over 5m44s) persistentvolume-controller 等待由外部供应商“rancher.io/local-path”或由系统管理员手动创建的卷
我认为这是因为我没有 nfs 提供程序,实际上如果我执行 kubectl get storageclass 我只会看到 local-path
新问题,如何为 NFS 添加存储类?一点点谷歌搜索让我一无所知。