使用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

持续更新:地址

相关推荐
她说..35 分钟前
策略模式+工厂模式实现审批流(面试问答版)
java·后端·spring·面试·springboot·策略模式·javaee
梦梦代码精1 小时前
开源、免费、可商用:BuildingAI一站式体验报告
开发语言·前端·数据结构·人工智能·后端·开源·知识图谱
李慕婉学姐2 小时前
【开题答辩过程】以《基于Spring Boot的疗养院理疗管理系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·spring boot·后端
tb_first2 小时前
SSM速通2
java·javascript·后端
一路向北⁢2 小时前
Spring Boot 3 整合 SSE (Server-Sent Events) 企业级最佳实践(一)
java·spring boot·后端·sse·通信
风象南3 小时前
JFR:Spring Boot 应用的性能诊断利器
java·spring boot·后端
爱吃山竹的大肚肚3 小时前
微服务间通过Feign传输文件,处理MultipartFile类型
java·spring boot·后端·spring cloud·微服务
毕设源码-邱学长5 小时前
【开题答辩全过程】以 基于Springboot的酒店住宿信息管理系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
咖啡啡不加糖6 小时前
Grafana 监控服务指标使用指南:打造可视化监控体系
java·后端·grafana
gAlAxy...6 小时前
SpringBoot Servlet 容器全解析:嵌入式配置与外置容器部署
spring boot·后端·servlet