跳到主要内容

配置

KubeVision 支持通过 YAML 文件或环境变量进行配置。

配置文件

server:
port: 8080

database:
driver: sqlite # sqlite | postgres
dsn: kubevision.db # file path or connection string

auth:
jwt_secret: "" # auto-generated if empty
access_token_ttl: 15m
refresh_token_ttl: 168h # 7 days

kubernetes:
kubeconfig: "" # empty = in-cluster mode
informer_resync: 30m

环境变量

所有配置项均可通过环境变量进行覆盖:

变量说明默认值
KUBEVISION_SERVER_PORTHTTP 端口8080
KUBEVISION_DB_DRIVER数据库驱动(sqlitepostgressqlite
KUBEVISION_DB_DSN数据库连接字符串kubevision.db
KUBEVISION_JWT_SECRETJWT 签名密钥自动生成
KUBEVISION_ACCESS_TOKEN_TTL访问令牌有效期15m
KUBEVISION_REFRESH_TOKEN_TTL刷新令牌有效期168h
KUBECONFIGkubeconfig 文件路径集群内模式
KUBEVISION_INFORMER_RESYNCInformer 重同步周期30m
KUBEVISION_ALLOWED_ORIGINSWebSocket 来源白名单(逗号分隔)*

数据库

SQLite(开发环境)

默认配置,无需额外设置:

database:
driver: sqlite
dsn: kubevision.db

PostgreSQL(生产环境)

database:
driver: postgres
dsn: "host=localhost port=5432 user=kubevision password=secret dbname=kubevision sslmode=disable"

或通过环境变量设置:

export KUBEVISION_DB_DRIVER=postgres
export KUBEVISION_DB_DSN="host=localhost port=5432 user=kubevision password=secret dbname=kubevision sslmode=disable"

Kubernetes 连接

集群内模式

当 KubeVision 部署在 Kubernetes 集群内部时,会自动使用 ServiceAccount 令牌,无需任何配置。

集群外模式

指定 kubeconfig 文件路径:

export KUBECONFIG=/path/to/kubeconfig

或在配置文件中指定:

kubernetes:
kubeconfig: /path/to/kubeconfig

Informer 缓存

KubeVision 使用 Kubernetes Informer 对高频访问资源进行缓存,实现亚毫秒级读取:

已缓存资源(8 种): Pods、Deployments、StatefulSets、DaemonSets、Services、Ingresses、Nodes、Namespaces

按需加载资源(18 种以上): Jobs、CronJobs、ConfigMaps、PVs、PVCs 等

永不缓存: Secrets(安全考量)、Events(数据量过大)

informer_resync 配置项控制缓存与 API Server 进行全量重同步的频率。