操作
常用操作
K8S 集群版维护
所有示例应用程序都安装在命名空间:
bika-apphelm 配置文件:
bika-values.yaml
1. 检查服务的运行状态:
kubectl get pods -n bika-app2. 检查服务日志:
kubectl -n bika-app get pod3. 重启某个服务
kubectl rollout restart deployment/bika-web -n bika-app4. 配置变量
详细配置见 bika-helm-chart/README.md
修改 postgres, redis, mongodb,minio(s3) 可替换外置服务
如配置
bika-values.yaml所有环境变量见: 环境变量
global:
# -- 替换为真实存储类名
storageClass: ""
# -- 默认全局镜像仓库, 可替换为国内地址 docker.vika.ltd/docker-hub-proxy
imageRegistry: "docker.io"
# -- openonbserve 依赖镜像仓库 , 可替换为国内地址 docker.vika.ltd/docker-hub-proxy
image:
registry: "docker.io"
# 应用镜像仓库,留空则使用全局镜像仓库
registry: &appRegistry ""
# 应用镜像的仓库名,用来标识镜像的名称
repository: &appRepository "vikadata"
# 应用程序版本号
version: &appVersion latest
web:
# 是否使用自建postgres , 默认 true
selfPostgres: false
# 是否使用自建mongodb , 默认 true
selfMongo: false
envFile:
# -- 替换自定义配置,如不使用,删除即可
SERVICE_EMAIL_PROVIDER: '{"provider": "smtp", "host": "smtp.host.com", "username": "sender@example.com", "password": "xxxxx", "port": 465}'
SYSTEM_EMAIL_PROVIDER: '{"provider": "smtp", "host": "smtp.host.com", "username": "sender@example.com", "password": "xxxx", "port": 465}'
# -- 如使用系统自带服务时,删除变量
PG_DATABASE_URL: "postgresql://<pg-username>:<pg-password>@<your-pg-host>/bika?schema=public&connection_limit=1&pgbouncer=true&pool_timeout=30"
MONGODB_DATABASE_URL: "mongodb://<mongo-username>:<mongo-password>@<your-mongo-host>/bika?authSource=admin&replicaSet=rs0&directConnection=true"
REDIS_URL: 'redis://default:@127.0.0.1:6379'
MINIO_URL: "minio://<your-access-key>:<your-access-secret>@<your-oss-host>/<your-bucket>?useSSL=true"
# 存储文件服务的访问URL, 用于资源文件的访问(自带服务时,删除变量)
STORAGE_PUBLIC_URL: "https://xxxx.xxx.xxx"
formapp:
# 与上面定义应用镜像一致
registry: *appRegistry
repository: *appRepository
version: *appVersion
redis:
# 是否安装 redis, 默认 true
enabled: false
postgres:
# 是否安装 redis, 默认 true
enabled: false
mongo:
# 是否安装 redis, 默认 true
enabled: false
minio:
# 是否安装 minio(s3)服务, 默认 true
enabled: false
# 数据索引服务, 依赖 postgres 和 s3 存储
openobserve:
image:
oss:
# -- 默认镜像仓库,可替换为国内地址 docker.vika.ltd/docker-hub-proxy/openobserve/openobserve
repository: docker.io/openobserve/openobserve
busybox:
# -- 默认镜像仓库,可替换为国内地址 docker.vika.ltd/docker-hub-proxy/library/busybox
repository: docker.io/library/busybox
auth:
ZO_S3_ACCESS_KEY: "<your-s3-access-key>"
ZO_S3_SECRET_KEY: "<your-s3-access-key>"
config:
ZO_META_STORE: "postgres"
# -- 存储路径替换,需要提前创建桶
ZO_S3_SERVER_URL: "https://<yours-s3-host>"
ZO_S3_BUCKET_NAME: "openobserve"
ZO_S3_REGION_NAME: "local"
extraEnv:
- name: ZO_META_POSTGRES_DSN
# -- 替换为你的pg连接, 需要提前创建数据库 openobserve
value: postgresql://<your-pg-username>:<your-pg-password>@<your-pg-host>/openobserve执行变更:
helm upgrade --install -f bika-values.yaml bika-release oci://registry-1.docker.io/vikadata/bika-helm-chart -n bika-app4. 更新bika 镜像版本
修改
bika-values.yaml查看所有版本: https://hub.docker.com/r/vikadata/bika/tags?name=release
version: &appVersion 0.9.12-release.2
formapp:
version: *appVersion执行变更:
helm upgrade --install -f bika-values.yaml bika-release oci://registry-1.docker.io/vikadata/bika-helm-chart -n bika-app5. license更新说明
集群版本和docker单机版操作方法一致
访问: 服务地址/license/activate , 输入License

6. bika-helm-chart 所有参数和配置
把 bika-helm-chart 包下载,查看里面的`README.md` 和
values.yaml
helm pull oci://registry-1.docker.io/vikadata/bika-helm-chart --version 1.0.1
tar -zxvf bika-helm-chart.tar.gz
bika-helm-chart 结构如下:
├── Chart.lock
├── Chart.yaml
├── README.md
├── charts
│ ├── elasticsearch-20.0.4.tgz
│ ├── minio-14.10.2.tgz
│ └── openobserve-0.13.1.tgz
│ └── formapp-0.1.1.tgz
├── example
│ ├── advanced.yaml
│ ├── registry.yaml
│ └── simple.yaml
├── templates
│ ├── NOTES.txt
│ ├── _helper.tpl
│ ├── bika-web-env.configmap.yaml
│ ├── bika-web.deployment.yaml
│ ├── bika-web.service.yaml
│ ├── cron.configmap.yaml
│ ├── cron.deployment.yaml
│ ├── mongo-db.yaml
│ ├── mongo-express.yaml
│ ├── mongo-operator.yaml
│ ├── openresty.configmap.yaml
│ ├── openresty.deployment.yaml
│ ├── openresty.service.yaml
│ ├── postgres-adminer.yaml
│ ├── postgres-db.yaml
│ ├── postgres-operator.yaml
│ ├── postgres-secret.yaml
│ ├── redis-db.yaml
│ └── redis-insight.yaml
└── values.yaml #默认配置7.国内/自建镜像仓库版本配置
详细配置见 bika-helm-chart/README.md
修改 postgres, redis, mongodb,minio(s3) 可替换外置服务
如配置
bika-values.yaml
global:
# -- 替换为真实存储类名
storageClass: ""
imageRegistry: "docker.vika.ltd/docker-hub-proxy"
image:
registry: "docker.vika.ltd/docker-hub-proxy"
version: latest
web:
envFile:
# -- 替换自定义配置
SERVICE_EMAIL_PROVIDER: '{"provider": "smtp", "host": "smtp.host.com", "username": "sender@example.com", "password": "xxxxx", "port": 465}'
SYSTEM_EMAIL_PROVIDER: '{"provider": "smtp", "host": "smtp.host.com", "username": "sender@example.com", "password": "xxxx", "port": 465}'
# 数据索引服务, 依赖 postgres 和 s3 存储
openobserve:
image:
oss:
repository: docker.vika.ltd/docker-hub-proxy/openobserve/openobserve
busybox:
repository: docker.vika.ltd/docker-hub-proxy/library/busybox 8.离线版安装方法
离线版与K8S在线安装方法相似, 只将镜像和chart 改为离线的
# 下载离线版镜像包
wget https://download-selfhosted.bika.ai/1.0.3/bika-K8S-1.0.3-47-amd64.tar.gz -O bika-k8s.tar.gz
tar -zxvf bika-k8s.tar.gz -C /data
cd /data/bika
# 目录结构如下:
#├── bika-helm-chart-0.1.0.tgz //离线chart包
#├── bika-values-example.yaml //示例安装包
#├── bundle.yaml
#├── images //离线镜像
#├── mongodb-operator-bundle.yaml
#├── postgresql-operator-bundle.yaml
#├── push-image.sh //上传镜像工具脚本
#└── readme.md //安装说明
#查看安装指引
cat readme.md
# 流程
1. 上传镜像到私有仓库
2. cp bika-values-example.yaml bika-values.yaml, 并参考7 修改私有仓库
3. 参考readme.md 执行安装9. 使用离线chart 包
示例
1.0.1, 最新版本见: https://hub.docker.com/r/vikadata/bika-helm-chart/tags
# 下载 bika-helm-chart-1.0.1.tgz
helm pull oci://registry-1.docker.io/vikadata/bika-helm-chart --version 1.0.1
# 使用离线chart 包更新应用
helm upgrade --install -f bika-values.yaml bika-release bika-helm-chart-1.0.1.tgz -n bika-appDocker 单机版维护
1. 查看服务运行状态
cd /data/bika
docker-compose --profile all ps2. 查看服务运行日志
cd /data/bika
docker-compose --profile all logs --tail 256 -f bika-web
docker-compose --profile all logs --tail 256 -f bika-server-doc
docker-compose --profile all logs --tail 256 -f formapp-web
docker-compose --profile all logs --tail 256 -f gateway3. 停止所有服务
cd /data/bika
docker-compose --profile all down4. 启动所有服务
cd /data/bika
docker-compose --profile all up -d5. 停止单个服务
# 如 bika-web
docker-compose --profile all stop bika-web6. 启动单一个服务
# 如 bika-web
docker-compose --profile all up -d bika-web7. 修改环境变量
cd /data/bika
vim .env.local
cat .env.template .env.local > .env
docker-compose up -d示例, 修改邮箱配置 .env.local
# 系统邮件配置
SYSTEM_EMAIL_PROVIDER='{"provider": "smtp", "host": "smtp.host.com", "username": "sender@example.com", "password": "xxxx", "port": 465}'
SERVICE_EMAIL_PROVIDER='{"provider": "smtp", "host": "smtp.host.com", "username": "sender@example.com", "password": "xxxxx", "port": 465}'8. 节点扩缩容仅支持服务,每次只能操作单个服务,可多次执行:
- bika-web
- bika-server-doc
# 示例: 将 bika-web 扩到3节点
docker-compose --profile all up -d --scale bika-web=3 bika-web8.登录postgres 服务器
数据库至关重要,操作请严谨对待。
# 进入postgres 容器
docker exec -it bika-postgres-1 bash
#登录pogres 数据库
psql -U bika
# 查询数据(示例)
bika=#select * from "User" limit 3;\