安装文档

环境要求

OS VersionLinux KernelSoft Requirement
Linux Release>= 4.0wget curl tar gettext iptables python

安装方式

外置环境要求

  • 推荐使用外置 数据库 和 Redis,方便日后扩展升级
DBVersionCacheVersion
MySQL>= 5.7Redis>= 5.0
MariaDB>= 10.2

可以使用由 华为云 提供的容器镜像服务 ❤

区域镜像仓库地址配置文件 /opt/jumpserver/config/config.txtKubernetes values.yamlOS/ARCH
华北-北京一swr.cn-north-1.myhuaweicloud.comDOCKER_IMAGE_PREFIX=swr.cn-north-1.myhuaweicloud.comrepository: swr.cn-north-1.myhuaweicloud.comlinux/amd64
华北-北京四swr.cn-north-4.myhuaweicloud.comDOCKER_IMAGE_PREFIX=swr.cn-north-4.myhuaweicloud.comrepository: swr.cn-north-4.myhuaweicloud.comlinux/amd64
华南-广州swr.cn-south-1.myhuaweicloud.comDOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.comrepository: swr.cn-south-1.myhuaweicloud.comlinux/amd64
华东-上海一swr.cn-east-3.myhuaweicloud.comDOCKER_IMAGE_PREFIX=swr.cn-east-3.myhuaweicloud.comrepository: swr.cn-east-3.myhuaweicloud.comlinux/amd64
亚太-香港swr.ap-southeast-1.myhuaweicloud.comDOCKER_IMAGE_PREFIX=swr.ap-southeast-1.myhuaweicloud.comrepository: swr.ap-southeast-1.myhuaweicloud.comlinux/amd64
亚太-新加坡swr.ap-southeast-3.myhuaweicloud.comDOCKER_IMAGE_PREFIX=swr.ap-southeast-3.myhuaweicloud.comrepository: swr.ap-southeast-3.myhuaweicloud.comlinux/amd64

一键部署

  1. # 默认会安装到 /opt/jumpserver-installer-v2.22.2 目录
  2. curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.22.2/quick_start.sh | bash
  3. cd /opt/jumpserver-installer-v2.22.2
  1. # 安装完成后配置文件 /opt/jumpserver/config/config.txt
  1. cd /opt/jumpserver-installer-v2.22.2
  2. # 启动
  3. ./jmsctl.sh start
  4. # 停止
  5. ./jmsctl.sh down
  6. # 卸载
  7. ./jmsctl.sh uninstall
  8. # 帮助
  9. ./jmsctl.sh -h

手动部署

  1. cd /opt
  2. wget https://github.com/jumpserver/installer/releases/download/v2.22.2/jumpserver-installer-v2.22.2.tar.gz
  3. tar -xf jumpserver-installer-v2.22.2.tar.gz
  4. cd jumpserver-installer-v2.22.2
  1. # 根据需要修改配置文件模板, 如果不清楚用途可以跳过修改
  2. cat config-example.txt
  1. # 以下设置如果为空系统会自动生成随机字符串填入
  2. ## 迁移请修改 SECRET_KEY 和 BOOTSTRAP_TOKEN 为原来的设置
  3. ## 完整参数文档 https://docs.jumpserver.org/zh/master/admin-guide/env/
  4. ## 安装配置, amd64 默认使用华为云加速下载, arm64 请注释掉 DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com
  5. # DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com
  6. VOLUME_DIR=/opt/jumpserver
  7. DOCKER_DIR=/var/lib/docker
  8. SECRET_KEY=
  9. BOOTSTRAP_TOKEN=
  10. LOG_LEVEL=ERROR
  11. ## MySQL 配置, USE_EXTERNAL_MYSQL=1 表示使用外置数据库, 请输入正确的 MySQL 信息
  12. USE_EXTERNAL_MYSQL=0
  13. DB_HOST=mysql
  14. DB_PORT=3306
  15. DB_USER=root
  16. DB_PASSWORD=
  17. DB_NAME=jumpserver
  18. ## Redis 配置, USE_EXTERNAL_REDIS=1 表示使用外置数据库, 请输入正确的 Redis 信息
  19. USE_EXTERNAL_REDIS=0
  20. REDIS_HOST=redis
  21. REDIS_PORT=6379
  22. REDIS_PASSWORD=
  23. ## Compose 项目设置, 如果 192.168.250.0/24 网段与你现有网段冲突, 请修改然后重启 JumpServer
  24. COMPOSE_PROJECT_NAME=jms
  25. COMPOSE_HTTP_TIMEOUT=3600
  26. DOCKER_CLIENT_TIMEOUT=3600
  27. DOCKER_SUBNET=192.168.250.0/24
  28. ## IPV6 设置, 容器是否开启 ipv6 nat, USE_IPV6=1 表示开启, 为 0 的情况下 DOCKER_SUBNET_IPV6 定义不生效
  29. USE_IPV6=0
  30. DOCKER_SUBNET_IPV6=fc00:1010:1111:200::/64
  31. ## 访问配置
  32. HTTP_PORT=80
  33. SSH_PORT=2222
  34. MAGNUS_MYSQL_PORT=33060
  35. MAGNUS_MARIADB_PORT=33061
  36. ## HTTPS 配置, 参考 https://docs.jumpserver.org/zh/master/admin-guide/proxy/ 配置
  37. # USE_LB=1
  38. # HTTPS_PORT=443
  39. # SERVER_NAME=your_domain_name
  40. # SSL_CERTIFICATE=your_cert
  41. # SSL_CERTIFICATE_KEY=your_cert_key
  42. ## Nginx 文件上传大小
  43. CLIENT_MAX_BODY_SIZE=4096m
  44. ## Task 配置, 是否启动 jms_celery 容器, 单节点必须开启
  45. USE_TASK=1
  46. ## XPack, USE_XPACK=1 表示开启, 开源版本设置无效
  47. USE_XPACK=0
  48. RDP_PORT=3389
  49. MAGNUS_POSTGRE_PORT=54320
  50. TCP_SEND_BUFFER_BYTES=4194304
  51. TCP_RECV_BUFFER_BYTES=6291456
  52. # Core 配置, Session 定义, SESSION_COOKIE_AGE 表示闲置多少秒后 session 过期, SESSION_EXPIRE_AT_BROWSER_CLOSE=True 表示关闭浏览器即 session 过期
  53. # SESSION_COOKIE_AGE=86400
  54. SESSION_EXPIRE_AT_BROWSER_CLOSE=True
  55. # Koko Lion XRDP 组件配置
  56. CORE_HOST=http://core:8080
  57. JUMPSERVER_ENABLE_FONT_SMOOTHING=True
  58. ## 终端使用宿主 HOSTNAME 标识
  59. SERVER_HOSTNAME=${HOSTNAME}
  60. # 额外的配置
  61. CURRENT_VERSION=
  1. # 安装
  2. ./jmsctl.sh install
  3. # 启动
  4. ./jmsctl.sh start
  1. # 安装完成后配置文件 /opt/jumpserver/config/config.txt
  1. cd /opt/jumpserver-installer-v2.22.2
  2. # 启动
  3. ./jmsctl.sh start
  4. # 停止
  5. ./jmsctl.sh down
  6. # 卸载
  7. ./jmsctl.sh uninstall
  8. # 帮助
  9. ./jmsctl.sh -h

离线部署(amd64)

从飞致云社区 下载最新的 linux/amd64 离线包, 并上传到部署服务器的 /opt 目录

  1. cd /opt
  2. tar -xf jumpserver-offline-installer-v2.22.2-amd64-207.tar.gz
  3. cd jumpserver-offline-installer-v2.22.2-amd64-207
  1. # 根据需要修改配置文件模板, 如果不清楚用途可以跳过修改
  2. cat config-example.txt
  1. # 以下设置如果为空系统会自动生成随机字符串填入
  2. ## 迁移请修改 SECRET_KEY 和 BOOTSTRAP_TOKEN 为原来的设置
  3. ## 完整参数文档 https://docs.jumpserver.org/zh/master/admin-guide/env/
  4. ## 安装配置, amd64 默认使用华为云加速下载, arm64 请注释掉 DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com
  5. # DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com
  6. VOLUME_DIR=/opt/jumpserver
  7. DOCKER_DIR=/var/lib/docker
  8. SECRET_KEY=
  9. BOOTSTRAP_TOKEN=
  10. LOG_LEVEL=ERROR
  11. ## MySQL 配置, USE_EXTERNAL_MYSQL=1 表示使用外置数据库, 请输入正确的 MySQL 信息
  12. USE_EXTERNAL_MYSQL=0
  13. DB_HOST=mysql
  14. DB_PORT=3306
  15. DB_USER=root
  16. DB_PASSWORD=
  17. DB_NAME=jumpserver
  18. ## Redis 配置, USE_EXTERNAL_REDIS=1 表示使用外置数据库, 请输入正确的 Redis 信息
  19. USE_EXTERNAL_REDIS=0
  20. REDIS_HOST=redis
  21. REDIS_PORT=6379
  22. REDIS_PASSWORD=
  23. ## Compose 项目设置, 如果 192.168.250.0/24 网段与你现有网段冲突, 请修改然后重启 JumpServer
  24. COMPOSE_PROJECT_NAME=jms
  25. COMPOSE_HTTP_TIMEOUT=3600
  26. DOCKER_CLIENT_TIMEOUT=3600
  27. DOCKER_SUBNET=192.168.250.0/24
  28. ## IPV6 设置, 容器是否开启 ipv6 nat, USE_IPV6=1 表示开启, 为 0 的情况下 DOCKER_SUBNET_IPV6 定义不生效
  29. USE_IPV6=0
  30. DOCKER_SUBNET_IPV6=fc00:1010:1111:200::/64
  31. ## 访问配置
  32. HTTP_PORT=80
  33. SSH_PORT=2222
  34. MAGNUS_MYSQL_PORT=33060
  35. MAGNUS_MARIADB_PORT=33061
  36. ## HTTPS 配置, 参考 https://docs.jumpserver.org/zh/master/admin-guide/proxy/ 配置
  37. # USE_LB=1
  38. # HTTPS_PORT=443
  39. # SERVER_NAME=your_domain_name
  40. # SSL_CERTIFICATE=your_cert
  41. # SSL_CERTIFICATE_KEY=your_cert_key
  42. ## Nginx 文件上传大小
  43. CLIENT_MAX_BODY_SIZE=4096m
  44. ## Task 配置, 是否启动 jms_celery 容器, 单节点必须开启
  45. USE_TASK=1
  46. ## XPack, USE_XPACK=1 表示开启, 开源版本设置无效
  47. USE_XPACK=0
  48. RDP_PORT=3389
  49. MAGNUS_POSTGRE_PORT=54320
  50. TCP_SEND_BUFFER_BYTES=4194304
  51. TCP_RECV_BUFFER_BYTES=6291456
  52. # Core 配置, Session 定义, SESSION_COOKIE_AGE 表示闲置多少秒后 session 过期, SESSION_EXPIRE_AT_BROWSER_CLOSE=True 表示关闭浏览器即 session 过期
  53. # SESSION_COOKIE_AGE=86400
  54. SESSION_EXPIRE_AT_BROWSER_CLOSE=True
  55. # Koko Lion XRDP 组件配置
  56. CORE_HOST=http://core:8080
  57. JUMPSERVER_ENABLE_FONT_SMOOTHING=True
  58. ## 终端使用宿主 HOSTNAME 标识
  59. SERVER_HOSTNAME=${HOSTNAME}
  60. # 额外的配置
  61. CURRENT_VERSION=
  1. # 安装
  2. ./jmsctl.sh install
  3. # 启动
  4. ./jmsctl.sh start
  1. # 安装完成后配置文件 /opt/jumpserver/config/config.txt
  1. cd /opt/jumpserver-installer-v2.22.2
  2. # 启动
  3. ./jmsctl.sh start
  4. # 停止
  5. ./jmsctl.sh down
  6. # 卸载
  7. ./jmsctl.sh uninstall
  8. # 帮助
  9. ./jmsctl.sh -h

离线部署(arm64)

从飞致云社区 下载最新的 linux/arm64 离线包, 并上传到部署服务器的 /opt 目录

  1. cd /opt
  2. tar -xf jumpserver-offline-installer-v2.22.2-arm64-207.tar.gz
  3. cd jumpserver-offline-installer-v2.22.2-arm64-207
  1. # 根据需要修改配置文件模板, 如果不清楚用途可以跳过修改
  2. cat config-example.txt
  1. # 以下设置如果为空系统会自动生成随机字符串填入
  2. ## 迁移请修改 SECRET_KEY 和 BOOTSTRAP_TOKEN 为原来的设置
  3. ## 完整参数文档 https://docs.jumpserver.org/zh/master/admin-guide/env/
  4. ## 安装配置, amd64 默认使用华为云加速下载, arm64 请注释掉 DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com
  5. # DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com
  6. VOLUME_DIR=/opt/jumpserver
  7. DOCKER_DIR=/var/lib/docker
  8. SECRET_KEY=
  9. BOOTSTRAP_TOKEN=
  10. LOG_LEVEL=ERROR
  11. ## MySQL 配置, USE_EXTERNAL_MYSQL=1 表示使用外置数据库, 请输入正确的 MySQL 信息
  12. USE_EXTERNAL_MYSQL=0
  13. DB_HOST=mysql
  14. DB_PORT=3306
  15. DB_USER=root
  16. DB_PASSWORD=
  17. DB_NAME=jumpserver
  18. ## Redis 配置, USE_EXTERNAL_REDIS=1 表示使用外置数据库, 请输入正确的 Redis 信息
  19. USE_EXTERNAL_REDIS=0
  20. REDIS_HOST=redis
  21. REDIS_PORT=6379
  22. REDIS_PASSWORD=
  23. ## Compose 项目设置, 如果 192.168.250.0/24 网段与你现有网段冲突, 请修改然后重启 JumpServer
  24. COMPOSE_PROJECT_NAME=jms
  25. COMPOSE_HTTP_TIMEOUT=3600
  26. DOCKER_CLIENT_TIMEOUT=3600
  27. DOCKER_SUBNET=192.168.250.0/24
  28. ## IPV6 设置, 容器是否开启 ipv6 nat, USE_IPV6=1 表示开启, 为 0 的情况下 DOCKER_SUBNET_IPV6 定义不生效
  29. USE_IPV6=0
  30. DOCKER_SUBNET_IPV6=fc00:1010:1111:200::/64
  31. ## 访问配置
  32. HTTP_PORT=80
  33. SSH_PORT=2222
  34. MAGNUS_MYSQL_PORT=33060
  35. MAGNUS_MARIADB_PORT=33061
  36. ## HTTPS 配置, 参考 https://docs.jumpserver.org/zh/master/admin-guide/proxy/ 配置
  37. # USE_LB=1
  38. # HTTPS_PORT=443
  39. # SERVER_NAME=your_domain_name
  40. # SSL_CERTIFICATE=your_cert
  41. # SSL_CERTIFICATE_KEY=your_cert_key
  42. ## Nginx 文件上传大小
  43. CLIENT_MAX_BODY_SIZE=4096m
  44. ## Task 配置, 是否启动 jms_celery 容器, 单节点必须开启
  45. USE_TASK=1
  46. ## XPack, USE_XPACK=1 表示开启, 开源版本设置无效
  47. USE_XPACK=0
  48. RDP_PORT=3389
  49. MAGNUS_POSTGRE_PORT=54320
  50. TCP_SEND_BUFFER_BYTES=4194304
  51. TCP_RECV_BUFFER_BYTES=6291456
  52. # Core 配置, Session 定义, SESSION_COOKIE_AGE 表示闲置多少秒后 session 过期, SESSION_EXPIRE_AT_BROWSER_CLOSE=True 表示关闭浏览器即 session 过期
  53. # SESSION_COOKIE_AGE=86400
  54. SESSION_EXPIRE_AT_BROWSER_CLOSE=True
  55. # Koko Lion XRDP 组件配置
  56. CORE_HOST=http://core:8080
  57. JUMPSERVER_ENABLE_FONT_SMOOTHING=True
  58. ## 终端使用宿主 HOSTNAME 标识
  59. SERVER_HOSTNAME=${HOSTNAME}
  60. # 额外的配置
  61. CURRENT_VERSION=
  1. # 安装
  2. ./jmsctl.sh install
  3. # 启动
  4. ./jmsctl.sh start
  1. # 安装完成后配置文件 /opt/jumpserver/config/config.txt
  1. cd /opt/jumpserver-installer-v2.22.2
  2. # 启动
  3. ./jmsctl.sh start
  4. # 停止
  5. ./jmsctl.sh down
  6. # 卸载
  7. ./jmsctl.sh uninstall
  8. # 帮助
  9. ./jmsctl.sh -h

Kubernetes

  1. helm repo add jumpserver https://jumpserver.github.io/helm-charts
  2. helm repo list
  3. vi values.yaml
  1. # 模板 https://github.com/jumpserver/helm-charts/blob/main/charts/jumpserver/values.yaml
  2. # Default values for jumpserver.
  3. # This is a YAML-formatted file.
  4. # Declare variables to be passed into your templates.
  5. nameOverride: ""
  6. fullnameOverride: ""
  7. ## @param global.imageRegistry Global Docker image registry
  8. ## @param global.imagePullSecrets Global Docker registry secret names as an array
  9. ## @param global.storageClass Global StorageClass for Persistent Volume(s)
  10. ## @param global.redis.password Global Redis™ password (overrides `auth.password`)
  11. ##
  12. global:
  13. imageRegistry: "docker.io" # 国内可以使用华为云加速 swr.cn-south-1.myhuaweicloud.com
  14. imageTag: v2.22.2 # 版本号
  15. ## E.g.
  16. # imagePullSecrets:
  17. # - name: harborsecret
  18. #
  19. # storageClass: "jumpserver-data"
  20. ##
  21. imagePullSecrets: []
  22. # - name: yourSecretKey
  23. storageClass: "" # (*必填) NFS SC
  24. ## Please configure your MySQL server first
  25. ## Jumpserver will not start the external MySQL server.
  26. ##
  27. externalDatabase: # (*必填) 数据库相关设置
  28. engine: mysql
  29. host: localhost
  30. port: 3306
  31. user: root
  32. password: ""
  33. database: jumpserver
  34. ## Please configure your Redis server first
  35. ## Jumpserver will not start the external Redis server.
  36. ##
  37. externalRedis: # (*必填) Redis 设置
  38. host: localhost
  39. port: 6379
  40. password: ""
  41. serviceAccount:
  42. # Specifies whether a service account should be created
  43. create: false
  44. # The name of the service account to use.
  45. # If not set and create is true, a name is generated using the fullname template
  46. name:
  47. ingress:
  48. enabled: true # 不使用 ingress 可以关闭
  49. annotations:
  50. # kubernetes.io/tls-acme: "true"
  51. compute-full-forwarded-for: "true"
  52. use-forwarded-headers: "true"
  53. kubernetes.io/ingress.class: nginx
  54. nginx.ingress.kubernetes.io/configuration-snippet: |
  55. proxy_set_header Upgrade "websocket";
  56. proxy_set_header Connection "Upgrade";
  57. hosts:
  58. - "test.jumpserver.org" # 对外域名
  59. tls: []
  60. # - secretName: chart-example-tls
  61. # hosts:
  62. # - chart-example.local
  63. core:
  64. enabled: true
  65. labels:
  66. app.jumpserver.org/name: jms-core
  67. config:
  68. # Generate a new random secret key by execute `cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`
  69. # secretKey: "B3f2w8P2PfxIAS7s4URrD9YmSbtqX4vXdPUL217kL9XPUOWrmy"
  70. secretKey: "" # (*必填) 加密敏感信息的 secret_key, 长度推荐大于 50 位
  71. # Generate a new random bootstrap token by execute `cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`
  72. # bootstrapToken: "7Q11Vz6R2J6BLAdO"
  73. bootstrapToken: "" # (*必填) 组件认证使用的 token, 长度推荐大于 24 位
  74. # Enabled it for debug
  75. debug: false
  76. log:
  77. level: ERROR
  78. replicaCount: 1
  79. image:
  80. registry: docker.io
  81. repository: jumpserver/core
  82. tag: v2.22.2
  83. pullPolicy: IfNotPresent
  84. command: []
  85. env:
  86. # See: https://docs.jumpserver.org/zh/master/admin-guide/env/#core
  87. SESSION_EXPIRE_AT_BROWSER_CLOSE: true
  88. # SESSION_COOKIE_AGE: 86400
  89. # SECURITY_VIEW_AUTH_NEED_MFA: true
  90. livenessProbe:
  91. failureThreshold: 30
  92. httpGet:
  93. path: /api/health/
  94. port: web
  95. readinessProbe:
  96. failureThreshold: 30
  97. httpGet:
  98. path: /api/health/
  99. port: web
  100. podSecurityContext: {}
  101. # fsGroup: 2000
  102. securityContext: {}
  103. # capabilities:
  104. # drop:
  105. # - ALL
  106. # readOnlyRootFilesystem: true
  107. # runAsNonRoot: true
  108. # runAsUser: 1000
  109. service:
  110. type: ClusterIP
  111. web:
  112. port: 8080
  113. ws:
  114. port: 8070
  115. resources: {}
  116. # We usually recommend not to specify default resources and to leave this as a conscious
  117. # choice for the user. This also increases chances charts run on environments with little
  118. # resources, such as Minikube. If you do want to specify resources, uncomment the following
  119. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  120. # limits:
  121. # cpu: 1000m
  122. # memory: 2048Mi
  123. # requests:
  124. # cpu: 500m
  125. # memory: 1024Mi
  126. persistence:
  127. storageClassName: jumpserver-data
  128. accessModes:
  129. - ReadWriteMany
  130. size: 100Gi
  131. # annotations: {}
  132. finalizers:
  133. - kubernetes.io/pvc-protection
  134. # subPath: ""
  135. # existingClaim:
  136. volumeMounts: []
  137. volumes: []
  138. nodeSelector: {}
  139. tolerations: []
  140. affinity: {}
  141. koko:
  142. enabled: true
  143. labels:
  144. app.jumpserver.org/name: jms-koko
  145. config:
  146. log:
  147. level: ERROR
  148. replicaCount: 1
  149. image:
  150. registry: docker.io
  151. repository: jumpserver/koko
  152. tag: v2.22.2
  153. pullPolicy: IfNotPresent
  154. command: []
  155. env: []
  156. # See: https://docs.jumpserver.org/zh/master/admin-guide/env/#koko
  157. # LANGUAGE_CODE: zh
  158. # REUSE_CONNECTION: true
  159. # ENABLE_LOCAL_PORT_FORWARD: true
  160. # ENABLE_VSCODE_SUPPORT: true
  161. livenessProbe:
  162. failureThreshold: 30
  163. httpGet:
  164. path: /koko/health/
  165. port: web
  166. readinessProbe:
  167. failureThreshold: 30
  168. httpGet:
  169. path: /koko/health/
  170. port: web
  171. podSecurityContext: {}
  172. # fsGroup: 2000
  173. securityContext:
  174. privileged: true
  175. # capabilities:
  176. # drop:
  177. # - ALL
  178. # readOnlyRootFilesystem: true
  179. # runAsNonRoot: true
  180. # runAsUser: 1000
  181. service:
  182. type: ClusterIP
  183. web:
  184. port: 5000
  185. ssh:
  186. port: 2222
  187. resources: {}
  188. # We usually recommend not to specify default resources and to leave this as a conscious
  189. # choice for the user. This also increases chances charts run on environments with little
  190. # resources, such as Minikube. If you do want to specify resources, uncomment the following
  191. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  192. # limits:
  193. # cpu: 100m
  194. # memory: 128Mi
  195. # requests:
  196. # cpu: 100m
  197. # memory: 128Mi
  198. persistence:
  199. storageClassName: jumpserver-data
  200. accessModes:
  201. - ReadWriteMany
  202. size: 10Gi
  203. # annotations: {}
  204. finalizers:
  205. - kubernetes.io/pvc-protection
  206. volumeMounts: []
  207. volumes: []
  208. nodeSelector: {}
  209. tolerations: []
  210. affinity: {}
  211. lion:
  212. enabled: true
  213. labels:
  214. app.jumpserver.org/name: jms-lion
  215. config:
  216. log:
  217. level: ERROR
  218. replicaCount: 1
  219. image:
  220. registry: docker.io
  221. repository: jumpserver/lion
  222. tag: v2.22.2
  223. pullPolicy: IfNotPresent
  224. command: []
  225. env:
  226. # See: https://docs.jumpserver.org/zh/master/admin-guide/env/#lion
  227. JUMPSERVER_ENABLE_FONT_SMOOTHING: true
  228. # JUMPSERVER_COLOR_DEPTH: 32
  229. # JUMPSERVER_ENABLE_WALLPAPER: true
  230. # JUMPSERVER_ENABLE_THEMING: true
  231. # JUMPSERVER_ENABLE_FULL_WINDOW_DRAG: true
  232. # JUMPSERVER_ENABLE_DESKTOP_COMPOSITION: true
  233. # JUMPSERVER_ENABLE_MENU_ANIMATIONS: true
  234. livenessProbe:
  235. failureThreshold: 30
  236. httpGet:
  237. path: /lion/health/
  238. port: web
  239. readinessProbe:
  240. failureThreshold: 30
  241. httpGet:
  242. path: /lion/health/
  243. port: web
  244. podSecurityContext: {}
  245. # fsGroup: 2000
  246. securityContext: {}
  247. # capabilities:
  248. # drop:
  249. # - ALL
  250. # readOnlyRootFilesystem: true
  251. # runAsNonRoot: true
  252. # runAsUser: 1000
  253. service:
  254. type: ClusterIP
  255. web:
  256. port: 8081
  257. resources: {}
  258. # We usually recommend not to specify default resources and to leave this as a conscious
  259. # choice for the user. This also increases chances charts run on environments with little
  260. # resources, such as Minikube. If you do want to specify resources, uncomment the following
  261. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  262. # limits:
  263. # cpu: 100m
  264. # memory: 512Mi
  265. # requests:
  266. # cpu: 100m
  267. # memory: 512Mi
  268. persistence:
  269. storageClassName: jumpserver-data
  270. accessModes:
  271. - ReadWriteMany
  272. size: 50Gi
  273. # annotations: {}
  274. finalizers:
  275. - kubernetes.io/pvc-protection
  276. volumeMounts: []
  277. volumes: []
  278. nodeSelector: {}
  279. tolerations: []
  280. affinity: {}
  281. magnus:
  282. enabled: true
  283. labels:
  284. app.jumpserver.org/name: jms-magnus
  285. config:
  286. log:
  287. level: ERROR
  288. replicaCount: 1
  289. image:
  290. registry: docker.io
  291. repository: jumpserver/magnus
  292. tag: v2.21.0
  293. pullPolicy: IfNotPresent
  294. command: []
  295. env: []
  296. livenessProbe:
  297. failureThreshold: 30
  298. tcpSocket:
  299. port: mysql
  300. readinessProbe:
  301. failureThreshold: 30
  302. tcpSocket:
  303. port: mysql
  304. podSecurityContext: {}
  305. # fsGroup: 2000
  306. securityContext: {}
  307. # capabilities:
  308. # drop:
  309. # - ALL
  310. # readOnlyRootFilesystem: true
  311. # runAsNonRoot: true
  312. # runAsUser: 1000
  313. service:
  314. type: ClusterIP
  315. mysql:
  316. port: 33060
  317. mariadb:
  318. port: 33061
  319. postgre:
  320. port: 54320
  321. resources: {}
  322. # We usually recommend not to specify default resources and to leave this as a conscious
  323. # choice for the user. This also increases chances charts run on environments with little
  324. # resources, such as Minikube. If you do want to specify resources, uncomment the following
  325. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  326. # limits:
  327. # cpu: 100m
  328. # memory: 512Mi
  329. # requests:
  330. # cpu: 100m
  331. # memory: 512Mi
  332. persistence:
  333. storageClassName: jumpserver-data
  334. accessModes:
  335. - ReadWriteMany
  336. size: 10Gi
  337. # annotations: {}
  338. finalizers:
  339. - kubernetes.io/pvc-protection
  340. volumeMounts: []
  341. volumes: []
  342. nodeSelector: {}
  343. tolerations: []
  344. affinity: {}
  345. xpack:
  346. enabled: false # 企业版本打开此选项
  347. omnidb:
  348. labels:
  349. app.jumpserver.org/name: jms-omnidb
  350. config:
  351. log:
  352. level: ERROR
  353. replicaCount: 1
  354. image:
  355. registry: registry.fit2cloud.com
  356. repository: jumpserver/omnidb
  357. tag: v2.22.2
  358. pullPolicy: IfNotPresent
  359. command: []
  360. env: []
  361. livenessProbe:
  362. failureThreshold: 30
  363. tcpSocket:
  364. port: web
  365. readinessProbe:
  366. failureThreshold: 30
  367. tcpSocket:
  368. port: web
  369. podSecurityContext: {}
  370. # fsGroup: 2000
  371. securityContext: {}
  372. # capabilities:
  373. # drop:
  374. # - ALL
  375. # readOnlyRootFilesystem: true
  376. # runAsNonRoot: true
  377. # runAsUser: 1000
  378. service:
  379. type: ClusterIP
  380. web:
  381. port: 8082
  382. resources: {}
  383. # We usually recommend not to specify default resources and to leave this as a conscious
  384. # choice for the user. This also increases chances charts run on environments with little
  385. # resources, such as Minikube. If you do want to specify resources, uncomment the following
  386. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  387. # limits:
  388. # cpu: 100m
  389. # memory: 128Mi
  390. # requests:
  391. # cpu: 100m
  392. # memory: 128Mi
  393. persistence:
  394. storageClassName: jumpserver-data
  395. accessModes:
  396. - ReadWriteMany
  397. size: 10Gi
  398. # annotations: {}
  399. finalizers:
  400. - kubernetes.io/pvc-protection
  401. volumeMounts: []
  402. volumes: []
  403. nodeSelector: {}
  404. tolerations: []
  405. affinity: {}
  406. xrdp:
  407. labels:
  408. app.jumpserver.org/name: jms-xrdp
  409. config:
  410. log:
  411. level: ERROR
  412. replicaCount: 1
  413. image:
  414. registry: registry.fit2cloud.com
  415. repository: jumpserver/xrdp
  416. tag: v2.22.2
  417. pullPolicy: IfNotPresent
  418. command: []
  419. env:
  420. # tcp_send_buffer_bytes and tcp_recv_buffer_bytes See: https://github.com/neutrinolabs/xrdp/issues/1483
  421. TCP_SEND_BUFFER_BYTES: 4194304
  422. TCP_RECV_BUFFER_BYTES: 6291456
  423. JUMPSERVER_ENABLE_FONT_SMOOTHING: true
  424. # JUMPSERVER_ENABLE_WALLPAPER: true
  425. # JUMPSERVER_ENABLE_THEMING: true
  426. # JUMPSERVER_ENABLE_FULL_WINDOW_DRAG: true
  427. # JUMPSERVER_ENABLE_DESKTOP_COMPOSITION: true
  428. # JUMPSERVER_ENABLE_MENU_ANIMATIONS: true
  429. livenessProbe:
  430. failureThreshold: 30
  431. tcpSocket:
  432. port: rdp
  433. readinessProbe:
  434. failureThreshold: 30
  435. tcpSocket:
  436. port: rdp
  437. podSecurityContext: {}
  438. # fsGroup: 2000
  439. securityContext: {}
  440. # capabilities:
  441. # drop:
  442. # - ALL
  443. # readOnlyRootFilesystem: true
  444. # runAsNonRoot: true
  445. # runAsUser: 1000
  446. service:
  447. type: ClusterIP
  448. rdp:
  449. port: 3389
  450. resources: {}
  451. # We usually recommend not to specify default resources and to leave this as a conscious
  452. # choice for the user. This also increases chances charts run on environments with little
  453. # resources, such as Minikube. If you do want to specify resources, uncomment the following
  454. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  455. # limits:
  456. # cpu: 100m
  457. # memory: 128Mi
  458. # requests:
  459. # cpu: 100m
  460. # memory: 128Mi
  461. persistence:
  462. storageClassName: jumpserver-data
  463. accessModes:
  464. - ReadWriteMany
  465. size: 50Gi
  466. # annotations: {}
  467. finalizers:
  468. - kubernetes.io/pvc-protection
  469. volumeMounts: []
  470. volumes: []
  471. nodeSelector: {}
  472. tolerations: []
  473. affinity: {}
  474. web:
  475. enabled: true
  476. labels:
  477. app.jumpserver.org/name: jms-web
  478. replicaCount: 1
  479. image:
  480. registry: docker.io
  481. repository: jumpserver/web
  482. tag: v2.22.2
  483. pullPolicy: IfNotPresent
  484. command: []
  485. env: []
  486. # nginx client_max_body_size, default 4G
  487. # CLIENT_MAX_BODY_SIZE: 4096m
  488. livenessProbe:
  489. failureThreshold: 30
  490. httpGet:
  491. path: /api/health/
  492. port: web
  493. readinessProbe:
  494. failureThreshold: 30
  495. httpGet:
  496. path: /api/health/
  497. port: web
  498. podSecurityContext: {}
  499. # fsGroup: 2000
  500. securityContext: {}
  501. # capabilities:
  502. # drop:
  503. # - ALL
  504. # readOnlyRootFilesystem: true
  505. # runAsNonRoot: true
  506. # runAsUser: 1000
  507. service:
  508. type: ClusterIP
  509. web:
  510. port: 80
  511. resources: {}
  512. # We usually recommend not to specify default resources and to leave this as a conscious
  513. # choice for the user. This also increases chances charts run on environments with little
  514. # resources, such as Minikube. If you do want to specify resources, uncomment the following
  515. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  516. # limits:
  517. # cpu: 100m
  518. # memory: 128Mi
  519. # requests:
  520. # cpu: 100m
  521. # memory: 128Mi
  522. persistence:
  523. storageClassName: jumpserver-data
  524. accessModes:
  525. - ReadWriteMany
  526. size: 1Gi
  527. # annotations: {}
  528. finalizers:
  529. - kubernetes.io/pvc-protection
  530. volumeMounts: []
  531. volumes: []
  532. nodeSelector: {}
  533. tolerations: []
  534. affinity: {}
  1. # 安装
  2. helm install jms-k8s jumpserver/jumpserver -n default -f values.yaml
  3. # 卸载
  4. helm uninstall jms-k8s -n default

源码部署

Allinone

更多内容参考 安全建议 快速入门