Databuff
GitHub
Skip to content

中文  |  English

Kubernetes Operations Reference

Install, start/stop, access, and image management for the K8s deployment bundle. For the quick install path, see Kubernetes Installation.

Bundle Layout

After extracting the one-line install package:

databuff-ai-apm-k8s-<version>/
├── install.sh          # Fresh install (after uninstall)
├── start.sh            # Start in order (does not remove resources)
├── stop.sh             # Scale to 0; keeps Service / ConfigMap
├── download-images.sh
├── download-apm-images.sh
├── manifests/          # ZooKeeper, Doris, ingest, web
├── sql/
└── scripts/lib.sh

Default namespace: databuff. install.sh / start.sh use plain kubectl (no Helm): ZooKeeper + Doris → wait and run databuff.sql (skipped if tables exist) → ingest + web.

Start and Stop

bash
cd databuff-ai-apm-k8s-<version>
./install.sh    # Fresh install (cleans same-named resources first)
./start.sh      # Start only
./stop.sh       # Scale ingest / web / doris / zookeeper to 0

Access

ServiceIn-cluster portNodePort (node access)
Web2740332703
Ingest (OTLP gRPC)431730417
Ingest (OTLP HTTP)431830418

Example: Web UI at http://<node-ip>:32703; external OTLP HTTP at http://<node-ip>:30418 (gRPC at 30417). In-cluster Service ai-apm-ingest: http://ai-apm-ingest:4318.

Default login (same as Docker install):

  • Username: admin
  • Password: Databuff@123

Offline Images

When nodes cannot pull from a registry (amd64/arm64 auto-detected):

bash
curl -fsSL https://databuff.ai/databuff/ai-apm-k8s-download-images.sh | bash
# or from the bundle
./download-images.sh

k3s / containerd:

bash
export IMAGE_LOAD_CMD=ctr
curl -fsSL https://databuff.ai/databuff/ai-apm-k8s-download-images.sh | bash

Upgrade ingest / web images only (not Doris / ZooKeeper):

bash
curl -fsSL https://databuff.ai/databuff/ai-apm-k8s-download-apm-images.sh | bash
# or
./download-apm-images.sh

Ingest Scaling (Optional)

A single replica runs in standalone mode. With multiple replicas and cluster coordination enabled, ingest uses ZooKeeper for membership:

bash
kubectl scale deploy/ai-apm-ingest -n databuff --replicas=4
kubectl rollout status deploy/ai-apm-ingest -n databuff

Health Checks and Logs

ServiceProbe
Webkubectl exec -n databuff deploy/ai-apm-web -- wget -qO- http://127.0.0.1:27403/health
Ingestkubectl exec -n databuff deploy/ai-apm-ingest -- wget -qO- http://127.0.0.1:4318/health
bash
kubectl logs -n databuff deploy/ai-apm-ingest -f
kubectl logs -n databuff deploy/ai-apm-web -f

Common Issues

SymptomAction
Empty service listPoint Agent to http://ai-apm-ingest:4318 (NodePort outside cluster); see OTLP Ingestion
No alerts after creating rulesEnsure services have metrics; evaluation runs every minute; verify rule scope
Pod fails to startkubectl describe pod -n databuff <pod> for Events; check node memory

Notes

  • Doris uses emptyDir in demo manifests — re-run init SQL after Pod recreation.
  • Default resource limits match the Docker stack; see manifests/doris.yaml, ingest.yaml, web.yaml.

See Also