You must have a working Kubernetes cluster accessible via kubectl.
SQLite with a StatefulSet
Clone the Arize-Phoenix repository:
gitclonehttps://github.com/Arize-ai/phoenix.git
From the repository root, apply the kustomize configuration for SQLite:
kubectlapply-kkustomize/base
This will yield a single node deployment of Phoenix with a local SQLite.
Copy the manifest below into a file named phoenix.yaml.
# phoenix.yamlapiVersion:v1kind:Servicemetadata:labels:app:phoenixname:phoenixspec:ports: - port:443protocol:TCPtargetPort:6006selector:app:phoenixtype:ClusterIP---apiVersion:apps/v1kind:StatefulSetmetadata:name:phoenixnamespace:phoenixspec:replicas:1selector:matchLabels:app:phoenixtemplate:metadata:# Assume k8s pod service discovery for prometheusannotations:prometheus.io/path:/metricsprometheus.io/port:"9090"prometheus.io/scrape:"true"labels:app:phoenixspec:containers: - args: - -m - phoenix.server.main - servecommand: - pythonenv: - name:PHOENIX_WORKING_DIRvalue:/mnt/data# The version of phoenix you want should be used here image:docker.io/arizephoenix/phoenix:version-4.0.0ports: - containerPort:6006 - containerPort:4317 - containerPort:9090volumeMounts: - mountPath:/mnt/dataname:phoenixvolumeClaimTemplates: - metadata:name:phoenixspec:resources:requests:storage:8Gi
Apply the manifest:
kubectlapply-fphoenix.yaml
PostgreSQL
Manifests for PostgreSQL tend to be complex, so we recommend using kustomize.
Clone the Arize-Phoenix repository:
gitclonehttps://github.com/Arize-ai/phoenix.git
From the repository root, apply the kustomize configuration for PostgreSQL:
kubectlapply-kkustomize/backends/postgres
This will yield a single node deployment of Phoenix pointed to a remote PostgreSQL.