Docker 部署 jumpserver

准备

2个CPU核心, 4G 内存, 50G 硬盘的 Centos7 服务器

安装Docker,参考: Centos7 安装 Docker

# 生成 SECRET_KEY 并注意记录下来
if [ ! "$SECRET_KEY" ]; then
  SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`;
  echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc;
  echo $SECRET_KEY;
else
  echo $SECRET_KEY;
fi  

# 生成 BOOTSTRAP_TOKEN 并注意记录下来
if [ ! "$BOOTSTRAP_TOKEN" ]; then
  BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`;
  echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc;
  echo $BOOTSTRAP_TOKEN;
else
  echo $BOOTSTRAP_TOKEN;
fi

# 本例外挂 MySQL,和 Redis,创建数据库
> create database jumpserver default charset 'utf8' collate 'utf8_bin';
grant all on jumpserver.* to 'jumpserver'@'%' identified by 'weakPassword';

容器部署 v2.2.2,参考官方文档

# 下面的 xxx 替换成自己对应的内容
# 这里如果没有 pull 过 jumpserver/jms_all:v2.2.2 镜像可能等待时间有点长
docker run --name jms_all -d \
  -v /opt/jumpserver/data:/opt/jumpserver/data \
  -p 80:80 \
  -p 2222:2222 \
  -e SECRET_KEY=xxxxxx \
  -e BOOTSTRAP_TOKEN=xxx \
  -e DB_HOST=192.168.x.x \
  -e DB_PORT=3306 \
  -e DB_USER=root \
  -e DB_PASSWORD=xxx \
  -e DB_NAME=jumpserver \
  -e REDIS_HOST=192.168.x.x \
  -e REDIS_PORT=6379 \
  -e REDIS_PASSWORD=xxx \
  --privileged=true \
  jumpserver/jms_all:v2.2.2
  

问题排查

如果访问 jumpserver 报 502 错误,可能有些配置没弄对,可以进入容器排查

# 进入容器
docker exec -it jms_all bash

ps -ef | grep jms
# 如果没有 python3 ./jms start -d ,可能已经报错了,那需要排查下

# 先载入 python 虚拟环境
source /opt/py3/bin/activate

# 启动如果要检测问题不要用 -d 选项,启动过程需要点时间
/opt/jumpserver/jms start

# 然后访问页面,有问题会显示出来,按提示解决

启动 KoKo

# 检查 koko 是否启动,如果没启动要手动解决下
ps -ef | grep koko

/opt/koko

cp config_example.yml config.yml && vi config.yml

## 修改参考 https://docs.jumpserver.org/zh/master/install/step_by_step/#8-koko

# 保存后启动,如果要检测问题不要用 -d 选项
/opt/koko/koko -d 

配置

能正常访问页面后就是先修改 admin 密码,然后按照官方文档配置: 管理配置

官方文档看的会晕,按我下面这个流程来配置

一、创建用户流程

  1. 创建用户组

用户管理 > 用户组。点“创建”,创建一个 Admin 组

  1. 创建用户

用户管理 > 用户列表。点“创建”,创建一个用户。系统角色选择 “用户”

注意:名称是昵称,用户名就是你登录时输入的那个

二、资产配置流程:

  1. 创建节点

资产管理 > 资产列表。右键点击左侧资产树,然后创建节点

  1. 创建网域

资产管理 > 网域列表。

  1. 创建管理用户

资产管理 > 管理用户。这里的用户名必须为服务器的 root 或拥有 NOPASSWD: ALL sudo 权限的用户

Jumpserver 管理服务器资产用

  1. 创建系统用户

资产管理 > 系统用户。系统用户可以理解为登录资产用户,如 web,sa,dba

  1. 创建资产

资产管理 > 资产列表。点击创建按钮,这里就会用到 管理用户、节点

  1. 资产授权

权限管理 > 资产授权。点击创建按钮,由于前面都创建好了,这里一路下拉选择就行

这里可以退出或者新开个浏览器,用授权了的用户登录。登录后在“我的资产”找到对应资产,动作下面点击连接的符号测试登录。

三、MySQL 资产

  1. 创建数据库应用

应用管理 > 数据库应用。点击创建 > MySQL,创建一个 MySQL 应用

  1. 创建系统用户

资产管理 > 系统用户。这里协议选 mysql

  1. 数据库授权

权限管理 > 数据库授权。点击创建按钮

跟上面一样用授权了的用户登录。登录后在“我的应用 > 数据库应用”找到对应资产,动作下面点击连接的符号测试登录。

posted @ 2020-09-07 15:39  天明听歌  阅读(957)  评论(0编辑  收藏  举报