apiVersion: apps/v1 kind: Deployment metadata: name: node-red labels: app: node-red spec: replicas: 1 selector: matchLabels: app: node-red strategy: type: Recreate template: metadata: labels: app: node-red spec: containers: - name: node-red image: nodered/node-red:latest ports: - containerPort: 1880 protocol: TCP volumeMounts: - mountPath: /data name: data resources: limits: cpu: "1" memory: "200Mi" requests: memory: "64Mi" cpu: "50m" volumes: - name: data persistentVolumeClaim: claimName: node-red --- apiVersion: v1 kind: Service metadata: name: node-red labels: app: node-redk8s spec: type: ClusterIP ports: - name: node-red port: 1880 targetPort: 1880 protocol: TCP selector: app: node-red --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: node-red annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/rewrite-target: / spec: rules: - host: nodered.lan http: paths: - path: / pathType: Prefix backend: service: name: node-red port: number: 1880 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: node-red spec: storageClassName: nfs-ssd-ebin01 accessModes: - ReadWriteOnce resources: requests: storage: 4Gi