侧边栏壁纸
博主头像
背锅小王子博主等级

我从事运维工作有十年之久,主要从事云原生相关的工作,对k8s、devops、servicemesh、可观察性等较为熟悉!

  • 累计撰写 59 篇文章
  • 累计创建 64 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Jumpserver企业实战(一)

背锅小王子
2023-04-08 / 0 评论 / 0 点赞 / 273 阅读 / 817 字
温馨提示:
本文最后更新于 2023-04-08,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

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/
图片-1680939680756

说明:默认的登录用户名和密码都是:admin

登录后的界面如下:

图片-1680939931753

至此 Jumpserver 安装部署完成,后面依次讲解 Jumpserver 的功能实战。

0

评论区