multitenant-up 用于在本地 Kubernetes 上启动 duckgres 的多租户控制平面,适合在多租户模式下测试 duckgres 的场景。
一、用途 在本地 Kubernetes 环境中构建、部署并端口转发 duckgres 的多租户控制平面,以便进行多租户模式下的测试。
二、主要能力
- 一键启动多租户 K8s 栈。
- 清理并重新建立端口转发,映射以下端口:5432、8815、9090。
- 从控制平面日志中提取管理员 API 令牌。
- 从控制平面容器中导出 Flight SQL 客户端所需的 TLS 证书到本地。
- 向用户报告管理后台地址、令牌、PostgreSQL 连接命令、Flight SQL (DuckDB) 连接命令以及默认凭据。
三、使用方式
- 构建并部署:
just run-multitenant-local
- 清理旧的端口转发并启动新的端口转发:
pkill -f 'port-forward.*duckgres' 2>/dev/null; sleep 1 kubectl -n duckgres port-forward svc/duckgres 5432:5432 &>/dev/null & kubectl -n duckgres port-forward svc/duckgres 8815:8815 &>/dev/null & kubectl -n duckgres port-forward deployment/duckgres-control-plane 9090:9090 &>/dev/null &
- 获取管理员 API 令牌:
kubectl -n duckgres logs deployment/duckgres-control-plane | grep 'admin API token'
- 导出 Flight SQL 客户端使用的 TLS 证书:
kubectl -n duckgres exec deployment/duckgres-control-plane -- cat /certs/server.crt > /tmp/duckgres-server.crt
- 向用户报告:
- 管理后台:http://localhost:9090(展示令牌)
- PG:PGSSLMODE=require PGPASSWORD=postgres psql -h localhost -U postgres
- Flight SQL (DuckDB):GRPC_DEFAULT_SSL_ROOTS_FILE_PATH=/tmp/duckgres-server.crt duckdb,然后安装并加载扩展:INSTALL duckhog FROM community; LOAD duckhog; ATTACH 'hog:memory?user=postgres&password=postgres&flight_server=grpc+tls://localhost:8815' AS mt;
- 默认凭据:postgres / postgres
四、适用场景 需要在本地以多租户模式测试 duckgres 的开发或集成验证场景。
五、限制 资料未提供关于生产环境部署、收费、价格、性能或规模上限等信息。仅描述了本地 Kubernetes 上的启动与连接方式。