APITable Docs
操作

常用操作

K8S 集群版维护

所有示例应用程序都安装在命名空间:bika-app

helm 配置文件: bika-values.yaml

1. 检查服务的运行状态:

kubectl get pods -n bika-app

2. 检查服务日志:

kubectl -n bika-app get pod

3. 重启某个服务

kubectl  rollout restart deployment/bika-web -n bika-app

4. 配置变量

详细配置见 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-app

4. 更新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-app

5. 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 改为离线的

下载地址: https://apitable.getoutline.com/s/029f5827-a7af-49f5-b20d-fe56e537f4cb./../%E5%8F%82%E8%80%83/%E7%89%88%E6%9C%AC.md

# 下载离线版镜像包
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 593746

# 下载 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-app

Docker 单机版维护

1. 查看服务运行状态

cd /data/bika
docker-compose --profile all ps

2. 查看服务运行日志

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 gateway

3. 停止所有服务

cd /data/bika
docker-compose --profile all down

4. 启动所有服务

cd /data/bika
docker-compose --profile all up -d

5. 停止单个服务

# 如 bika-web
docker-compose --profile all stop bika-web

6. 启动单一个服务

# 如 bika-web
docker-compose --profile all up -d bika-web

7. 修改环境变量

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-web

8.登录postgres 服务器

数据库至关重要,操作请严谨对待。

# 进入postgres 容器
docker exec -it bika-postgres-1 bash

#登录pogres 数据库
psql -U bika

# 查询数据(示例)
bika=#select * from "User" limit 3;

\

On this page