Deployment with Helm
This guide explains how to deploy the Inference Gateway using the official Helm charts. If you'd rather manage gateways and related resources declaratively as Custom Resources, see the Kubernetes Operator.
Prerequisites
- Kubernetes cluster (v1.30+)
- Helm installed (v3.8+)
- kubectl configured to access your cluster
Installation
Basic Gateway Deployment
Install the chart directly from OCI registry:
helm upgrade --install inference-gateway oci://ghcr.io/inference-gateway/charts/inference-gateway \
--namespace inference-gateway \
--create-namespace \
--version 0.23.1
To enable ingress for the basic deployment:
helm upgrade --install inference-gateway oci://ghcr.io/inference-gateway/charts/inference-gateway \
--namespace inference-gateway \
--create-namespace \
--set ingress.enabled=true \
--version 0.23.1
TLS Certificate Management
Option 1: Manual TLS Secret Creation
For production deployments, you can manually create a TLS secret with your certificates:
kubectl create secret tls inference-gateway-tls \
--namespace inference-gateway \
--cert=/path/to/tls.crt \
--key=/path/to/tls.key
Option 2: cert-manager (Recommended)
For production deployments, we recommend using cert-manager to automate certificate management. This approach automates certificate issuance and renewal:
- Install cert-manager if not already installed:
helm repo add jetstack https://charts.jetstack.io
helm repo update
helm upgrade --install cert-manager jetstack/cert-manager \
--namespace cert-manager \
--create-namespace \
--version v1.17.1 \
--set crds.enabled=true
- Create an Issuer or ClusterIssuer (example with Let's Encrypt):
kubectl apply -f - <<EOF
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: [email protected]
privateKeySecretRef:
name: letsencrypt-prod
solvers:
- http01:
ingress:
class: nginx
EOF
- Update your Helm installation to use cert-manager annotations by adding the cert-manager.io/cluster-issuer annotation to your ingress configuration.
With this setup, cert-manager will automatically request and manage TLS certificates from Let's Encrypt.
Configuration
To see the available configurations, run:
helm show values oci://ghcr.io/inference-gateway/charts/inference-gateway
Upgrading
To upgrade an existing installation:
helm upgrade --install inference-gateway oci://ghcr.io/inference-gateway/charts/inference-gateway \
--namespace inference-gateway \
-f values.yaml \
--version 0.23.1
Uninstalling
To completely remove the installation:
helm uninstall inference-gateway --namespace inference-gateway
# Remove the namespace
kubectl delete namespace inference-gateway
Checking Deployment Status
# Check running pods
kubectl get pods -n inference-gateway
# Check services
kubectl get svc -n inference-gateway
# Check ingress (if enabled)
kubectl get ingress -n inference-gateway
Chart Sources
The Helm chart sources are available at: