平台介绍

JECloud是基于微服务架构的低代码平台,是新一代企业级APaaS平台,为企业数字化业务提供了按需使用、持续运行的业务中台能力。快速满足企业多变的需求,允许个性化定制,提供支撑企业业务的完美解决方案,为企业业务的快速创新提供了重要支撑,加速企业数字化转型。

快速启动

将压缩包上传到k8s中的master服务器(可以是执行helm命令的服务器或者本地),解压后,进入对应的目录执行如下命令进行安装(可以自定义名称和空间)

helm upgrade --install kaite --namespace=default .

访问服务

提示所有服务安装完成后,进行访问,访问没有问题说明我们的安装包安装的没有问题,可以替换证书,创建自己的产品。

k8s中master服务器外网ip或者自己配置解析域名
例如:我们当前master的地址为192.168.20.17
登录管理员用户名:admin (管理员没有开发权限)
登录密码:uNSk3o0BBcir5gcF
开发者用户名:developer
登录密码:uNSk3o0BBcir5gcF

服务信息列表

服务名称 占用端口 用途 说明
mysql 31306 提供推送服务和的数据服务 基础服务
Redis 31379 提供二级缓存等 基础服务
openresty 80 网关代理 基础服务
comb 30100、30103 注册中心 基础服务
apollo 8070、8080、8090 配置中心 基础服务
gateway 3050 业务网关 jecloud服务
meta 3051 元数据 jecloud服务
rbac 3052 权限管理 jecloud服务
connector 3053、7010 连接器 jecloud服务
workflow 3054 工作流 jecloud服务
demo 3054 demo jecloud服务
document 3056 文档 jecloud服务
message 3057 消息 jecloud服务
job 3060 job jecloud服务
operator 3061 operator jecloud服务

自定义网关解析

说明:如果有自己的网关,不使用ingress,执行完成之后可以运用网关解析到前后端

spec:
  ingressClassName: nginx
  rules:
  - host: new.jecloud.net
    http:
      paths:
      - backend:
          service:
            name: jecloud-gateway
            port:
              number: 3050
        path: /je/
        pathType: Prefix
      - backend:
          service:
            name: jecloud-connector
            port:
              number: 7010
        path: /jesocket
        pathType: Prefix
      - backend:
          service:
            name: jecloud-static
            port:
              number: 80
        path: /
        pathType: Prefix

说明:具体操作需要自定义修改values.yaml或者自定义修改chart

自定义配置项

license全局化配置

global:
  images:
    license: repo.docker:2008/shyuan/init-license:sanxia
    base: busybox:1.31
  license: jecloud-license
  licensePersistence:    # license持久化
    enabled: false
    #existingCliam: datadir-etcdcluster-sample-0
    storageClass: license
    accessMode: ReadWriteMany
    size: 20Mi

mysql的chart的配置

mysql.enabled 设置为true启用当前数据库

mysql:
  image:
    repository: repo.docker:2008/shyuan/jecloud-mysql
    pullPolicy: IfNotPresent
    # Overrides the image tag whose default is the chart appVersion.
    mysqlTag: "v1.4.1"
  enabled: true
  mysqlRootUsername: root
  mysqlRootPassword: aqN12TwUacaquYIl
  persistence:
    enabled: false
    #storageClass: alicloud-nas
    #existingCliam: alicloud-nas
  service:
    port: 3306
    nodePort: 31306
   # service 的端口号

# 当mysql.enabled=false 的时候使用外部数据库
externalDatabase:
  host: localhost:3306
  # jepaas 数据库用户
  user: root
  # 数据库密码
  password: bt5
  # 数据库名称
  #database: jepaas

redis chart 的配置

# redis chart 的配置
redis:
  enabled: true
  image:
    repository: repo.docker:2008/shyuan/jecloud-redis
    pullPolicy: IfNotPresent
    # Overrides the image tag whose default is the chart appVersion.
    tag: "v1.1"
  #是否启动持久化存储
  persistence:
    enabled: false
    #storageClass: alicloud-nas
    #existingCliam: jepaas-temp-1
  service:
    type: NodePort
    port: 6379
    nodePort: 31379

apollo chart 的配置

# apollo.enabled 可以设置是否启动
apollo:
  enabled: true
  containers:
    image:
      repository: repo.docker:2008/shyuan/apollo
      instantTag: "v1.0.0"
  service:
    type: NodePort
    web:
      nodePort: 31502
    app:
      nodePort: 31503
  mysql:
    enabled: true
    mysqlRootUsername: root
    mysqlRootPassword: aqN12TwUacaquYIl
  readinessProbe:
    tcpSocket:
      port: 8080
    initialDelaySeconds: 40
    periodSeconds: 10
    timeoutSeconds: 5
    successThreshold: 1
    failureThreshold: 3
  resources: {}

comb chart 的配置

# comb.enabled 可以设置是否启动
comb:
  containers:
    image:
      repository: repo.docker:2008/shyuan/comb
      pullPolicy: IfNotPresent
      InstantTag: "v1.2.0"
  service:
    type: NodePort
    web:
      nodePort: 31500
    app:
      nodePort: 31501
  resources: {}

gateway chart 的配置

# gateway.enabled 可以设置是否启动
gateway:
  containers:
    image:
      repository: repo.docker:2008/shyuan/jecloud-gateway
      pullPolicy: IfNotPresent
      InstantTag: "v1.4.1"
  service:
    type: NodePort
    app:
      nodePort: 31504
  readinessProbe:
    httpGet:
      port: 3050
      path: /health
    initialDelaySeconds: 40
    periodSeconds: 10
    timeoutSeconds: 5
    successThreshold: 1
    failureThreshold: 3
  resources:
    limits:
      cpu: "500m"
      memory: "2048Mi"
    requests:
      cpu: "500m"
      memory: "1024Mi"
  imagePullSecrets: []
  nodeSelector: {}
  tolerations: []
  affinity: {}

meta chart 的配置

# meta.enabled 可以设置是否启动
meta:
  containers:
    image:
      repository: repo.docker:2008/shyuan/jecloud-meta
      pullPolicy: IfNotPresent
      InstantTag: "v1.4.1"
  service:
    type: ClusterIP
  readinessProbe:
    httpGet:
      port: 3051
      path: /health
    initialDelaySeconds: 40
    periodSeconds: 10
    timeoutSeconds: 5
    successThreshold: 1
    failureThreshold: 3
  resources:
    limits:
      cpu: "500m"
      memory: "2048Mi"
    requests:
      cpu: "500m"
      memory: "1024Mi"
  imagePullSecrets: []
  nodeSelector: {}
  tolerations: []
  affinity: {}

rbac chart 的配置

rbac:
  containers:
    image:
      repository: repo.docker:2008/shyuan/jecloud-rbac
      pullPolicy: IfNotPresent
      InstantTag: "v1.4.1"
  service:
    type: ClusterIP
  readinessProbe:
    httpGet:
      port: 3052
      path: /health
    initialDelaySeconds: 40
    periodSeconds: 10
    timeoutSeconds: 5
    successThreshold: 1
    failureThreshold: 3
  resources:
    limits:
      cpu: "500m"
      memory: "1024Mi"
    requests:
      cpu: "500m"
      memory: "1024Mi"
  imagePullSecrets: []
  nodeSelector: {}
  tolerations: []
  affinity: {}

document chart 的配置

document:
  containers:
    image:
      repository: repo.docker:2008/shyuan/jecloud-document
      pullPolicy: IfNotPresent
      InstantTag: "v1.4.1"
  service:
    type: ClusterIP
  readinessProbe:
    httpGet:
      port: 3056
      path: /health
    initialDelaySeconds: 40
    periodSeconds: 10
    timeoutSeconds: 5
    successThreshold: 1
    failureThreshold: 3
  persistence:    # 配置持久化
    enabled: false
    storageClass: manual
    accessMode: ReadWriteMany
    size: 2Gi
  resources:
    limits:
      cpu: "500m"
      memory: "1024Mi"
    requests:
      cpu: "500m"
      memory: "1024Mi"
  imagePullSecrets: []
  nodeSelector: {}
  tolerations: []
  affinity: {}

demo chart 的配置

demo:
  containers:
    image:
      repository: repo.docker:2008/shyuan/jecloud-demo
      pullPolicy: IfNotPresent
      InstantTag: "v1.4.1"
  service:
    type: ClusterIP
  readinessProbe:
    httpGet:
      port: 3062
      path: /health
    initialDelaySeconds: 40
    periodSeconds: 10
    timeoutSeconds: 5
    successThreshold: 1
    failureThreshold: 3
  resources:
    limits:
      cpu: "500m"
      memory: "2048Mi"
    requests:
      cpu: "500m"
      memory: "1024Mi"
  imagePullSecrets: []
  nodeSelector: {}
  tolerations: []
  affinity: {}

workflow chart 的配置

workflow:
  containers:
    image:
      repository: repo.docker:2008/shyuan/jecloud-workflow
      pullPolicy: IfNotPresent
      InstantTag: "v1.4.1"
  service:
    type: ClusterIP
  readinessProbe:
    httpGet:
      port: 3054
      path: /health
    initialDelaySeconds: 40
    periodSeconds: 10
    timeoutSeconds: 5
    successThreshold: 1
    failureThreshold: 3
  resources:
    limits:
      cpu: "500m"
      memory: "2048Mi"
    requests:
      cpu: "500m"
      memory: "1024Mi"
  imagePullSecrets: []
  nodeSelector: {}
  tolerations: []
  affinity: {}

message chart 的配置

message:
  containers:
    image:
      repository: repo.docker:2008/shyuan/jecloud-message
      pullPolicy: IfNotPresent
      InstantTag: "v1.4.1"
  service:
    type: ClusterIP
  readinessProbe:
    httpGet:
      port: 3057
      path: /health
    initialDelaySeconds: 40
    periodSeconds: 10
    timeoutSeconds: 5
    successThreshold: 1
    failureThreshold: 3
  resources:
    limits:
      cpu: "500m"
      memory: "1024Mi"
    requests:
      cpu: "500m"
      memory: "1024Mi"
  imagePullSecrets:
  - name: jecloud-image-vpc
  nodeSelector: {}
  tolerations: []
  affinity: {}

connector chart 的配置

connector:
  containers:
    image:
      repository: repo.docker:2008/shyuan/jecloud-connector
      pullPolicy: IfNotPresent
      InstantTag: "v1.4.1"
  service:
    type: ClusterIP
  readinessProbe:
    httpGet:
      port: 3053
      path: /health
    initialDelaySeconds: 40
    periodSeconds: 10
    timeoutSeconds: 5
    successThreshold: 1
    failureThreshold: 3
  resources:
    limits:
      cpu: "200m"
      memory: "512Mi"
    requests:
      cpu: "200m"
      memory: "512Mi"
  imagePullSecrets: []
  nodeSelector: {}
  tolerations: []
  affinity: {}

job chart 的配置

job:
  containers:
    image:
      repository: repo.docker:2008/shyuan/jecloud-job
      pullPolicy: IfNotPresent
      InstantTag: "v1.0.0"
  service:
    type: NodePort
    app:
      nodePort: 31560
  resources:
    limits:
      cpu: "500m"
      memory: "1024Mi"
    requests:
      cpu: "500m"
      memory: "1024Mi"
  imagePullSecrets: []
  nodeSelector: {}
  tolerations: []
  affinity: {}

static静态文件服务 chart 的配置

static:
  containers:
    image:
      repository: repo.docker:2008/shyuan/jecloud-static
      pullPolicy: IfNotPresent
      InstantTag: "v1.4.1"
  service:
    type: ClusterIP
  resources:
    limits:
      cpu: "500m"
      memory: "512Mi"
    requests:
      cpu: "500m"
      memory: "512Mi"
  imagePullSecrets: []
  nodeSelector: {}
  tolerations: []
  affinity: {}

operator chart 的配置

operator:
  containers:
    image:
      repository: repo.docker:2008/shyuan/jecloud-operator
      pullPolicy: IfNotPresent
      InstantTag: "20230712"
  service:
    type: NodePort
    app:
      nodePort: 31561
  persistence:    # 配置持久化
    enabled: false
    storageClass: manual
    accessMode: ReadWriteMany
    size: 5Gi
  readinessProbe:
    httpGet:
      port: 3061
      path: /health
    initialDelaySeconds: 40
    periodSeconds: 10
    timeoutSeconds: 5
    successThreshold: 1
    failureThreshold: 3
  resources:
    limits:
      cpu: "200m"
      memory: "200Mi"
    requests:
      cpu: "200m"
      memory: "200Mi"
  imagePullSecrets: []
  nodeSelector: {}
  tolerations: []
  affinity: {}

controller-manager chart 的配置

controller-manager:
  enabled: true
  containers:
    env:
      gitImage: repo.docker:2008/shyuan/jecloud-task:v0.0.18
      mavenImage: repo.docker:2008/shyuan/maven:v0.5
      dockerImage: repo.docker:2008/shyuan/jecloud-docker:v0.0.1
    images:
      controller: repo.docker:2008/shyuan/jecloud-controller-manager:20230712
      rbac: repo.docker:2008/shyuan/kube-rbac-proxy:v0.13.0
      pullPolicy: IfNotPresent
      InstantTag: "20230712"
  readinessProbe:
    httpGet:
      port: 8081
      path: /readyz
      scheme: HTTP
    initialDelaySeconds: 10
    periodSeconds: 10
    timeoutSeconds: 3
    successThreshold: 1
    failureThreshold: 3
  resources:
    limits:
      cpu: "500m"
      memory: "128Mi"
    requests:
      cpu: "50m"
      memory: "64Mi"
  imagePullSecrets: []
  nodeSelector: {}
  tolerations: []
  affinity: {}

docker chart 配置

docker:
  enabled: true
  containers:
    image: docker:dind

init chart 配置

init:
  enabled: true
  containers:
    image: repo.docker:2008/shyuan/post-install:v0.0.1
设置ingress-nginx chart 配置
ingress-nginx:
  enabled: false
  domainHost: k8s.jepaas.com #配置对外访问的域名
  podLabels:
    localtime: "true"
  controller:
    name: controller
    image:
      repository: cnych/ingress-nginx
      tag: "v0.41.2"
      digest: sha256:8aa4fda472ec83ae59fe0ce9720684d769ed277ff9bdcbb0169178dc9d1f8e85
    dnsPolicy: ClusterFirstWithHostNet
    hostNetwork: true
    publishService:  # hostNetwork 模式下设置为false,通过节点IP地址上报ingress status数据
      enabled: false
    kind: DaemonSet
    tolerations:   # kubeadm 安装的集群默认情况下master是有污点,需要容忍这个污点才可以部署
    - key: "node-role.kubernetes.io/master"
      operator: "Equal"
      effect: "NoSchedule"
    nodeSelector:   # 固定到master1节点
      kubernetes.io/hostname: "ali-jepaas-master1"
    service:  # HostNetwork 模式不需要创建service
      enabled: false
  defaultBackend:
    enabled: true
    name: defaultbackend
    image:
      repository: cnych/ingress-nginx-defaultbackend
      tag: "1.5"
最后编辑: 翟厚翔  文档更新时间: 2024-11-08 17:00   作者:翟厚翔