# Изменено: 2026-03-14 # Node-RED для визуального управления demo сценарием Event Log. # Образ: nodered/node-red:4 (официальный, всегда есть на DockerHub) # UI доступен по http:///nodered/ # Для AMQP нужен плагин node-red-contrib-amqp — ставится через initContainer. --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: nodered-data namespace: sless spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: nodered namespace: sless labels: app: nodered spec: replicas: 1 selector: matchLabels: app: nodered template: metadata: labels: app: nodered spec: securityContext: fsGroup: 1000 # initContainer устанавливает AMQP-плагин в PVC до старта основного контейнера initContainers: - name: install-nodes image: nodered/node-red:latest securityContext: runAsUser: 0 runAsGroup: 0 command: - sh - -c - | chown -R 1000:1000 /data || true cd /data npm install --prefix /data node-red-contrib-amqp node-red-dashboard 2>&1 || true volumeMounts: - name: data mountPath: /data containers: - name: nodered image: nodered/node-red:latest ports: - containerPort: 1880 env: - name: NODE_RED_ENABLE_PROJECTS value: "false" - name: TZ value: "Europe/Moscow" securityContext: runAsUser: 1000 runAsGroup: 1000 volumeMounts: - name: data mountPath: /data resources: requests: memory: "256Mi" cpu: "100m" limits: memory: "512Mi" cpu: "500m" readinessProbe: httpGet: path: / port: 1880 initialDelaySeconds: 15 periodSeconds: 10 volumes: - name: data persistentVolumeClaim: claimName: nodered-data --- apiVersion: v1 kind: Service metadata: name: nodered namespace: sless spec: selector: app: nodered ports: - port: 1880 targetPort: 1880 --- # Ingress на Node-RED — доступен снаружи по http://nodered.185.247.187.147.nip.io apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: nodered namespace: sless annotations: nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" spec: ingressClassName: nginx rules: - host: nodered.185.247.187.147.nip.io http: paths: - path: / pathType: Prefix backend: service: name: nodered port: number: 1880