美文网首页
centos7下jumpserver部署,多个koko组件分布式

centos7下jumpserver部署,多个koko组件分布式

作者: 夜清溟 | 来源:发表于2020-03-05 15:14 被阅读0次

    jumpserver堡垒机官方地址:
    https://docs.jumpserver.org/zh/docs/index.html

    本次使用centos7的系统,属于测试阶段,由于服务器数量不足,部署方案为,一台服务器部署jumpserver服务和koko组件,另一台单独部署koko组件,与jumpserver服务器连通。
    koko属于一个ssh连接代理组件。

    本次部署是使用docker和docker-compose部署。
    服务器初始化脚本:

    #!/bin/bash
    #修改hostname
    read -p "请输入主机名:" host
    hostnamectl set-hostname $host
    #安装常用工具
    yum -y install vim git wget lrzsz telnet net-tools lsof bind-utils-9.11.4-9.P2.el7.x86_64
    #禁用selinux
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
    setenforce 0
    #安装docker-ce,设置开机自启动
    yum install -y yum-utils device-mapper-persistent-data lvm2
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    yum -y install docker-ce
    systemctl enable docker
    systemctl start docker
    #配置docker的存储位置到/data/docker目录下,提前创建好/data/docker目录,并限制容器日志的大小为1024M ,最大文件保留数为3个。
    cat>/etc/docker/daemon.json<<EOF
    {
      "graph": "/data/docker",
      "log-driver":"json-file",
      "log-opts": {"max-size":"1024m", "max-file":"3"}
    }
    EOF
    systemctl restart docker
    #安装docker-compose
    sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
    

    docker环境安装好之后开始部署jumpserver服务。我们部署在/data目录下。
    参考docker-compose部署的文档。
    https://github.com/wojiushixiaobai/docker-compose
    拉取Git仓库。

    $ git clone https://github.com/wojiushixiaobai/docker-compose.git
    $ cd /data/docker-compose
    $ cat .env
    

    在这个Git仓库中包含了jumpserver服务器的所有组件,.env是环境变量。理论上如果不需要部署分布式的话,直接启动服务就完成了安装,启动命令为docker-compose up -d 。如下

    $ cd /data/docker-compose
    $ docker-compose up -d 
    

    通过服务器的80端口即可访问,管理员的用户名密码都为admin。
    ssh 登录的话,默认koko的端口是2222,所以

    ssh -p 2222 admin@IP 
    

    输入密码即可。

    分布式部署koko的话,docker-compose 文件需要做一些改动。
    需要暴露并映射出core服务的8080端口,在core服务中添加以下两行

        ports:
          - 8080:8080
    

    参考:

        image: wojiushixiaobai/jms_core:${Version}
        container_name: jms_core
        restart: always
        tty: true
        environment:
          SECRET_KEY: $SECRET_KEY
          BOOTSTRAP_TOKEN: $BOOTSTRAP_TOKEN
          DB_HOST: $DB_HOST
          DB_PORT: $DB_PORT
          DB_USER: $DB_USER
          DB_PASSWORD: $DB_PASSWORD
          DB_NAME: $DB_NAME
          REDIS_HOST: $REDIS_HOST
          REDIS_PORT: $REDIS_PORT
          REDIS_PASSWORD: $REDIS_PASSWORD
        ports:
          - 8080:8080
        depends_on:
          - mysql
          - redis
        volumes:
          - static:/opt/jumpserver/data/static
          - media:/opt/jumpserver/data/media
        networks:
          - jumpserver
    

    docker-compose.yml文件修改好之后我们可以启动服务。

    $ cd /data/docker-compose
    $ docker-compose up -d 
    

    可以看到服务已经启动,jms_core的端口为8080 ,koko端口为2222,koko端口可以自定义修改,ssh登录的时候使用自定义修改的端口即可。

    $ cd /data/docker-compose
    $ docker-compose ps
    
    [root@jumpserver docker-compose]# docker-compose ps
        Name              Command          State           Ports         
    ---------------------------------------------------------------------
    jms_core        ./entrypoint.sh        Up      0.0.0.0:8080->8080/tcp
    jms_guacamole   ./entrypoint.sh        Up                            
    jms_koko        ./entrypoint.sh        Up      0.0.0.0:2222->2222/tcp
    jms_mysql       ./entrypoint.sh        Up                            
    jms_nginx       nginx -g daemon off;   Up      0.0.0.0:80->80/tcp    
    jms_redis       ./entrypoint.sh        Up                          
    

    此时在另外一台服务器部署koko组件。
    官网文档中使用的是docker部署,我修改为通过docker-compose部署。
    服务器初始化文件可以参考以上脚本,按照需要修改,实际需要docker和docker-compose环境即可。
    docker-compose.yml文件如下,请按照实际情况和需要来修改

    version: '2'
    services: 
      koko:
        image: wojiushixiaobai/jms_koko:1.5.6
        ports:
          - 2223:2222
        environment: 
          CORE_HOST: http://192.168.1.123:8080
          BOOTSTRAP_TOKEN: ******************
        container_name: jms_koko1
    

    在这个文件中我将koko的端口映射为2223-->2222,即ssh 登录的时候ssh -p 2223 admin@IP 即可,环境变量CORE_HOST处修改为你jumpserver服务器部署处的主机IP的8080端口,之前我特意添加并映射过8080端口,环境变量 BOOTSTRAP_TOKEN处修改为你自己的token,此处token在你部署jumpserver处的Git仓库的.env文件中,请按照需要自行修改。
    当文件修改完之后就可以启动了。

    $ docker-compose up -d
    $ docker-compose ps 
    

    docker-compose ps查看服务运行状态。
    如果服务正常启动我们可以通过ssh连接测试是否部署成功。
    1,连接jumpserver服务器所在的koko,端口是2222

    ssh -p 2222 admin@IP
    

    2, 连接另一台服务器的koko,端口是2223

    ssh -p 2223 admin@IP
    

    输入密码后如果出现以下界面即部署成功。

                    Administrator,  欢迎使用Jumpserver开源堡垒机系统
    
            1) 输入 部分IP、主机名、备注 进行搜索登录(如果唯一).
            2) 输入 / + IP,主机名 or 备注 进行搜索,如:/192.168.
            3) 输入 p 进行显示您有权限的主机.
            4) 输入 g 进行显示您有权限的节点.
            5) 输入 d 进行显示您有权限的数据库.
            6) 输入 r 进行刷新最新的机器和节点信息.
            7) 输入 h 进行显示帮助.
            8) 输入 q 进行退出.
    Opt>
    

    web端登录需要访问jumpserver服务器的80端口,用户名密码都是admin。

    提示:服务器的相关端口要打开,如80,8080,2222,2223.

    相关文章

      网友评论

          本文标题:centos7下jumpserver部署,多个koko组件分布式

          本文链接:https://www.haomeiwen.com/subject/bcbxrhtx.html