helm-charts icon indicating copy to clipboard operation
helm-charts copied to clipboard

支持内建MySQL和Redis服务

Open yisiqi opened this issue 2 years ago • 7 comments

  1. 无需预先准备MySQL、Redis实例也可以一键完成JumpServer安装
  2. 能够在内置和自建MySQL、Redis实例无缝切换

yisiqi avatar Aug 29 '22 05:08 yisiqi

@wojiushixiaobai 请Review

yisiqi avatar Aug 29 '22 05:08 yisiqi

@yisiqi 感谢提交代码

我们不准备将 MySQL 和 MariaDB 集成到项目里面,但是可以在文档 或者 Readme 说明中添加快速创建 MySQL 和 Redis 说明。 例:

kubectl create ns jumpserver
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
helm install jms-mysql bitnami/mysql -n jumpserver \
--set global.storageClass=jumpserver-mysql-data \
--set auth.rootPassword=weakPassword \
--set auth.database=jumpserver
helm install jms-redis bitnami/redis -n jumpserver \
--set global.storageClass=jumpserver-redis-data \
--set auth.enabled=true \
--set auth.password=weakPassword 

然后正常配置 JumpServer 即可。

helm repo add jumpserver https://jumpserver.github.io/helm-charts
helm repo update
helm install jms-k8s . -n jumpserver \
--set core.config.secretKey=GxrLH7rewfsRN8B9Zl6MEGD50Uou4LF6UVsEIayGMhYll8dqmn \
--set core.config.bootstrapToken=ilR8RvAbK7lgRTxs \
--set global.storageClass=jumpserver-data \
--set externalDatabase.engine=mysql \
--set externalDatabase.host=jumpserver-mysql \
--set externalDatabase.port=3306 \
--set externalDatabase.user=root \
--set externalDatabase.password=weakPassword  \
--set externalDatabase.database=jumpserver \
--set externalRedis.host=jumpserver-redis-master \
--set externalRedis.port=6379 \
--set koko.service.type=NodePort \
--set web.service.type=NodePort \
--set externalRedis.password=weakPassword

wojiushixiaobai avatar Aug 30 '22 02:08 wojiushixiaobai

我们不准备将 MySQL 和 MariaDB 集成到项目里面,但是可以在文档 或者 Readme 说明中添加快速创建 MySQL 和 Redis 说明。

@wojiushixiaobai 想了解一下咱这方面是有什么特殊考虑吗?感觉一体化打包之后更方便了,也没有污染到咱自身的逻辑

yisiqi avatar Aug 30 '22 02:08 yisiqi

我们希望用户能自己处理数据库和 Redis 的问题,如果用户需要部署 JumpServer,至少需要一定的知识来部署依赖的组件。 而且在一些特殊情况下,比如应用需要回滚,JumpServer 自身是没什么问题的,但是数据库这块不受我们控制,他不应该直接纳入到项目里面。

  • 存储快照 Snapshot

wojiushixiaobai avatar Aug 30 '22 02:08 wojiushixiaobai

我们希望用户能自己处理数据库和 Redis 的问题,如果用户需要部署 JumpServer,至少需要一定的知识来部署依赖的组件。 而且在一些特殊情况下,比如应用需要回滚,JumpServer 自身是没什么问题的,但是数据库这块不受我们控制,他不应该直接纳入到项目里面。

  • 存储快照 Snapshot

可以理解这个顾虑。

从另一个角度看,一键安装包更容易吸引用户去尝试咱们这个产品,简化部署操作可以大幅提升小白用户一次性上手的成功率。虽然数据库、Redis都应当是大家具备的基本知识。但每一款软件都有自己的不通的参数配置,哪怕都是数据库连接,变量名、变量数量也不尽相同。在这种情况下企业信息中心的客户需要了解、甚至是需要知识管理去记录这些部署运维的细节,确实形成了很多隐形的工作量。

我们应该还是希望企业IT管理的这些人员能更容易的体验咱们的产品,对吧。

yisiqi avatar Aug 30 '22 03:08 yisiqi

我们有其他的安装方式能便捷快速的部署,但是在 Kubernetes 上暂时还没法做到类似一键部署。 我们希望的是让用户知道自己在做什么。

wojiushixiaobai avatar Aug 30 '22 03:08 wojiushixiaobai

我们有其他的安装方式能便捷快速的部署,但是在 Kubernetes 上暂时还没法做到类似一键部署。 我们希望的是让用户知道自己在做什么。

充分尊重上述意见,同时也希望能对这个议题保持开放性,我们也愿意投入这种前瞻性的试点

yisiqi avatar Aug 30 '22 03:08 yisiqi