Kubernetes cluster
- A conforming Kubernetes cluster, version 1.29 or later. Any distribution works — managed (EKS, GKE, AKS, OKE) or self-managed. The reference architectures for AWS EKS and Oracle OKE are proven layouts.
- cgroup v2 on the nodes that run agents. Per-session CPU and memory metrics are sampled from the node’s cgroup filesystem, which must be the unified (v2) hierarchy — the default on recent distributions (Amazon Linux 2023, Ubuntu 22.04+, RHEL 9+). On cgroup v1 nodes, sessions run normally but resource metrics are unavailable and the dashboard says so; see Session metrics.
- Nodes for the architectures you intend to run. Agents are scheduled on
amd64orarm64nodes according to the architecture each deployment declares. Provide nodes for one or both, and declare what the region supports when you register it. - A namespace for agents that permits privileged pods. The package creates a workloads namespace (
pipecat-agentsby default) labeledpod-security.kubernetes.io/enforce: privileged, because agent pods currently mount a host path to read cgroup metrics. If you create the namespace yourself (for example, from a GitOps pipeline), apply that label; the install refuses to proceed without a usable namespace.
Platform prerequisites
Two cluster-scoped components must be installed before the region package, because the package’s own resources depend on their APIs being present:- cert-manager (tested with v1.18) — issues and renews the region’s certificates.
- trust-manager (tested with v0.24) — distributes the Pipecat Cloud trust anchor into the region.
crds.enabled=true for cert-manager) and wait for them to be ready before installing the region package. The package checks for their CRDs at install time and fails with a clear message if either is missing.
Network
A needs outbound access only. Nothing connects inbound to your cluster unless you choose to expose a WebSocket endpoint.
Egress through NAT is fine; no static IP addresses are required. Agent pods also need to reach the broker and, if enabled, the log store you configure.
Sizing the platform components
The platform components run in a system namespace (pipecat-system by default) with these defaults:
Plan roughly 6 vCPU and 8 GiB for the platform at default replica counts, on nodes with at least 4 allocatable vCPU. Several components request a full vCPU each, so nodes with 2 vCPU fit at most one of them and a
helm install --wait will time out with pods left pending.
Capacity for the agents themselves comes on top of this. Size it from your expected concurrency and the resources you assign per agent — a voice agent typically needs 0.5 vCPU and 1 GiB. A dedicated, autoscaled node pool for agent pods, as in the EKS reference architecture, keeps platform and agent capacity independent.
Supporting services
The package bundles a single-replica broker and, optionally, a single-node log store. Both are intended for evaluation only. A production region provides:- A Valkey- or Redis-compatible broker with TLS and password authentication, reachable from the cluster. The platform uses it for session activation and autoscaling signals.
- An OpenSearch cluster for agent logs — only if you enable the log store.
Your workstation
- The Pipecat CLI with the
pipecatcloudplugin, version or later, logged in to an organization that has self-hosted regions enabled. helm3.8 or later (for OCI registry support) andkubectl, configured for the target cluster.