使用kubernetes部署jetlinks社区版

使用kubernetes部署jetlinks社区版

概述

jetlinks作为优秀开源框架,在物联网领域有着重要地位,虽然社区版本没有提供微服开源,在平时开发过程中,也可以使用kubernetes进行部署,使用trae可以非常方便的把社区版本的dockerfile配置文件自动转换成kubernetes的配置文件,这种转换大大提高了开发效率。但作者认为,虽然AI辅助开发工具非常强大,但开发者的基本原理必须要清楚,有利于找问题。在部署jetlinks的下面的过程中,作者就混淆了nodeport和clusterport,导致jetlinks-ui无法访问到jetlinks-ce,推荐一个免费的学习kubernetes的网站,也是kubernetes官网上推荐的:learning.edx.org/course/cour...

部署jetlinks社区版使用的语句

kubectl只需要在master下发pod即可,kubernetes自动实现容器编排,可谓开发人员的有力帮手,让我们从码农中解脱出来。以下是主要使用的语句。

  • scp jetlinks-community-setting.yaml root@192.168.2.44:/root/k8s
  • kubectl apply -f jetlinks-community-setting.yaml

步骤一:部署redis

这里主要检查redis的密码是否和下载的jetlinks镜像中要求的一致。

yaml 复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  name: jetlinks-ce-redis
spec:
  replicas: 1
  selector:
    matchLabels:
      app: jetlinks-ce-redis
  template:
    metadata:
      labels:
        app: jetlinks-ce-redis
    spec:
      containers:
        - name: redis
          image: redis:5.0.4
          command: ["redis-server", "--appendonly", "yes"]
          ports:
            - containerPort: 6379
          volumeMounts:
            - name: redis-data
              mountPath: /data
      volumes:
        - name: redis-data
          hostPath:
            path: /dev-data/redis
            type: DirectoryOrCreate

步骤二:部署elasticsearch

这里主要检查使用的版本是否和jetlinks中镜像要求的一致,kibana部署或者不部署影响不大。

yaml 复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  name: jetlinks-ce-elasticsearch
spec:
  replicas: 1
  selector:
    matchLabels:
      app: jetlinks-ce-elasticsearch
  template:
    metadata:
      labels:
        app: jetlinks-ce-elasticsearch
    spec:
      containers:
        - name: elasticsearch
          image: elasticsearch:7.17.23

步骤三:部署postgres

这里主要检查postgres的镜像版本,能够下载下来问题就不大。

yaml 复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  name: jetlinks-ce-postgres
spec:
  replicas: 1
  selector:
    matchLabels:
      app: jetlinks-ce-postgres
  template:
    metadata:
      labels:
        app: jetlinks-ce-postgres
    spec:
      containers:
        - name: postgres
          image: postgres:11-alpine

步骤四:部署jetlinks后台

这里如果使用了nodeport,需要注意ports中对应的端口号,在jetlinks-ui中的配置中会用到。

yaml 复制代码
apiVersion: v1
kind: Service
metadata:
  name: jetlinks-ce
spec:
  type: NodePort
  selector:
    app: jetlinks-ce
  ports:
    - name: api-port
      protocol: TCP
      port: 8848
      targetPort: 8848
      nodePort: 30848
    - name: mqtt-port
      protocol: TCP
      port: 1883
      targetPort: 1883
      nodePort: 31883
    - name: reserved-port-1
      protocol: TCP
      port: 8800
      targetPort: 8800
      nodePort: 30800
    - name: reserved-port-2
      protocol: TCP
      port: 5060
      targetPort: 5060
      nodePort: 30060

步骤五:部署jetlinks前端 这里需要检查端口号,如果不通,需要kubectl exec进入容器中,curl调试下网络。

yaml 复制代码
apiVersion: v1
kind: Service
metadata:
  name: jetlinks-ce-ui
spec:
  type: NodePort
  selector:
    app: jetlinks-ce-ui
  ports:
    - name: ui-port
      port: 80
      targetPort: 80
      nodePort: 30900

持续更新:地址

相关推荐
wuxuanok26 分钟前
Web后端开发-分层解耦
java·笔记·后端·学习
315356691343 分钟前
ClipReader:一个剪贴板英语单词阅读器
前端·后端
ladymorgana1 小时前
【Spring Boot】HikariCP 连接池 YAML 配置详解
spring boot·后端·mysql·连接池·hikaricp
neoooo1 小时前
别慌,Java只有值传递——一次搞懂“为啥我改了它还不变”!
java·后端·spring
用户7785371836961 小时前
一力破万法:从0实现一个http代理池
后端·爬虫
拖孩2 小时前
微信群太多,管理麻烦?那试试接入AI助手吧~
前端·后端·微信
Humbunklung2 小时前
Rust枚举:让数据类型告别单调乏味
开发语言·后端·rust
radient2 小时前
Golang-GMP 万字洗髓经
后端·架构
蓝倾2 小时前
如何使用API接口实现淘宝商品上下架监控?
前端·后端·api
舂春儿2 小时前
如何快速统计项目代码行数
前端·后端