Share an open source fortress machine jumpserver

This article is forwarded from: blog.csdn.net/KH_FC
JumpServer is an open source fortress machine owned by FIT2CLOUD. It is also the world's first open source fortress machine, using GNU GPL v2 0 open source protocol is an operation and maintenance security audit system conforming to 4A specification. It is developed in Python, complies with Web 2.0 specification, and is equipped with an industry-leading Web Terminal scheme. It has beautiful interactive interface and good user experience. At the same time, it adopts a distributed architecture, supports multi machine room cross regional deployment and horizontal expansion, and has no restrictions on the number of assets and concurrency. This open source fortress machine not only provides the community open source version, but also provides the enterprise version used by enterprises. The enterprise version has more powerful functions.

Feizhiyuan official website address: https://www.fit2cloud.com/

Its open source software:

  1. MeterSphere: it is a one-stop open source continuous testing platform, covering test tracking, interface testing, performance testing, teamwork and other functions. It is fully compatible with JMeter, Postman, Swagger and other open source and mainstream standards, effectively helping the development and testing team make full use of cloud elasticity to conduct highly scalable automated testing and accelerate high-quality software delivery, Promote the improvement of the overall efficiency of China's testing industry.
  2. KubeOperator: is an open source lightweight Kubernetes distribution that focuses on helping enterprises plan, deploy and operate production level Kubernetes clusters.
  3. DataEase: it is an open-source data visualization analysis tool to help users quickly analyze data and gain insight into business trends, so as to achieve business improvement and optimization. DataEase supports rich data source connections, can quickly make charts by dragging, and can be easily shared with others.
  4. RackShift: it is an open source bare metal server management platform with functions covering bare metal server discovery, out of band management, RAID configuration, firmware update, operating system installation, etc.
  5. RiskScanner: it is an open source bare metal server management platform with functions covering bare metal server discovery, out of band management, RAID configuration, firmware update, operating system installation, etc.
    1. HaLo: a modern open source blog / CMS system is worth trying
    2. RackShift: it is an open source bare metal server management platform with functions covering bare metal server discovery, out of band management, RAID configuration, firmware update, operating system installation, etc.
    3. RiskScanner: it is an open source multi Cloud Security compliance scanning platform. Based on Cloud Custodian and nucleus engine, it realizes security compliance scanning and vulnerability scanning of mainstream public (private) cloud resources.

      Before the start, I would like to thank feizhiyuan for bringing us so many open-source and easy-to-use platforms

preparation

  1. For a Linux host, of course, if you have enough conditions, you can use the host. If you do not use it in a formal environment, you are not recommended to use a real host, but a virtual host. The host specification is recommended to be no less than a 2-core 4G configuration. Of course, you can use a lower specification for testing.
  2. Networking. It is recommended to release the whole network. You need to download some update files and the main file on github
  3. It is recommended to prepare a dual network card. Everyone knows that the fortress machine can be on the internal network or the external network. Of course, most fortress machines have an internal network card and an external network card. In order to truly simulate, it is recommended to use a dual network card.
  4. CentOs or RedHat is recommended for the operating system, and Ubuntu or other open source linux operating systems are not recommended. I won't tell you the reason here. If you are interested, you can try it

External environment requirements:
The external environment requirements mentioned here actually mean that when your fortress machine uses a virtual machine or host alone, you need to have another database and redis, and you need to configure and specify them after the fortress machine is installed. They are required for the fortress machine to run.

  1. MySQL: version no less than 5.7
  2. MariaDB: version no less than 10.2
  3. Redis: version no less than 5.0

With these ready, you can try to start the installation

install

There are many deployment methods available on the official website. I think the most used are load balancing deployment and single machine deployment, because the number of virtual hosts is not enough. Here, the single machine deployment method is adopted, and there are many installation methods available on the official website:

  1. One click deployment: this method is my favorite one. It is simple, rough and fast, but there will be many limitations.
  2. Manual deployment: the degree of difficulty is average. It is difficult to deploy. You need to have a certain understanding of the deployment.
  3. Offline deployment (amd64): the degree of difficulty is average, and it is difficult. You need to have a certain understanding of deployment.
  4. Offline deployment (arm64): the degree of difficulty is general, and it is difficult. You need to have a certain understanding of the deployment.
  5. Source code deployment: deployment is relatively difficult. You should have a good understanding of the architecture and try to install and deploy again.
  6. Container deployment: this container deployment requires you to be familiar with K8s.

You can choose your own appropriate way to install it. If you are interested, you can try all ways. It will be very helpful for your study

1, One click deployment

One click deployment is the simplest way to install jumpserver. In this way, you only need to copy the command to your host on the official website, wait for the execution to succeed, and then find the installation directory and start it. Let's see the specific operations below
Main operating instructions

# It will be installed to / opt / jumpserver-installer-v2.0 by default 17.2 contents
curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.17.2/quick_start.sh | bash
cd /opt/jumpserver-installer-v2.17.2
# After installation, the configuration file is / opt / jumpserver / config / config txt
# If you have external MySQL/MariaDB and Redis, you must modify this file and specify your address and password
cd /opt/jumpserver-installer-v2.17.2

# start-up
./jmsctl.sh start

# stop it
./jmsctl.sh down

# uninstall
./jmsctl.sh uninstall

# help
./jmsctl.sh -h

Detailed steps

  1. Host check
    First, you need to check whether both of your network cards are effective

    The connectivity is forgotten in the test. One click deployment requires networking to download installation packages and resources

    Check whether there are some installed conflict packages. Here, you must pay attention to ensure that these services are useless before uninstalling. I don't care if this is a virtual machine, so you can directly use * to uninstall some useless installation packages
    1. Download installer

We can copy the first command above and paste it into our command line for execution

Because you need to download the main installation file on github, you all know that downloading things on github is very slow, and you even haven't downloaded successfully after waiting for a long time. Here's a little acceleration skill.
Let's look at the different addresses below

https://github.com/jumpserver/jumpserver/releases/download/v2.17.2/quick_start.sh

contrast

https://github.com.cnpmjs.org/jumpserver/jumpserver/releases/download/v2.17.2/quick_start.sh

A comparison shows that the difference between the two addresses is in GitHub Cnpmjs. Com has been added Org, the principle is to use the image server to download these services
Now let's try to download it again, but at this time, we should pay attention to removing | bash from the above address, otherwise you will be prompted that the download fails. Let's update the download link address

wget https://github.com.cnpmjs.org/jumpserver/jumpserver/releases/download/v2.17.2/quick_start.sh

So there's no problem downloading.

After downloading, you need to open this file and modify the download address of github

After the modification is completed, save it, and then use bash to execute it. The execution command is as follows:

bash quick_start.sh


Questions may appear in the middle. You can choose y




The following are whether you need to set the external ports of excel, redis and jumpserver. I will keep the default here

The next step is to wait for the execution to complete. Many images need to be downloaded, and the waiting time will be long

After a long wait, it's finally done. Next, let's start jumpserver and start it according to the prompt of installation completion

After successful startup, use the browser to access the address of the external network. I use the internal network to access here


The default account password is admin. You need to reset the password for the first login


The installation is completed here. I'll write a brief installation below

2, Manual deployment

cd /opt
wget https://github.com/jumpserver/installer/releases/download/v2.17.2/jumpserver-installer-v2.17.2.tar.gz
tar -xf jumpserver-installer-v2.17.2.tar.gz
cd jumpserver-installer-v2.17.2
# Modify the profile template as needed. If you don't know the purpose, you can skip the modification
cat config-example.txt
# If the following settings are empty, the system will automatically generate a random string
## Please modify secret for migration_ Key and BOOTSTRAP_TOKEN is the original setting
## Complete parameter documentation https://docs.jumpserver.org/zh/master/admin-guide/env/

## For the installation configuration, amd64 uses Huawei cloud to accelerate the download by default. For arm64, please comment out DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com
# DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com
VOLUME_DIR=/opt/jumpserver
DOCKER_DIR=/var/lib/docker
SECRET_KEY=
BOOTSTRAP_TOKEN=
LOG_LEVEL=ERROR

##  MySQL configuration, USE_EXTERNAL_MYSQL=1 means using an external database. Please enter the correct MySQL information
USE_EXTERNAL_MYSQL=0
DB_HOST=mysql
DB_PORT=3306
DB_USER=root
DB_PASSWORD=
DB_NAME=jumpserver

##  Redis configuration, USE_EXTERNAL_REDIS=1 indicates that the external database is used. Please enter the correct redis information
USE_EXTERNAL_REDIS=0
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=

## Compose project settings. If the 192.168.250.0/24 network segment conflicts with your existing network segment, please modify it and restart JumpServer
COMPOSE_PROJECT_NAME=jms
COMPOSE_HTTP_TIMEOUT=3600
DOCKER_CLIENT_TIMEOUT=3600
DOCKER_SUBNET=192.168.250.0/24

## IPV6 settings, whether the container opens ipv6 nat, USE_IPV6=1 means on, and when it is 0, DOCKER_SUBNET_IPV6 definition does not take effect
USE_IPV6=0
DOCKER_SUBNET_IPV6=2001:db8:10::/64

## Nginx configuration, USE_LB=1 means on, and HTTPS is enabled when LB = 0_ The port definition does not take effect
HTTP_PORT=80
SSH_PORT=2222
RDP_PORT=3389

USE_LB=0
HTTPS_PORT=443

## Task configuration, whether to start JMS_ Cell container. A single node must be opened
USE_TASK=1

## XPack, USE_XPACK=1 means open, and the open source version setting is invalid
USE_XPACK=0

# Core configuration, session definition, SESSION_COOKIE_AGE indicates the number of seconds after idle, and the session expires_ EXPIRE_ AT_ BROWSER_ Close = true means that the session expires when the browser is closed
# SESSION_COOKIE_AGE=86400
SESSION_EXPIRE_AT_BROWSER_CLOSE=true

# Koko Lion XRDP component configuration
CORE_HOST=http://core:8080

# Additional configuration
CURRENT_VERSION=
# install
./jmsctl.sh install

# start-up
./jmsctl.sh start
# After installation, the configuration file is / opt / jumpserver / config / config txt
cd /opt/jumpserver-installer-v2.17.2

# start-up
./jmsctl.sh start

# stop it
./jmsctl.sh down

# uninstall
./jmsctl.sh uninstall

# help
./jmsctl.sh -h

3, Offline deployment (amd64)

cd /opt
tar -xf jumpserver-offline-installer-v2.17.2-amd64-84.tar.gz
cd jumpserver-offline-installer-v2.17.2-amd64-84
# Modify the profile template as needed. If you don't know the purpose, you can skip the modification
cat config-example.txt
# If the following settings are empty, the system will automatically generate a random string
## Please modify secret for migration_ Key and BOOTSTRAP_TOKEN is the original setting
## Complete parameter documentation https://docs.jumpserver.org/zh/master/admin-guide/env/

## For the installation configuration, amd64 uses Huawei cloud to accelerate the download by default. For arm64, please comment out DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com
# DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com
VOLUME_DIR=/opt/jumpserver
DOCKER_DIR=/var/lib/docker
SECRET_KEY=
BOOTSTRAP_TOKEN=
LOG_LEVEL=ERROR

##  MySQL configuration, USE_EXTERNAL_MYSQL=1 means using an external database. Please enter the correct MySQL information
USE_EXTERNAL_MYSQL=0
DB_HOST=mysql
DB_PORT=3306
DB_USER=root
DB_PASSWORD=
DB_NAME=jumpserver

##  Redis configuration, USE_EXTERNAL_REDIS=1 indicates that the external database is used. Please enter the correct redis information
USE_EXTERNAL_REDIS=0
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=

## Compose project settings. If the 192.168.250.0/24 network segment conflicts with your existing network segment, please modify it and restart JumpServer
COMPOSE_PROJECT_NAME=jms
COMPOSE_HTTP_TIMEOUT=3600
DOCKER_CLIENT_TIMEOUT=3600
DOCKER_SUBNET=192.168.250.0/24

## IPV6 settings, whether the container opens ipv6 nat, USE_IPV6=1 means on, and when it is 0, DOCKER_SUBNET_IPV6 definition does not take effect
USE_IPV6=0
DOCKER_SUBNET_IPV6=2001:db8:10::/64

## Nginx configuration, USE_LB=1 means on, and HTTPS is enabled when LB = 0_ The port definition does not take effect
HTTP_PORT=80
SSH_PORT=2222
RDP_PORT=3389

USE_LB=0
HTTPS_PORT=443

## Task configuration, whether to start JMS_ Cell container. A single node must be opened
USE_TASK=1

## XPack, USE_XPACK=1 means open, and the open source version setting is invalid
USE_XPACK=0

# Core configuration, session definition, SESSION_COOKIE_AGE indicates the number of seconds after idle, and the session expires_ EXPIRE_ AT_ BROWSER_ Close = true means that the session expires when the browser is closed
# SESSION_COOKIE_AGE=86400
SESSION_EXPIRE_AT_BROWSER_CLOSE=true

# Koko Lion XRDP component configuration
CORE_HOST=http://core:8080

# Additional configuration
CURRENT_VERSION=
# install
./jmsctl.sh install

# start-up
./jmsctl.sh start
# After installation, the configuration file is / opt / jumpserver / config / config txt
cd /opt/jumpserver-installer-v2.17.2

# start-up
./jmsctl.sh start

# stop it
./jmsctl.sh down

# uninstall
./jmsctl.sh uninstall

# help
./jmsctl.sh -h

4, Offline deployment (arm64)

cd /opt
tar -xf jumpserver-offline-installer-v2.17.2-amd64-84.tar.gz
cd jumpserver-offline-installer-v2.17.2-amd64-84
# Modify the profile template as needed. If you don't know the purpose, you can skip the modification
cat config-example.txt
# If the following settings are empty, the system will automatically generate a random string
## Please modify secret for migration_ Key and BOOTSTRAP_TOKEN is the original setting
## Complete parameter documentation https://docs.jumpserver.org/zh/master/admin-guide/env/

## For the installation configuration, amd64 uses Huawei cloud to accelerate the download by default. For arm64, please comment out DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com
# DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com
VOLUME_DIR=/opt/jumpserver
DOCKER_DIR=/var/lib/docker
SECRET_KEY=
BOOTSTRAP_TOKEN=
LOG_LEVEL=ERROR

##  MySQL configuration, USE_EXTERNAL_MYSQL=1 means using an external database. Please enter the correct MySQL information
USE_EXTERNAL_MYSQL=0
DB_HOST=mysql
DB_PORT=3306
DB_USER=root
DB_PASSWORD=
DB_NAME=jumpserver

##  Redis configuration, USE_EXTERNAL_REDIS=1 indicates that the external database is used. Please enter the correct redis information
USE_EXTERNAL_REDIS=0
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=

## Compose project settings. If the 192.168.250.0/24 network segment conflicts with your existing network segment, please modify it and restart JumpServer
COMPOSE_PROJECT_NAME=jms
COMPOSE_HTTP_TIMEOUT=3600
DOCKER_CLIENT_TIMEOUT=3600
DOCKER_SUBNET=192.168.250.0/24

## IPV6 settings, whether the container opens ipv6 nat, USE_IPV6=1 means on, and when it is 0, DOCKER_SUBNET_IPV6 definition does not take effect
USE_IPV6=0
DOCKER_SUBNET_IPV6=2001:db8:10::/64

## Nginx configuration, USE_LB=1 means on, and HTTPS is enabled when LB = 0_ The port definition does not take effect
HTTP_PORT=80
SSH_PORT=2222
RDP_PORT=3389

USE_LB=0
HTTPS_PORT=443

## Task configuration, whether to start JMS_ Cell container. A single node must be opened
USE_TASK=1

## XPack, USE_XPACK=1 means open, and the open source version setting is invalid
USE_XPACK=0

# Core configuration, session definition, SESSION_COOKIE_AGE indicates the number of seconds after idle, and the session expires_ EXPIRE_ AT_ BROWSER_ Close = true means that the session expires when the browser is closed
# SESSION_COOKIE_AGE=86400
SESSION_EXPIRE_AT_BROWSER_CLOSE=true

# Koko Lion XRDP component configuration
CORE_HOST=http://core:8080

# Additional configuration
CURRENT_VERSION=
# install
./jmsctl.sh install

# start-up
./jmsctl.sh start
# After installation, the configuration file is / opt / jumpserver / config / config Txt * * bold style**
cd /opt/jumpserver-installer-v2.17.2

# start-up
./jmsctl.sh start

# stop it
./jmsctl.sh down

# uninstall
./jmsctl.sh uninstall

# help
./jmsctl.sh -h

5, Kubernetes

helm repo add jumpserver https://jumpserver.github.io/helm-charts
helm repo list
vi values.yaml
# Template https://github.com/jumpserver/helm-charts/blob/main/charts/jumpserver/values.yaml
# Default values for jumpserver.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

nameOverride: ""
fullnameOverride: ""

## @param global.imageRegistry Global Docker image registry
## @param global.imagePullSecrets Global Docker registry secret names as an array
## @param global.storageClass Global StorageClass for Persistent Volume(s)
## @param global.redis.password Global Redis™ password (overrides `auth.password`)
##
global:
  imageRegistry: "docker.io"    # Huawei cloud can be used to accelerate SWR in China cn-south-1. myhuaweicloud. com
  imageTag: v2.16.3             # Version number
  ## E.g.
  #  imagePullSecrets:
  #  - myRegistryKeySecretName
  ##
  imagePullSecrets: []
      # - name: yourSecretKey
  storageClass: ""              # NFS SC

## If the Redis database included in the chart is disabled, JumpServer will
## use below parameters to connect to an external Redis server.
##
externalDatabase:               # Database related settings
  engine: mysql
  host: localhost
  port: 3306
  user: root
  password: ""
  database: jumpserver

## If the MySQL database included in the chart is disabled, JumpServer will
## use below parameters to connect to an external MySQL server.
##
externalRedis:                  # Redis settings
  host: localhost
  port: 6379
  password: ""

serviceAccount:
  # Specifies whether a service account should be created
  create: false
  # The name of the service account to use.
  # If not set and create is true, a name is generated using the fullname template
  name:

ingress:
  enabled: true
  annotations:
    # kubernetes.io/tls-acme: "true"
    compute-full-forwarded-for: "true"
    use-forwarded-headers: "true"
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/configuration-snippet: |
       proxy_set_header Upgrade "websocket";
       proxy_set_header Connection "Upgrade";
  hosts:
    - "test.jumpserver.org"                 # External domain name
  tls: []
  #  - secretName: chart-example-tls
  #    hosts:
  #      - chart-example.local

core:
  enabled: true

  labels:
    app.jumpserver.org/name: jms-core

  config:
    # Generate a new random secret key by execute `cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`
    secretKey: ""                            # Secret to encrypt sensitive information_ Key, the length is recommended to be greater than 50 bits
    # Generate a new random bootstrap token by execute `cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`
    bootstrapToken: ""                       # The token used for component authentication is recommended to be longer than 24 bits
    # Enabled it for debug
    debug: false
    log:
      level: ERROR

  replicaCount: 1

  image:
    registry: docker.io
    repository: jumpserver/core
    tag: v2.13.2
    pullPolicy: IfNotPresent

  command: []

  env: []

  livenessProbe:
    failureThreshold: 30
    httpGet:
      path: /api/health/
      port: web

  readinessProbe:
    failureThreshold: 30
    httpGet:
      path: /api/health/
      port: web

  podSecurityContext: {}
    # fsGroup: 2000

  securityContext: {}
    # capabilities:
    #   drop:
    #   - ALL
    # readOnlyRootFilesystem: true
    # runAsNonRoot: true
    # runAsUser: 1000

  service:
    type: ClusterIP
    web:
      port: 8080
    ws:
      port: 8070

  resources: {}
    # We usually recommend not to specify default resources and to leave this as a conscious
    # choice for the user. This also increases chances charts run on environments with little
    # resources, such as Minikube. If you do want to specify resources, uncomment the following
    # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
    # limits:
    #   cpu: 1000m
    #   memory: 2048Mi
    # requests:
    #   cpu: 500m
    #   memory: 1024Mi

  persistence:
    storageClassName: jumpserver-data
    accessModes:
      - ReadWriteMany
    size: 10Gi
    # annotations: {}
    finalizers:
      - kubernetes.io/pvc-protection
    # subPath: ""
    # existingClaim:

  volumeMounts: []

  volumes: []

  nodeSelector: {}

  tolerations: []

  affinity: {}

koko:
  enabled: true

  labels:
    app.jumpserver.org/name: jms-koko

  config:
    log:
      level: ERROR

  replicaCount: 1

  image:
    registry: docker.io
    repository: jumpserver/koko
    tag: v2.13.2
    pullPolicy: IfNotPresent

  command: []

  env: []

  livenessProbe:
    failureThreshold: 30
    httpGet:
      path: /koko/health/
      port: web

  readinessProbe:
    failureThreshold: 30
    httpGet:
      path: /koko/health/
      port: web

  podSecurityContext: {}
    # fsGroup: 2000

  securityContext:
    privileged: true
    # capabilities:
    #   drop:
    #   - ALL
    # readOnlyRootFilesystem: true
    # runAsNonRoot: true
    # runAsUser: 1000

  service:
    type: ClusterIP
    web:
      port: 5000
    ssh:
      port: 2222

  resources: {}
    # We usually recommend not to specify default resources and to leave this as a conscious
    # choice for the user. This also increases chances charts run on environments with little
    # resources, such as Minikube. If you do want to specify resources, uncomment the following
    # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
    # limits:
    #   cpu: 100m
    #   memory: 128Mi
    # requests:
    #   cpu: 100m
    #   memory: 128Mi

  persistence:
    storageClassName: jumpserver-data
    accessModes:
      - ReadWriteMany
    size: 10Gi
    # annotations: {}
    finalizers:
      - kubernetes.io/pvc-protection

  volumeMounts: []

  volumes: []

  nodeSelector: {}

  tolerations: []

  affinity: {}

lion:
  enabled: true

  labels:
    app.jumpserver.org/name: jms-lion

  config:
    log:
      level: ERROR

  replicaCount: 1

  image:
    registry: docker.io
    repository: jumpserver/lion
    tag: v2.13.2
    pullPolicy: IfNotPresent

  command: []

  env: []

  livenessProbe:
    failureThreshold: 30
    httpGet:
      path: /lion/health/
      port: web

  readinessProbe:
    failureThreshold: 30
    httpGet:
      path: /lion/health/
      port: web

  podSecurityContext: {}
    # fsGroup: 2000

  securityContext: {}
    # capabilities:
    #   drop:
    #   - ALL
    # readOnlyRootFilesystem: true
    # runAsNonRoot: true
    # runAsUser: 1000

  service:
    type: ClusterIP
    web:
      port: 8081

  resources: {}
    # We usually recommend not to specify default resources and to leave this as a conscious
    # choice for the user. This also increases chances charts run on environments with little
    # resources, such as Minikube. If you do want to specify resources, uncomment the following
    # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
    # limits:
    #   cpu: 100m
    #   memory: 512Mi
    # requests:
    #   cpu: 100m
    #   memory: 512Mi

  persistence:
    storageClassName: jumpserver-data
    accessModes:
      - ReadWriteMany
    size: 10Gi
    # annotations: {}
    finalizers:
      - kubernetes.io/pvc-protection

  volumeMounts: []

  volumes: []

  nodeSelector: {}

  tolerations: []

  affinity: {}

xpack:
  enabled: false      # Enterprise version turn this option on

omnidb:
  labels:
    app.jumpserver.org/name: jms-omnidb

  config:
    log:
      level: ERROR

  replicaCount: 1

  image:
    registry: registry.fit2cloud.com
    repository: jumpserver/omnidb
    tag: v2.13.2
    pullPolicy: IfNotPresent

  command: []

  env: []

  livenessProbe:
    failureThreshold: 30
    tcpSocket:
      port: web

  readinessProbe:
    failureThreshold: 30
    tcpSocket:
      port: web

  podSecurityContext: {}
    # fsGroup: 2000

  securityContext: {}
    # capabilities:
    #   drop:
    #   - ALL
    # readOnlyRootFilesystem: true
    # runAsNonRoot: true
    # runAsUser: 1000

  service:
    type: ClusterIP
    web:
      port: 8082
    ws:
      port: 8071

  resources: {}
    # We usually recommend not to specify default resources and to leave this as a conscious
    # choice for the user. This also increases chances charts run on environments with little
    # resources, such as Minikube. If you do want to specify resources, uncomment the following
    # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
    # limits:
    #   cpu: 100m
    #   memory: 128Mi
    # requests:
    #   cpu: 100m
    #   memory: 128Mi

  persistence:
    storageClassName: jumpserver-data
    accessModes:
      - ReadWriteMany
    size: 10Gi
    # annotations: {}
    finalizers:
      - kubernetes.io/pvc-protection

  volumeMounts: []

  volumes: []

  nodeSelector: {}

  tolerations: []

  affinity: {}

xrdp:
  labels:
    app.jumpserver.org/name: jms-xrdp

  config:
    log:
      level: ERROR

  replicaCount: 1

  image:
    registry: registry.fit2cloud.com
    repository: jumpserver/xrdp
    tag: v2.13.2
    pullPolicy: IfNotPresent

  command: []

  env: []

  livenessProbe:
    failureThreshold: 30
    tcpSocket:
      port: rdp

  readinessProbe:
    failureThreshold: 30
    tcpSocket:
      port: rdp

  podSecurityContext: {}
    # fsGroup: 2000

  securityContext: {}
    # capabilities:
    #   drop:
    #   - ALL
    # readOnlyRootFilesystem: true
    # runAsNonRoot: true
    # runAsUser: 1000

  service:
    type: ClusterIP
    rdp:
      port: 3389

  resources: {}
    # We usually recommend not to specify default resources and to leave this as a conscious
    # choice for the user. This also increases chances charts run on environments with little
    # resources, such as Minikube. If you do want to specify resources, uncomment the following
    # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
    # limits:
    #   cpu: 100m
    #   memory: 128Mi
    # requests:
    #   cpu: 100m
    #   memory: 128Mi

  persistence:
    storageClassName: jumpserver-data
    accessModes:
      - ReadWriteMany
    size: 10Gi
    # annotations: {}
    finalizers:
      - kubernetes.io/pvc-protection

  volumeMounts: []

  volumes: []

  nodeSelector: {}

  tolerations: []

  affinity: {}

web:
  enabled: true

  labels:
    app.jumpserver.org/name: jms-web

  replicaCount: 1

  image:
    registry: docker.io
    repository: jumpserver/web
    tag: v2.13.2
    pullPolicy: IfNotPresent

  command: []

  env: []

  livenessProbe:
    failureThreshold: 30
    httpGet:
      path: /api/health/
      port: web

  readinessProbe:
    failureThreshold: 30
    httpGet:
      path: /api/health/
      port: web

  podSecurityContext: {}
    # fsGroup: 2000

  securityContext: {}
    # capabilities:
    #   drop:
    #   - ALL
    # readOnlyRootFilesystem: true
    # runAsNonRoot: true
    # runAsUser: 1000

  service:
    type: ClusterIP
    web:
      port: 80

  resources: {}
    # We usually recommend not to specify default resources and to leave this as a conscious
    # choice for the user. This also increases chances charts run on environments with little
    # resources, such as Minikube. If you do want to specify resources, uncomment the following
    # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
    # limits:
    #   cpu: 100m
    #   memory: 128Mi
    # requests:
    #   cpu: 100m
    #   memory: 128Mi

  persistence:
    storageClassName: jumpserver-data
    accessModes:
      - ReadWriteMany
    size: 1Gi
    # annotations: {}
    finalizers:
      - kubernetes.io/pvc-protection

  volumeMounts: []

  volumes: []

  nodeSelector: {}

  tolerations: []

  affinity: {}
# install
helm install jms-k8s jumpserver/jumpserver -n default -f values.yaml

# uninstall
helm uninstall jms-k8s -n default

6, Source installation

For this suggestion, please refer to the compilation documents on the official website: docs.jumpserver.org/zh/master/dev/...

use

The use of all graphical interfaces is quite simple, especially easy to use. It's OK to simply grope. It's not described here. This is the official document address: docs.jumpserver.org/zh/master/user...
You can use it as a reference

Keywords: Programmer

Added by dannyone on Fri, 07 Jan 2022 06:41:38 +0200