- 积分
- 16843
在线时间 小时
最后登录1970-1-1
|

楼主 |
发表于 2023-3-8 10:00:13
|
显示全部楼层
在线安装⚓︎8 U7 J" u# Q* a- c' O7 c7 S5 p6 T2 }
1 环境要求⚓︎; Y; p1 ^* ~. o% x' D7 P$ M: q
Kubernetes 1.20+' s: e/ _0 G7 N
Helm 3.04 `* }8 q1 D. G# z- j. i* Y
2 安装部署⚓︎1 e/ ^, M7 F5 U" e# q5 ?" n
2.1 添加 JumpServer 的 Helm 源地址⚓︎
! i, ?% F3 F/ J1 k6 t; b. a, N: @, t4 t( E. @* k1 x; A4 V- `- x
helm repo add jumpserver https://jumpserver.github.io/helm-charts
4 q- C9 d$ U* r, m8 Chelm repo list
0 F( B2 K5 G' g; Z4 M, P: S9 w* o2.2 编辑 JumpServer values.yaml 文件⚓︎
. B9 Q# x& D* j# W6 x' {3 x/ ] a& d& k$ ?" p8 D( E6 s# b
vi values.yaml5 f0 j* m9 ~% t* k; |
$ ^, g; O) g( d
# 模板 https://github.com/jumpserver/he ... pserver/values.yaml3 s. y" D Z9 V" l
# Default values for jumpserver.
2 g. I7 C, b+ d8 c7 x7 J# This is a YAML-formatted file.7 H# t9 M) I8 n2 O! |0 o6 d
# Declare variables to be passed into your templates.
* ]$ k! W! H# }& H5 k, ~
( i9 C# l& t% F9 R# pnameOverride: ""
! T9 k @8 y/ v6 O+ _/ k8 C4 E* `fullnameOverride: ""
$ }+ g4 W3 ?7 [
' c0 C/ d- q& J# P* D1 g## @param global.imageRegistry Global Docker image registry
9 }, M! `% Q/ y7 A## @param global.imagePullSecrets Global Docker registry secret names as an array: Q; u0 J$ Y2 o0 D4 I9 M- d
## @param global.storageClass Global StorageClass for Persistent Volume(s)
$ o+ _9 _: l3 z7 M7 J6 K) B0 r/ \0 ]' {## @param global.redis.password Global Redis™ password (overrides `auth.password`)
8 g ~2 N8 A9 R9 j( B8 ~) Y##
0 O% T* d* e9 { [global:; J( G& U8 Z& @1 ~ S
imageRegistry: "docker.io" # 国内可以使用华为云加速( N% d& \/ ]$ C) ?0 H
imageTag: v3.0.3 # 版本号: w5 r, r' w4 y" j5 a3 y3 q
## E.g.& G3 y. o. E" _0 o3 z6 ^* A* E
# imagePullSecrets:" {8 l7 i+ n* a! l( ~, x
# - name: harborsecret
. e- Y. I; e/ {% o, J4 W #; x: I6 B8 T9 Q* a1 O7 K
# storageClass: "jumpserver-data") }/ v6 Y( C' U: q1 h& H
##
4 M9 ]% y0 o3 a- u4 ]7 h imagePullSecrets: []
5 g% [% M1 g4 ]% Z Z # - name: yourSecretKey/ k' E4 a9 o- {( y- J; M$ @
storageClass: "" # (*必填) NFS SC$ h2 j9 l+ |' _
' ? M8 |2 u% V! M' Y, S
## Please configure your MySQL server first
% _% Z" h, V7 Y0 Y' c6 P' V, @7 o## Jumpserver will not start the external MySQL server.
- l6 Q# p% x0 e X8 S6 e3 o" V### c5 }5 R6 x( R' I! V* x# P
externalDatabase: # (*必填) 数据库相关设置# D; J6 _$ s$ b+ z. B6 M
engine: mysql
2 \3 P3 m( Y% x w/ }% e9 X host: localhost$ ?3 ]' c7 z `5 k3 Y k% q
port: 3306
" ^) W# r% U+ ^! t' e user: root
- R# t7 ~ R- Q, e password: ""
' F5 |* ]2 F3 Q4 s( M) ?7 u l database: jumpserver0 m) j: u! C0 L: Z3 E
+ @8 y) _/ n. l) v
## Please configure your Redis server first
5 K# ^) k+ G! \- j## Jumpserver will not start the external Redis server.) y8 n* O6 q% C9 w# ~2 w
##
1 Z. x, {& w) ]. yexternalRedis: # (*必填) Redis 设置3 v- n1 F2 g* F- w3 e5 b2 F' C6 e
host: localhost' U t# u6 Q& h8 ~7 ?/ U1 C1 I
port: 6379
1 `4 E2 e/ w9 @ password: ""; F' t) ?' x3 i0 w8 F7 p# A
/ f) c* c2 p) r8 [; w" Q9 pserviceAccount:
8 `1 O! c% ?9 o1 e0 E # Specifies whether a service account should be created* n a p+ H: \2 P* {
create: false
1 H' R: I5 M3 ?! H9 j1 R # The name of the service account to use." y7 G0 T$ |- x
# If not set and create is true, a name is generated using the fullname template
. M$ i/ Y8 v7 k& v r+ B name:
" Y) S! d$ i! }5 e
6 h% ]5 S6 r; hingress:- L$ I3 B. u# a( A' J
enabled: true # 不使用 ingress 可以关闭- Y$ D( l. P0 S1 ]
annotations:8 w( \5 z; S) q. j8 U
# kubernetes.io/tls-acme: "true"3 w- T/ a4 _+ y' f) N( t3 W
compute-full-forwarded-for: "true": V! H, C4 x5 a& F/ `9 P
use-forwarded-headers: "true"
& |9 U0 i& c& Z4 I kubernetes.io/ingress.class: nginx
I) J: m; Z! @ j6 k: n% T nginx.ingress.kubernetes.io/configuration-snippet: |: x( H @& j* O8 {: {+ A
proxy_set_header Upgrade "websocket";5 {$ m6 |7 G# P; B6 i3 v. u% A& t
proxy_set_header Connection "Upgrade";: n2 W: q, q+ x
hosts: C( X g8 H& v" a; C! l J5 W. u2 ^
- "test.jumpserver.org" # 对外域名 R% Y# [: {' I6 S
tls: []4 f. d d- M$ X; {! j
# - secretName: chart-example-tls
7 v: n( X. }* n3 u L # hosts:
1 {6 p' c' F3 G+ K # - chart-example.local5 m$ A! E# p7 u% I# y
" s: q% P# @% ^. f" Zcore:$ S4 D$ P& D! N5 e3 A
enabled: true
- q, Q Z' j/ n, T- H; p) _& K
( p$ u. z( r# l, q labels:
5 f7 t5 n$ E8 J2 V* O: ~/ J app.jumpserver.org/name: jms-core$ F; O+ T9 A, D& D) R7 R+ v0 l+ n2 l
- ?: D4 ^! A+ M& m
config:: v. o+ w6 G2 R5 h% C4 j+ a! W
# Generate a new random secret key by execute `cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`
L& ]1 g* T" b3 A9 a# L# ` # secretKey: "B3f2w8P2PfxIAS7s4URrD9YmSbtqX4vXdPUL217kL9XPUOWrmy"; G( y( Q; r8 E* |0 l" z- I
secretKey: "" # (*必填) 加密敏感信息的 secret_key, 长度推荐大于 50 位, x' V- Z' d6 S
# Generate a new random bootstrap token by execute `cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`
5 F' f9 [! U- W' H # bootstrapToken: "7Q11Vz6R2J6BLAdO"
7 P+ Y8 G0 W3 `" L* N' N& Z bootstrapToken: "" # (*必填) 组件认证使用的 token, 长度推荐大于 24 位9 H) Y. g% e2 x9 y' \& t
# Enabled it for debug
, Y2 T# D5 J: }; ?' \; i& }7 k5 U4 Y debug: false
4 x9 b( h3 `! M6 H- \3 ]6 q& ~. r log:9 r$ n- }. b2 @) c3 P
level: ERROR
3 n, ~6 L7 Z% N) j: L4 o
; H) A" Q- m0 y6 M5 a7 ` replicaCount: 1
& e' `3 N* R1 K& b) g- c4 H& o+ F
" i9 }2 |. q) |* j$ K image:
# f* h# n' g" P; U# q- M& ^) j, z- j8 ` registry: docker.io
) }% ?! q! F$ i5 q, V2 h) g repository: jumpserver/core- }) w1 F: y5 k. x
tag: v3.0.35 Q8 H& E8 n. ?2 {
pullPolicy: IfNotPresent) z: w* W, H0 r1 G) ]
8 S) M; x6 ?/ K8 L/ z
command: []! s" t1 G+ r9 y# ]; j0 @3 c
' {7 k) ?+ t; C: m6 A env:" S, z- Q/ R7 i. d3 F6 W
# See: https://docs.jumpserver.org/zh/master/admin-guide/env/#core# k+ \5 m7 D6 y5 k* I) U
SESSION_EXPIRE_AT_BROWSER_CLOSE: true5 y1 \& T; I: ]" w/ B7 u; x
# SESSION_COOKIE_AGE: 864008 q* b0 d3 A. z. r9 i
# SECURITY_VIEW_AUTH_NEED_MFA: true
/ Q) k. F0 ?( V w% i
) l; ]: @* b$ o& d; } livenessProbe:5 L! m3 [! O9 l/ ~+ s
failureThreshold: 309 J5 O, Z8 r8 B9 k
httpGet:
- v3 F' k# E5 Z; T0 g" p( O4 } path: /api/health/4 V1 K/ P! ?* q! U' ]
port: web
% z- {' u X" w3 P+ X0 ?! S! z2 B/ K3 A/ y! s2 g/ n
readinessProbe:' b! f4 L3 S" r
failureThreshold: 30
4 ]/ D. V$ ~( V2 \9 n9 ~6 M httpGet:0 `% C% [, h5 V" {$ S( q
path: /api/health/% _6 z: ?6 ? `% Q: \ w
port: web
+ R8 P; }' y2 p! l. @* N' }7 [4 z8 B( W( w% ]
podSecurityContext: {}
4 a4 o& ^& b; f9 T/ `! f # fsGroup: 2000; `! c; z$ D% Y: d
* k9 A P6 n+ Q4 }
securityContext: {}% ~+ v$ n% ~* n6 V# U* w
# capabilities:
# m( l5 l* i0 y# Q8 s! e$ U # drop:: j: L1 A! i. I- |* d! y5 E3 P1 j
# - ALL$ F9 C' p# N5 Q9 D
# readOnlyRootFilesystem: true* w2 R6 A" J* P% m" b7 G# i- G
# runAsNonRoot: true
1 ^9 A8 I5 O% @" n! F5 y8 Y# L # runAsUser: 1000
, }4 S1 o3 \0 G" L& ?! ?
0 n0 l% U' J+ w8 ^ service:, M- s$ w4 L* i
type: ClusterIP0 E2 ]: E5 h- w
web:
, I# T! S/ S- j+ E# U port: 8080
; B! A5 l+ L8 m* e- n7 T8 L6 }
6 i3 N2 e d7 `! z2 f+ M1 [ resources: {}
2 ?( \1 g' u" m$ o! ?6 U # We usually recommend not to specify default resources and to leave this as a conscious- n4 A4 P* S) d
# choice for the user. This also increases chances charts run on environments with little, r3 B3 A' B, \2 X# c/ P
# resources, such as Minikube. If you do want to specify resources, uncomment the following
& F. |5 U8 {; b! @9 [2 X # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
% A+ x. E* D- y # limits:
1 l% S1 a. E7 e # cpu: 1000m
. e: Q9 S- N* K) Q. z+ t r # memory: 2048Mi
7 r$ O9 x- w/ @ # requests:
$ b( v* |6 P# M$ o) w # cpu: 500m
, T/ k# d" p- }# i+ K0 x0 Z # memory: 1024Mi
8 O4 }: K, V' a8 |& E' n" L# s9 h1 [% R( C {- r3 {1 v. v# V8 H
persistence:
. b& `7 E$ w% ] storageClassName: jumpserver-data
& |) M* P# l# Y- h& A accessModes:3 f) I0 p* u4 Y" _$ w
- ReadWriteMany
- ~& q, }( D# U- }( R, F( H& k$ M* u size: 100Gi
/ w1 U P1 S: C5 z8 n7 } # annotations: {}
% @: m* i9 E& m% L& e finalizers:$ \ i7 K) t5 ]' a& r
- kubernetes.io/pvc-protection7 Z5 C4 s9 h) |0 r; c
# subPath: ""* [! z) u8 f- Q6 K2 V6 g1 y F& C. A
# existingClaim:. D: d( b" e+ _5 x- o6 @% u# u
5 H5 a. \# N1 m volumeMounts: []+ i! R3 x5 v" J. J
* R8 V2 w' _1 F" A; G
volumes: []
4 J( p; o5 m, I6 g' U
$ g7 Z, a) D/ C r* G D* {( Z nodeSelector: {}9 r+ m5 z) x; g
% l1 K: s- y! `% ~% w+ v8 n tolerations: []$ W% w9 y- Z" w* A' k
! A% U; O# _8 M n! b7 X5 m affinity: {}* o. f0 ]0 {& @! k) e# @! N3 \
6 r' e+ m1 s6 n" N
koko:8 B; o. ?' V3 @/ b: F5 s
enabled: true
' U7 a1 |' g1 t4 A+ u' B
$ U* |2 }6 p% t' o# b" h labels:# |6 _; p- k5 }4 u% v( C" C
app.jumpserver.org/name: jms-koko9 n0 Q9 ]; j* m3 R; A4 V- K% W
5 g5 \0 n z9 K! j4 u config: }' s+ i0 ~: r, i1 ]
log:
7 n% n, B0 X; j, U3 F! v. K; q, } level: ERROR6 r; s" U" J3 `# J" X5 x2 r
, F3 }$ |# i3 d+ k+ Z% u/ D
replicaCount: 1
( H0 D) y+ B5 `& d3 }7 W% X: F
3 b6 H- G/ ]: C$ T/ d image:
4 ^) Q' j* l( Q* e# g9 R registry: docker.io. u. {6 S" Q6 z0 S/ @
repository: jumpserver/koko6 Z: o) X- f. U7 e8 x3 q
tag: v3.0.3
/ l e) D; N8 w7 H! F% i" {' s pullPolicy: IfNotPresent, g$ f. e$ S2 g% N) t9 D
: B- @+ ` F6 {: V, e/ }# v, H1 D1 `
command: []# ]1 Q. {9 H. _. F7 G' `; ]3 `
0 t( {6 J- k7 D$ \5 ^5 S
env: []
5 m2 U* v. @( ^ # See: https://docs.jumpserver.org/zh/master/admin-guide/env/#koko
: T( B- S2 R: M # LANGUAGE_CODE: zh) o7 W- Q2 T" q0 Z m
# REUSE_CONNECTION: true
1 U3 |% @2 a: g # ENABLE_LOCAL_PORT_FORWARD: true
: j& q# G' i5 c* L # ENABLE_VSCODE_SUPPORT: true+ w( {3 |) H, a6 p" Z7 x6 r7 s i
7 |' |9 g" Y- n2 B i livenessProbe:
& Y" {/ ~ p* b; W4 r, }( b failureThreshold: 30) Y' I( ^0 f& n8 W
httpGet:
* c' }( r' G+ ^2 Z/ t path: /koko/health/0 t: w8 T: ?; S! l: W. A
port: web
7 ]: a! d) }8 h5 D9 k& E- P1 G$ T6 }! M5 W( v
readinessProbe:" d4 K) Y5 \2 k; ^8 d
failureThreshold: 30( U' w2 C. z, y; A- {
httpGet:6 Y4 \6 Z# a- f! i+ l4 A
path: /koko/health/' v4 F9 b: s9 \: [0 N
port: web
* ?" O, P% g$ i/ e2 h U
; J9 J5 K. X* P/ U podSecurityContext: {}
4 A3 `4 c/ n6 ^: m6 h+ y2 @ # fsGroup: 20004 h j# Z+ y% c
. N6 B: V) J# y
securityContext:8 j4 r6 |# D5 Y1 O& q+ \
privileged: true
2 K( P s5 k$ D; I- J. R W) W # capabilities:
( _4 n% I$ F& Z) m # drop:
4 |& w2 m( k- L7 k7 I+ T/ l # - ALL
* ] g9 N) T/ O! d4 k6 l # readOnlyRootFilesystem: true% P3 r& q; e9 t" C
# runAsNonRoot: true3 W8 k, }2 ~) J& X* {6 Y
# runAsUser: 10008 K6 j1 T9 B9 x. H4 `7 r
2 y5 M# {. j$ i: | service:
. {+ Q D5 ~2 l5 t type: ClusterIP
0 n; m- n, x9 w6 p9 P! c5 s6 F# ~ web:) K3 s' V" S b
port: 5000
" |+ x$ o! `8 x; r1 N/ X; I+ I9 } ssh:
6 b" `( ]+ ]6 m9 t7 R port: 2222
; |2 W5 k- K: ?; p: t2 J6 f
, r6 W) P( ]8 \2 e Z) [3 D+ m resources: {}
3 H4 {& n, w1 |+ l+ ]- z; K# w1 X # We usually recommend not to specify default resources and to leave this as a conscious- h( e" m# I0 P, g8 ?9 G- X$ ]
# choice for the user. This also increases chances charts run on environments with little% i# s6 j- x6 x/ w* i% s
# resources, such as Minikube. If you do want to specify resources, uncomment the following+ H7 {5 h7 I" v
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.1 k: `1 |. @1 S7 p6 C, d2 ~4 P) p
# limits:7 ]6 ?, d$ _- i! `
# cpu: 100m
# } s2 `, \8 z! M # memory: 128Mi: k5 k# ?/ n$ Z/ y9 D
# requests:: d9 ?7 V' J8 J
# cpu: 100m7 e# l9 O6 b5 F% U
# memory: 128Mi
' v. `7 l" Z8 \. {" i& P- U3 l
' P( y9 G: @9 ^" Z persistence:( h& Z# [0 B# O* y
storageClassName: jumpserver-data
& ?) P* n7 Q7 B, h. d accessModes:. x4 p9 v' p: ]5 ?, S
- ReadWriteMany# L* P( E* {! _" w5 S' r
size: 10Gi9 }1 A( B W2 D: X+ V: u
# annotations: {}
3 ~1 K. U, q' u0 W; V finalizers:
5 Z2 N9 t' _" F# |' | - kubernetes.io/pvc-protection! W* s' L4 R/ V# A# f
" ]- D7 H& ~" z. K7 R
volumeMounts: [] A; ?3 W' [# o# N) V# m8 h2 f% e( T
; P% ~/ {( B* Y" y6 v& g+ [ volumes: []9 e) F5 Y+ a" S) s+ Y! \7 R' `' I7 E
X* S+ j E3 A2 P0 g nodeSelector: {}
8 B6 g& I' R+ Q6 C k4 w( w q. `0 u8 r
tolerations: []
% r) u k! b, b' g2 X1 N8 D& e: D' T0 N& {1 B6 z+ u) D5 B
affinity: {}
6 J) c9 u% ^7 b/ O2 g( H* i2 G Z& O( U, ?' h B9 s0 t* K) z
lion:; ^; r4 w* o$ D0 K
enabled: true
8 k2 K1 g4 B5 n
6 R) v1 O( \5 {7 O labels:: H) O G& Z, p6 i2 X
app.jumpserver.org/name: jms-lion
& J& E2 R/ \% V+ w. {- q. T7 c7 V" b7 L( e$ r! _
config:
. }. S7 J9 Y; Q. X( k log:
6 [' M( ^$ R: B f/ \7 k" m8 p2 F level: ERROR+ R3 p9 O! ^- R9 y( k. P, j
( X# h) d" s" B7 g! X7 i; p replicaCount: 1
! D6 `0 `0 Y" w& ^% g6 E9 p/ a
: d+ ^* R) x* ~8 H, @2 b0 e% d" I image:
& y7 u+ }5 d* b+ V7 Y: W+ R registry: docker.io. l1 H( Q: `, ?/ w! ^# I+ U
repository: jumpserver/lion
$ {2 K s2 _ Y1 e9 Z tag: v3.0.3
- X9 o# |& v: ^5 X: |$ `5 ?5 q pullPolicy: IfNotPresent$ R! h1 O/ F2 @: @* \+ s; ^( G+ ` R
' R% X& r9 S$ S command: []7 f$ j% N( n3 i7 ?8 ^9 C8 L
+ q8 ^+ {- t; b9 g# [* t- [ env:
! D9 u* G: G/ u8 x. k) x1 @1 ` # See: https://docs.jumpserver.org/zh/master/admin-guide/env/#lion
! X" X& x- d% c JUMPSERVER_ENABLE_FONT_SMOOTHING: true
' E$ B# }4 A6 S' R! Q # JUMPSERVER_COLOR_DEPTH: 32. i5 B2 `) R1 V1 a7 u1 P# D
# JUMPSERVER_ENABLE_WALLPAPER: true2 Q3 k k6 t2 X( n1 L
# JUMPSERVER_ENABLE_THEMING: true
+ ?3 i# v; q! m$ K5 N3 @ # JUMPSERVER_ENABLE_FULL_WINDOW_DRAG: true
6 d) ]" P _" u7 K5 Z8 ^+ ]" l # JUMPSERVER_ENABLE_DESKTOP_COMPOSITION: true, u/ H) o5 B: n. e# _9 q+ Q$ L
# JUMPSERVER_ENABLE_MENU_ANIMATIONS: true0 {$ |6 w6 x6 E" P5 v% \8 u( G$ L- C
% m- w4 g$ X! w& e7 `
livenessProbe:
+ a I: D7 H0 F" U) B1 B& Q/ t failureThreshold: 30% b: R/ R' I5 o7 b2 K$ s2 D2 V4 u
httpGet:
5 d4 h j f% b8 J path: /lion/health/
' K; ]5 i3 w4 Q port: web
& K) ~0 t/ O `: k% d) T
7 y6 Q+ f+ d9 C8 o B- P5 C readinessProbe:
) ?. y. b+ I/ h# x8 a6 \ failureThreshold: 30
0 ~% J' E n: ^* j5 P3 Z' P/ @. G httpGet:: e, R. |$ Q& ^) A6 U) _. |1 N
path: /lion/health/
0 _ g7 y% @% t' p port: web; F' R2 A7 n/ i/ R& ^
, |% O- v2 S1 L3 f' A7 ` podSecurityContext: {}
& r* w; k' |. c& ^/ S! S U1 O7 S # fsGroup: 2000& w1 ^/ P5 T' Y
% C; G$ ]5 W; m: Q( }1 k% _ i" `
securityContext: {}& ?* c2 ^8 I% r" E5 l9 |( ~
# capabilities:
; x0 \* Q" i0 g( T4 A* I( ~ # drop:
7 j# B6 L8 j) z. }7 K, v # - ALL
' H' {5 F0 Q6 x8 N0 \: ~ _ # readOnlyRootFilesystem: true
5 U+ N1 |9 w, q6 i # runAsNonRoot: true
0 `: ^9 |4 d7 x- x: e7 S5 w8 R # runAsUser: 1000 _! {1 I& h" P( S: Q
" e0 s# P5 D9 K: r2 h R1 w
service:
# X) q" r7 u1 Q$ L N) m type: ClusterIP2 T% c* H5 [ \2 ?: ?) S2 D
web:7 q( }4 _+ L0 {1 o
port: 8081
# w2 ^: ^" ~ Y# L5 u5 s, C
6 G( z6 N+ i* H* [! x5 @1 e- k resources: {}3 d6 Y3 Q; h% O; O" c2 l$ h! u
# We usually recommend not to specify default resources and to leave this as a conscious- A( G8 ]9 @ H! j* r: \0 _
# choice for the user. This also increases chances charts run on environments with little
* f# ?0 m% D) o4 f3 {" a # resources, such as Minikube. If you do want to specify resources, uncomment the following* A5 g5 K, N. {
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.6 z! u1 q) F3 d+ s* f. w
# limits:
* K9 n7 g0 F) J! r # cpu: 100m
- o1 y0 _8 @7 r # memory: 512Mi; J! Q, b# e. p8 G
# requests:
! ^. K8 W9 @! z" B/ V # cpu: 100m
8 L7 {' z# x) c) p$ M # memory: 512Mi' B; m0 l' _( [
$ }( `( x0 \8 z, w" W3 q4 y y
persistence:$ H8 ]* b% I* H$ C
storageClassName: jumpserver-data+ c8 k* I Q e6 }7 I) c( C; i
accessModes:
% ?" U6 F1 i/ [, O+ r6 i+ U; G - ReadWriteMany# X3 y3 q) O" ~6 e! T: ]3 R9 j
size: 50Gi
8 T, R0 |9 C0 o$ }: ^5 N1 r # annotations: {}
. O, E2 N7 q, ]* f$ O4 B6 J% M finalizers:" l! W- q1 B/ y( M7 O6 Y
- kubernetes.io/pvc-protection" |* N, N& \- s) w* O
8 d5 `3 [3 a8 A volumeMounts: []
6 p) J5 w- K- `1 f' x3 y
6 a- { T! ]' |4 X volumes: []2 Y: O, P7 u. I+ k* g6 t
9 V! c0 A; G+ p f0 ~4 U- w3 t
nodeSelector: {}
' x3 ?0 F; @! n3 E
( G4 X' U G5 i tolerations: []! L9 P1 \1 M5 e" ^! Y$ H
) E! j2 t. e5 Q8 b affinity: {}1 p) e9 Z& G& D: D/ e
* n8 [) {& o* k# a Q; o4 T6 X
magnus:
" ]/ ~, q$ E& \/ ^4 P& x. f" t enabled: true
B; e! y# Z2 b6 p5 j+ w7 k0 S# I
labels:
" j4 A$ P& j4 j, O( m8 T5 r* L app.jumpserver.org/name: jms-magnus' J" ^! ` ?& [2 V- U& a4 x8 m. [
, W8 ]/ K# ?$ ]9 B# I3 e
config:' I: ^+ N* x2 n. l; I+ S9 P2 x% r
log:
1 a( i2 e0 V" H+ b6 ^ level: ERROR( c" Y @8 \2 g- v5 s8 x$ z" E
6 ]# ~% d, Z6 L, F
replicaCount: 1* [5 P! e x% ]5 j) m1 {+ ]
8 O+ u" e' [, J: P image:6 d y6 u. f& j' W+ }( K0 M7 E9 _4 _. H
registry: docker.io
* }) F; b9 U" e- ?, J$ m repository: jumpserver/magnus
6 @7 C; E+ I2 R tag: v3.0.3
$ {2 v( B3 i7 ?3 ~ pullPolicy: IfNotPresent. {+ J5 D, ^) J1 z
$ D" L5 \: y( J+ T1 _) t6 F1 u% D
command: []+ m' B+ T3 [7 I5 \" F
$ ^# F/ S/ f. s( e8 n0 L/ W& d env: []
7 U. o, n; h) {/ C: I: a7 K
# r6 V2 w/ j. X* A0 b livenessProbe:! B: U+ ?/ O t3 h' e
failureThreshold: 30
# }4 p2 Q+ _$ [: L tcpSocket:
% B9 [# T0 \" n3 q port: 9090
& H$ J2 C5 T9 v r; V6 P" P2 H- N- Z5 C
readinessProbe:
3 ]+ R" y! T6 Z! U$ H* u y+ O% x failureThreshold: 30* U% H$ q. T+ b* c
tcpSocket:
7 ?& n$ L2 l) I port: 90903 o6 K) Q4 U* G+ Q3 l7 O5 y. f
2 V, M; R, I O$ Z* q
podSecurityContext: {}
8 ]! M I0 K$ I # fsGroup: 2000+ O0 O/ R1 j, n
$ k8 r0 |6 t$ E2 r" Y- A securityContext: {}* }+ N; }; I( h; m1 k. o
# capabilities:
: L% J3 q+ r) `8 N6 j4 i x0 d/ O # drop:5 `5 Z& q# l2 A% T5 O" M' J2 e
# - ALL* c/ w; d! V1 a @3 K% {/ x
# readOnlyRootFilesystem: true
1 ^; q) l; v) d6 f # runAsNonRoot: true3 Q- `" V. @% c' l* R- v! Z
# runAsUser: 1000* }- d: b1 w ~5 o [# u
2 {2 p4 b3 }6 Z. K) Z0 B
service:4 G9 U# X0 x5 V4 N9 |$ H5 ]' g( s. k4 q
type: ClusterIP7 |3 F% S. v. n# C. e* c& |3 a
mysql:
% O/ Y6 ? d0 n0 Q# b8 i port: 33061
- K7 z2 Q3 g! N) H: ^0 \ mariadb:
8 {6 P! M5 a& e! V port: 33062
/ n( M& ? z2 g/ P& v redis:
3 p: c4 v! x* r port: 63790
7 M# u" t( E# C& L# F postgresql:, Y8 P' ^# ]1 H1 D* J B
port: 54320
0 z; E2 E/ q( d, r1 _4 s# F2 a) c oracle:
% O: B- z) e+ o) u3 c ports: 30000-30100. D% l# H+ ?! i/ h% V
- R' L* g y9 M7 i0 T$ I resources: {}
: B& T4 l+ G; P# M7 I # We usually recommend not to specify default resources and to leave this as a conscious4 f! J0 s V; s2 k% e7 g' O: _
# choice for the user. This also increases chances charts run on environments with little) ?& n ~" L5 z/ A; a. L) L6 e
# resources, such as Minikube. If you do want to specify resources, uncomment the following
) j: V; K) K, L # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
7 l1 D7 s& \9 b7 t- w # limits:! e" \5 B! U9 L0 k: X
# cpu: 100m
; W! s, q; a- C# y # memory: 512Mi
: U1 M3 S# Q+ @( g # requests:
" t) k! e; }9 h0 I3 N& f # cpu: 100m% b: n$ f8 J9 o& c
# memory: 512Mi! `1 ]! E0 i6 {9 q" U) Y4 n K
0 @1 e' [$ N# W9 ^/ D1 T4 n persistence:. \- x. E# A* W: a; P8 Q
storageClassName: jumpserver-data, {2 p& A1 }7 |: i6 N, p, G
accessModes:
& ]) Q& g3 }1 L$ v7 m. J6 H - ReadWriteMany M" c, o! Z, }2 l
size: 10Gi; x. u0 {; W8 L" {3 ^8 {
# annotations: {}2 x- A" ?: I- k8 F
finalizers:( c% |! l& c# W h+ j8 m
- kubernetes.io/pvc-protection
9 \. D# c9 U$ j, r
$ a9 \7 }9 V7 J" U5 @% a4 H volumeMounts: []
# o- A3 A, K7 L! q9 P, ?
0 {9 |$ v( V5 D& c volumes: []
2 x+ x: D+ A) _0 X. i: w
$ |$ S* X: s2 n8 c9 r nodeSelector: {}4 j+ t0 P% Q) |: y% Y
' q% u, ]& R, c tolerations: []
# U( ?- e. U0 {0 y4 e2 I9 P
% E. h4 @ Y% F, m affinity: {}
6 G% X+ I' D' ?+ Y+ M6 K- R5 |6 M& E3 ?. j# D3 X/ _
xpack:$ e4 {. Y: x4 C) J! S- l
enabled: false # 企业版本打开此选项: s8 T- X& O6 E0 r# h
9 u6 U1 s! L8 i# b/ F6 Domnidb:: ?- o8 e3 @/ ^ |
labels:
& c; V+ r) K4 M app.jumpserver.org/name: jms-omnidb
3 X! i8 `# F7 i) Y8 m W+ D5 V1 b/ E9 I
config:
7 ~& l; L) ~( D3 Z6 l log:
- ~# I) F- O. t7 L+ x0 p! Y level: ERROR
0 \$ S- k3 s U+ B+ P! |7 U
6 z& k0 T' c! M& E replicaCount: 18 M% H4 B$ G# o; g; Z( ^
/ V1 }* ]! X) o0 t image:
: Q) e! N9 K* ~! o# x registry: registry.fit2cloud.com
2 ~) F0 A1 b. G H repository: jumpserver/omnidb# Q8 D6 c3 I" G& R
tag: v3.0.37 N7 L3 H) ?% @0 |
pullPolicy: IfNotPresent# ]$ A( S2 V/ s. _+ S1 W: G
9 i8 R8 N" r% k; V O7 F
command: []
! n. J& ^' c' c* ]& Y3 G3 C# v$ p
1 @. o8 p1 M9 a+ ~7 M' {- u# C env: []
5 |! W! e2 |; u/ \/ U' L, m5 Z8 L" j
livenessProbe:! z7 C8 C$ w) _* a% g
failureThreshold: 30: k5 |" U$ M0 ~) u4 D
tcpSocket:
1 [& v# ?: I9 ]& a, z q5 \, t port: web& Q+ N0 ~$ `/ o# M
+ t( n, r2 a2 T5 g readinessProbe:
# h9 w* o* d$ I failureThreshold: 30* C1 g! L$ A- m
tcpSocket:) c8 r U2 }2 q5 X; _ h& S
port: web' e) n/ ]/ ^; j
5 D8 |, V7 H' C/ f podSecurityContext: {}& F B' ^7 ] h9 X
# fsGroup: 2000
4 s4 e1 j5 S& d2 A. H' j4 e( }* a4 w/ b' I4 \
securityContext: {}, ^, T' Z9 ^7 ]4 i$ e
# capabilities:0 H. j6 E9 \* B, b' Y( e
# drop:
& h. d3 V* W) u6 @ # - ALL
/ N+ c6 x+ @. \+ ^$ s # readOnlyRootFilesystem: true% K4 x: c4 d$ P3 g) [4 Y9 X
# runAsNonRoot: true4 l& O8 b. f$ N' ?& V
# runAsUser: 1000
7 u+ W! N% w, c9 s/ g
9 z) b$ _5 i6 p" @ service:
0 M, b! ]0 k9 }2 T& R: A type: ClusterIP
4 M( w; ^4 c/ w) g web:9 ~- E3 r/ H* h, `
port: 80822 _0 h/ p8 K0 `! k8 a# d
5 \7 {& V3 i; e4 x. [$ O2 J) v: P9 g
resources: {}- b0 E5 ]2 \, _$ p/ s+ w8 L
# We usually recommend not to specify default resources and to leave this as a conscious/ y1 G' L; P3 |1 m6 o# d; b0 ~. B) e! ]
# choice for the user. This also increases chances charts run on environments with little y) U* h. c+ v! V/ C
# resources, such as Minikube. If you do want to specify resources, uncomment the following- \ h B/ S% [
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
" V$ Z/ c) }# k # limits:+ X9 t# D) f L+ l8 _8 ?* X' v; B) q4 D/ T
# cpu: 100m
- Y7 x' D' b! u # memory: 128Mi
( `& H$ I: {) e # requests:+ j. W2 N" X: F1 R0 s I
# cpu: 100m
) O0 h) k& H7 N+ @4 p # memory: 128Mi# i8 J2 H4 d; f* Q
) w4 J& ~# o1 B5 y& U2 c
persistence:
; G% F0 D! b7 N/ r A0 d L storageClassName: jumpserver-data0 S5 t* p% [1 b0 Y' {
accessModes:
7 B/ z) S' x/ V$ u5 B- ]& A - ReadWriteMany
$ x) @6 o2 W: J2 f4 ~ size: 10Gi2 A) ]& l4 S0 R, _5 M9 n0 B- O
# annotations: {}; G2 V8 ?9 ]/ `
finalizers:0 J p+ @/ u5 m' d" t) |+ Q' p! F
- kubernetes.io/pvc-protection
2 g' s' U' |" m3 x) z, R( V3 R7 Z. g8 J5 h
volumeMounts: [], L- j: v0 E: I" T
/ a7 i) D6 g, B
volumes: []
' l. g0 O+ G1 J$ k
. m& T! M8 F/ i8 ]- u1 x& A- Z6 J nodeSelector: {}
8 y( Y( V n/ v0 _0 x2 m
( h( F2 O4 h% a* N+ q tolerations: []7 h3 {2 q+ Z) b6 v% H1 ~. D5 y
& a7 w& h& P# d: ]* m affinity: {} P2 f) q2 a! A# c
, D/ `# Y: m7 ~ Y. M7 F- M& b
razor:* s5 {( M1 R& t! e8 B: H
labels:: K7 K& p6 L# \" N9 C0 c
app.jumpserver.org/name: jms-razor
7 b" e9 w( c$ a2 M6 f% [4 b
! n* o9 t& w( w, [& r0 q config:+ h% c: a5 }+ q) e
log:
4 F* b7 B6 U N" w5 O. Z level: ERROR: C6 k7 v4 f: K& L
9 g6 G0 W, J* Q [3 O; ^ replicaCount: 1, B& J- V1 A( z
% F. Z- u4 d3 e2 D3 Q9 E
image:# S( F# W- m2 i. ]' E4 a
registry: registry.fit2cloud.com* J7 ~( c# R, v3 H: C
repository: jumpserver/razor
7 z& J9 w3 m( {) ~. P5 o) ? tag: v2.28.6
$ p& S1 W6 e6 B) w& J pullPolicy: IfNotPresent& I2 [/ K1 b7 l6 G! [0 R
3 K3 R& d" F# D- H& g: s command: []
# g' q% u2 l* P
# b8 O1 C H8 l* F1 c env: []+ j8 z8 O8 r8 \* g
* R6 G* {# u) v
livenessProbe:8 \1 U$ v$ V! @$ v
failureThreshold: 30( p, T; M5 l. C1 Y$ n& |- }
tcpSocket:4 g7 K& S7 J, h7 I G; _
port: rdp
- M, E/ |. y7 L3 d; W( } Q9 C! u, y8 E# z" Z/ y4 C
readinessProbe:
+ \" U6 ^3 d m5 J1 ^' a5 ` failureThreshold: 30
9 H! d, N$ H" H" ` tcpSocket:( f4 Z# n: P8 ?: D# ^
port: rdp9 `' ~6 g% P- h
6 E0 x( D; D9 R
podSecurityContext: {}
/ j) ^, l9 X& K: H: w, L( e6 @ # fsGroup: 2000/ W% O( {' [$ e
. @( ~, S1 X% _" E" G4 T! Q securityContext: {}
( ~* w9 U& J& P- W2 n( ^' ^ # capabilities:7 T) {' N7 A8 S1 y
# drop:9 ~1 k' B0 Q/ j+ @% ]; u
# - ALL
6 C( C8 I4 E1 ?- h3 [7 X1 Q # readOnlyRootFilesystem: true) R6 z* p; J! x. D z( i
# runAsNonRoot: true2 {8 K0 M( M+ {9 p2 i3 l1 u& F! x
# runAsUser: 1000
; \; l F: L3 x, l
* N* [; W# q6 ~ service:
, A# _3 v! I, F type: ClusterIP
7 ~8 U) P$ X5 v$ g rdp:
$ {! v8 V+ J$ o4 c1 l port: 3389
* k$ Y6 n) R3 Z) [) l6 b0 y' \1 x: @& K( J" J
resources: {}; w/ G W% I G. z1 X7 M
# We usually recommend not to specify default resources and to leave this as a conscious
8 i) q2 e* y ^4 ]/ S # choice for the user. This also increases chances charts run on environments with little
K6 v4 R% S+ c. D& u: T, H # resources, such as Minikube. If you do want to specify resources, uncomment the following
& `: I/ l$ y$ @) e% J3 H # lines, adjust them as necessary, and remove the curly braces after 'resources:'.. y# d1 }$ O# h" f4 x3 O7 X3 z
# limits:+ s; G9 f. g3 @0 A$ g: i
# cpu: 100m
7 y8 P" L2 z, `' ~" N/ k # memory: 128Mi) v: r4 k+ B8 y! P, i( v
# requests:
" Z, R. w5 E P9 T# Z # cpu: 100m4 _5 ?/ N9 E" g1 M
# memory: 128Mi
z9 v, }1 I1 ?" ~6 M
# j$ o# g, R# H* t7 _ persistence: n8 c4 `$ x7 d" G3 K2 N
storageClassName: jumpserver-data& m, C: ~! ^3 x' [- T6 r/ F
accessModes:
0 L' c0 J$ U) a7 x8 K - ReadWriteMany
5 L- A" @. q" K; x0 C; G. \ size: 50Gi$ ] I5 K" F4 L8 l; S0 i
# annotations: {}
2 ^5 |: Q0 C* L" i8 ^ finalizers:
$ E2 N ]$ J1 @' }* g - kubernetes.io/pvc-protection6 E, s0 |, G+ F5 G2 B: G# X. M* _
' F1 [# G; G( B; ? volumeMounts: []2 h5 I0 I$ l" e' i" J' {0 s6 ?
" Y- d* ^ ?+ Q! g; u volumes: []
$ b; o. Z5 Q7 ^# |* H. g: w5 P7 j6 e
nodeSelector: {}
" N, f" v6 {" k/ s- S& `7 p& m3 C4 p
tolerations: []- [2 e1 Z x. X0 Z9 V
( t/ ?0 B) h8 f8 \' G& T
affinity: {}2 J* w5 n; X+ d
+ n/ ~' G6 p% l$ K6 d% T5 q" K& e
web:
3 r4 ]6 h" t& P. P# w) m enabled: true% |. V5 ^( X* }' J1 y0 S7 ^" K
0 Z6 f3 u# T/ x- r" c% l labels:
' u }% n. ~& r2 E h( `6 [* p app.jumpserver.org/name: jms-web
0 c! S* g2 l; @0 W! Q
! _/ E$ O6 G2 U6 d% B) F replicaCount: 1
& O7 d1 s3 U/ c! v4 U1 j9 x0 y4 O$ @, m. e3 _
image:! `- N; ]' ?* w
registry: docker.io# b* i6 S# q3 S. r
repository: jumpserver/web2 k* C0 n; c1 w& X; E( b
tag: v3.0.33 f9 D, \' s. `$ p- Z
pullPolicy: IfNotPresent
0 R ^9 F K, S8 g: z/ N
, _$ \4 j! F2 c- H, n command: []
7 _7 X6 W$ P U8 q; u( {# K: `* _6 Y R( U$ P: S; w
env: []
7 Q2 ]- Z3 [8 F # nginx client_max_body_size, default 4G
- q% d( I7 J$ n4 e7 d # CLIENT_MAX_BODY_SIZE: 4096m; T6 |2 N7 Q+ }% H7 J! I
# ?9 i Z v$ r2 d6 c, _ livenessProbe:
' Y4 Y+ [' n: Y- J failureThreshold: 30
) _2 D" Z5 ?; L" H* Y: q6 O5 U" G httpGet:: t& g. T4 V3 B% Y6 D
path: /api/health/
. U/ b0 N; \1 z0 U: `3 e! Q1 z% t port: web2 R: k5 T* U9 s0 ?
( z- `' @' I% I) b7 |& V( Z' x readinessProbe:
8 I9 I- E+ E) g% [/ ^+ ~7 c' L failureThreshold: 30& f+ N' c, Y) Q$ a; y
httpGet:
4 h0 {2 S1 p( X8 Q path: /api/health/
. h$ V4 f i, j7 t" p* H: k) f! m port: web
- K& Q& N) @/ Y% @$ Q
1 ]$ R" G) `. y$ R podSecurityContext: {}% W) n; P; D1 y B6 L
# fsGroup: 2000. ]3 |1 N; I5 x& @
/ H5 M8 Z3 c8 n. G% Q! j securityContext: {}
- G% I' _9 j/ t! L' J2 I h # capabilities:$ J& _3 L \/ N. Q
# drop:
' n4 J R6 D3 }4 g2 V # - ALL
, x9 T( O8 G5 u% R # readOnlyRootFilesystem: true
6 ]# p ]$ `, B6 W7 c; ^9 p # runAsNonRoot: true
4 {% ^4 R% n, x # runAsUser: 10006 J+ H* S- F; s# ~" B0 h; W
" n b; ?2 u' T, }! Y) ? service:5 R3 b2 q# M( u, u! S1 [; a' q
type: ClusterIP
( I9 ]5 h+ Y+ Z t web:* i+ K) e$ Z) F4 B
port: 80
. y- i# x: q6 i8 Z9 C4 Y; S& s9 z1 [/ H, W
resources: {}
' N$ v8 K* w" i0 f2 D/ m) \' @ # We usually recommend not to specify default resources and to leave this as a conscious
! ~; [9 V4 n. C! e' N5 U # choice for the user. This also increases chances charts run on environments with little
+ B# x q9 g5 ?" [' O! D # resources, such as Minikube. If you do want to specify resources, uncomment the following
6 ^& s- P8 K5 Z7 l }6 f! L # lines, adjust them as necessary, and remove the curly braces after 'resources:'.% ~+ R- p6 `/ t' a, b5 e- F. z7 E
# limits:, a: ]: K7 }- ?# \9 W
# cpu: 100m
/ S& O) R) j7 f( o5 W- o # memory: 128Mi
, ~% u" h( C8 L% _$ x1 d0 |, }& Z # requests:, Y7 b. C) Y. ]0 v& |, K
# cpu: 100m
! ~% y0 A- [% ^7 Z0 b( q7 ` # memory: 128Mi2 B4 C' {' {) X) j
: f: b! ]9 S' \. Y2 V5 ~, ]
persistence:0 i- P$ {* O$ R% |" ~
storageClassName: jumpserver-data& C- U& C) {* l% }; I
accessModes:& [% W1 }2 s4 ~: J
- ReadWriteMany
8 h0 F0 x1 Y& N5 O size: 1Gi
$ H s) k2 P X4 E9 w9 W # annotations: {}2 ^: h% _9 y' N: b( r# C8 _
finalizers:0 \/ S& |1 v, v& q) S/ I# L
- kubernetes.io/pvc-protection4 H$ q L; ]: U( V* {
; ^, ?" ^% ]1 E4 ]7 L8 a volumeMounts: []
& |0 s* ^( j6 p( B; K
6 S( _3 l* U( k4 A6 Y8 R volumes: []
5 C1 U+ y, K: G& ^
, |; D+ O! X" \( y \3 y nodeSelector: {}$ A; H/ ?/ p6 e. b; {( Y
7 Y/ D9 O [$ c. [& J
tolerations: []
# O: C; z; T3 A6 m6 V
7 o$ C! O9 y; s1 Y" a+ K0 H+ M& o affinity: {}
' [* L6 x/ m9 Q3 p: ~* g2.3 安装 JumpServer⚓︎, ]1 \- y( c8 J: Q7 }) [5 L
Y# O: w1 T! N) R( \9 m6 @4 s( Ahelm install jms-k8s jumpserver/jumpserver -n default -f values.yaml5 N0 w: s7 d* H
2.4 卸载 JumpServer⚓︎5 ~( {. |7 L! k8 V" k
4 [+ c+ @) f1 x& I4 o: s6 o- C
helm uninstall jms-k8s -n default |
|