1、介绍
JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。
产品特色:
- 开源: 零门槛,线上快速获取和安装;
- 无插件: 仅需浏览器,极致的 Web Terminal 使用体验;
- 分布式: 支持分布式部署和横向扩展,轻松支持大规模并发访问;
- 多云支持: 一套系统,同时管理不同云上面的资产;
- 多租户: 一套系统,多个子公司或部门同时使用;
- 云端存储: 审计录像云端存储,永不丢失;
- 多应用支持: 全面支持各类资产,包括服务器、数据库、Windows RemoteApp、Kubernetes 等;
- 安全可靠: 被广泛使用、验证和信赖,连续 9 年的持续研发投入和产品更新升级。
2、项目组件
项目名称 | 状态 | 描述 |
---|---|---|
Lina | Lina release | JumpServer Web UI 项目 |
Luna | Luna release | JumpServer Web Terminal 项目 |
KoKo | Koko release | JumpServer 字符协议 Connector 项目,替代原来 Python 版本的 Coco |
Lion | Lion release | JumpServer 图形协议 Connector 项目,依赖 Apache Guacamole |
Magnus | Magnus release | JumpServer 数据库代理 Connector 项目 |
Clients | Clients release | JumpServer 客户端 项目 |
Installer | Installer release | JumpServer 安装包 项目 |
3、部署
环境要求:
- Kubernetes 1.20+
- Helm 3.0
添加Helm源
helm repo add jumpserver https://jumpserver.github.io/helm-charts
helm repo list | grep jumpserver
创建values-jump.yaml 文件
global:
imageRegistry: "docker.io" # 国内可以使用华为云加速
imageTag: v3.1.1 # 版本号
storageClass: "longhorn" # (*必填) NFS SC
# 配置外部mysql
externalDatabase:
engine: mysql
host: mysql-headless.devops.svc
port: 3306
user: root
password: "你的mysql密码"
database: jumpserver
# 配置外部redis
externalRedis:
host: redis-headless.devops.svc
port: 6379
password: "你的redis密码"
# ingress 配置,开启ssl
ingress:
enabled: true
annotations:
# 自定义ingressClass
kubernetes.io/ingress.class: higress
nginx.ingress.kubernetes.io/proxy-body-size: "4096m"
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_set_header Upgrade "websocket";
proxy_set_header Connection "Upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
hosts:
- "jumpserver.bgxwz.com"
tls:
# 记得提前创建 tls secret
- secretName: bgxwz-com-tls
hosts:
- jumpserver.bgxwz.com
core:
enabled: true
labels:
app.jumpserver.org/name: jms-core
# 自定义 core 的 secretKey 和 bootstrapToken
config:
# Generate a new random secret key by execute `cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`
# secretKey: "B3f2w8P2PfxIAS7s4URrD9YmSbtqX4vXdPUL217kL9XPUOWrmy"
secretKey: "" # (*必填) 加密敏感信息的 secret_key, 长度推荐大于 50 位
# Generate a new random bootstrap token by execute `cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`
# bootstrapToken: "7Q11Vz6R2J6BLAdO"
bootstrapToken: "" # (*必填) 组件认证使用的 token, 长度推荐大于 24 位
# Enabled it for debug
debug: false
log:
level: ERROR
安装Jumpserver
kubectl create ns jumpserver
helm install jumpserver jumpserver/jumpserver -n jumpserver -f values-jump.yaml
查看服务
kubectl get po -n jumpserver
NAME READY STATUS RESTARTS AGE
jumpserver-jms-celery-5f7c7c4b8b-29c8g 1/1 Running 0 11m
jumpserver-jms-core-5848775cb4-h5kzs 1/1 Running 0 11m
jumpserver-jms-koko-5c47cffc5b-n6z9x 1/1 Running 0 11m
jumpserver-jms-lion-cdb8f9d68-92t45 1/1 Running 0 11m
jumpserver-jms-magnus-f56cbcfcb-c8c8c 1/1 Running 0 11m
jumpserver-jms-web-5c4f6f8647-j97l9 1/1 Running 0 11m
4、登录
使用上面创建的ingress域名来登录:https://jumpserver.bgxwz.com/
说明:默认的登录用户名和密码都是:admin
登录后的界面如下:
至此 Jumpserver 安装部署完成,后面依次讲解 Jumpserver 的功能实战。
评论区