官方文档:
安装文档:https://blog.fit2cloud.com/?p=2659
功能列表:https://www.jumpserver.org/features.html
快速入门:https://docs.jumpserver.org/zh/master/admin-guide/quick_start/
准备持久化存储
我这里使用的是 nfs ,关于配置nfs动态存储卷可以参考官方文档或是
[root@master conf.d]# kubectl get storageclassesNAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGElocal (default) openebs.io/local Delete WaitForFirstConsumer false 56dnfs-storage cluster.local/nfs-storage-nfs-client-provisioner Delete Immediate true 14d
在Kubernetes集群上面创建命名空间
# 创建命名空间
kubectl create ns jms
在Kubernetes集群上面创建MySQL
备注:若环境中有可用的MySQL数据库,可跳过此步骤。
# 使用 helm 安装 MySQL,并设置密码信息
# registry.kubeoperator.io:8082 是一个 Docker 私有仓库地址,可不设置默认使用 docker.io
# 添加 helm 仓库,需要连接外网
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
helm install jms-mysql bitnami/mysql -n jms \
--set global.storageClass=nfs-storage \
--set auth.rootPassword=GkijjN4PntV9Rb63 \
--set auth.database=jumpserver \
--set auth.username=jms \
--set auth.password=GkijjN4PntV9Rb63
storageClass:storageclass 名称 rootPassword:密码生成器生成的密码
在Kubernetes集群上创建Redis
备注:若环境中有可用的Redis,可跳过此步骤。
helm install jms-redis bitnami/redis -n jms \
--set global.storageClass=nfs-storage \
--set auth.enabled=true \
--set auth.password=y9EjxS63agkxm2W8
nfs-storage storageclass 名称 y9EjxS63agkxm2W8 密码生成器生成的密码
在Kubernetes集群上创建JumpServer
准备Helm Chart 。JumpServer官方已经提供了Chart文件,我们只需要将项目下载到本地,略做修改之后便可以使用。
# 克隆 JumpServer helm/chart 代码
$ git clone https://github.com/jumpserver/helm.git
# 下面的helm要在这个目录下面执行
$ cd helm-charts-main/charts/jumpserver
$ ls
Chart.yaml configs README.md templates values.yaml
# 生成 JumpServer 的 secretKey
cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50
# 生成 JumpServer 的 bootstrapToken
cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16
# 使用 helm 安装JumpServer,并设置 MySQL 和 Redis 的连接信息。同时支持使用外部数据库
# 以下的 --set 操作也可以通过编辑 value.yaml 文件来代替
$ helm install jumpserver . -n jms \
--set core.config.secretKey=HORDhUHsnybiHUe8pVzD3jEnmLkEPQM6LF9wvdCO4syhz42Tpv \
--set core.config.bootstrapToken=CLlLMHlyaD9ptgcH \
--set global.storageClass=nfs-storage \
--set externalDatabase.engine=mysql \
--set externalDatabase.host=jms-mysql \
--set externalDatabase.port=3306 \
--set externalDatabase.user=jms \
--set externalDatabase.password=GkijjN4PntV9Rb63 \
--set externalDatabase.database=jumpserver \
--set externalRedis.host=jms-redis-master \
--set externalRedis.port=6379 \
--set koko.service.type=NodePort \
--set web.service.type=NodePort \
--set externalRedis.password=y9EjxS63agkxm2W8
访问JumpServer
使用IP + 30798 在浏览器进行访问

卸载JumpServer
helm -n jms uninstall jms-mysql
helm -n jms uninstall jms-redis
helm -n jms uninstall jumpserver
