k8s 容器部署Node-RED

k8s 容器部署Node-RED

AI智能回答

k8s 部署Node-RED docker
要在Kubernetes上部署Node-RED,您可以使用Docker镜像直接运行Node-RED,或者创建一个Dockerfile来定制Node-RED。以下是一个基本的示例,展示如何通过Dockerfile和Kubernetes配置文件来部署Node-RED。
首先,创建一个Dockerfile来定制Node-RED镜像:Dockerfile


FROM nodered/node-red-docker:latest
 
# 复制任何需要的自定义节点到/usr/src/node-red/node_modules/目录
# COPY node-red-contrib-my-node /usr/src/node-red/node_modules/node-red-contrib-my-node
 
# 如果你有一个flows.json文件,你可以复制到/data
# COPY flows.json /data/flows.json

然后,构建Docker镜像:Shell命令


docker build -t mynodered .

接下来,创建一个Kubernetes部署配置文件:deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nodered
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nodered
  template:
    metadata:
      labels:
        app: nodered
    spec:
      containers:
      - name: nodered
        image: mynodered:latest
        ports:
        - containerPort: 1880

最后,创建一个Service配置文件来暴露Node-RED到集群外部:service.yaml

apiVersion: v1
kind: Service
metadata:
  name: nodered-service
spec:
  selector:
    app: nodered
  ports:
    - protocol: TCP
      port: 80
      targetPort: 1880
  type: LoadBalancer

将这些文件保存到相应的.yaml文件中,然后使用kubectl应用它们:shell命令

kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

这将在Kubernetes集群上部署Node-RED,并通过LoadBalancer类型的Service暴露它,允许您通过外部IP访问Node-RED的Web界面。
提示:AI自动生成,仅供参考

官方文档

地址:Node-RED docker部署

Quick Start
# 拉取node-red的镜像
docker pull nodered/node-red

# 运行node-red的镜像成为容器
docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red
Docker Stack / Docker Compose

文件名称 docker-compose-node-red.yml

################################################################################
# Node-RED Stack or Compose
################################################################################
# docker stack deploy node-red --compose-file docker-compose-node-red.yml
# docker-compose -f docker-compose-node-red.yml -p myNoderedProject up
################################################################################
version: "3.7"

services:
  node-red:
    image: nodered/node-red:latest
    environment:
      - TZ=Europe/Amsterdam
    ports:
      - "1880:1880"
    networks:
      - node-red-net
    volumes:
      - node-red-data:/data

volumes:
  node-red-data:

networks:
  node-red-net:

Dockerfile文件

FROM nodered/node-red

# Copy package.json to the WORKDIR so npm builds all
# of your added nodes modules for Node-RED
WORKDIR /data
COPY package.json /data
RUN npm install --unsafe-perm --no-update-notifier --no-fund --only=production
WORKDIR /usr/src/node-red

# Copy _your_ Node-RED project files into place
# NOTE: This will only work if you DO NOT later mount /data as an external volume.
#       If you need to use an external volume for persistence then
#       copy your settings and flows files to that volume instead.
COPY settings.js /data/settings.js
COPY flows_cred.json /data/flows_cred.json
COPY flows.json /data/flows.json

Docker部署Node-RED

利用Docker部署Node-RED可以通过以下步骤进行:

  1. 安装Docker:首先,确保你的计算机上已经安装了Docker。你可以从Docker官网下载并安装适合你操作系统的版本。
  2. 创建Docker镜像:在Dockerfile中,编写一个包含Node-RED的Docker镜像。Dockerfile是一个文本文件,其中包含了构建镜像的指令。以下是一个简单的Dockerfile示例
FROM node:latest  
WORKDIR /app  
COPY . /app  
RUN npm install -g node-red 
EXPOSE 1880
CMD ["node-red", "--max-old-space-size=4096"]

这个Dockerfile基于最新的Node.js镜像,并将当前目录下的文件复制到/app目录。然后,它安装Node-RED全局包,并将端口1880暴露出来。最后,使用CMD指令启动Node-RED服务器。

  1. 构建Docker镜像:在终端或命令提示符中,进入包含Dockerfile的目录,然后运行以下命令来构建Docker镜像:
docker build -t nodered .

这将构建一个名为nodered的Docker镜像。
4. 运行Docker容器:使用以下命令来运行Node-RED的Docker容器:

docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值