prehistoric-printer-73777
08/12/2025, 3:33 PMtall-airline-16756
08/12/2025, 3:33 PMtall-airline-16756
08/12/2025, 3:33 PM<HELM_REPO_URL>
with the right URL for your Helm repo.
2. Create a values.yaml
file where you’ll set things like the Redis address, API keys, TURN settings, and load balancer options.
3. Import your SSL certificates into Kubernetes secrets: kubectl create secret tls <name> --cert <cert-file> --key <key-file> --namespace <namespace>
4. Install LiveKit with Helm: helm install <instance_name> livekit/livekit-server --namespace <namespace> --values values.yaml
5. Don’t forget to check your firewall settings to make sure the right ports are open.
Some important things to keep in mind:
• You’ll need a domain since it acts as the main endpoint for SDK connections.
• SSL certificates are a must for secure communication.
• Make sure your TURN/TLS and load balancer settings are correctly configured in your values.yaml
file.
If any of this feels tricky or you want a hand with any step, just give me a shout—I’m here to help!
Sources: Deploy to Kubernetes | LiveKit Docs | Deploy to Kubernetes | LiveKit Docsprehistoric-printer-73777
08/12/2025, 3:34 PMtall-airline-16756
08/12/2025, 3:35 PM<http://external-dns.alpha.kubernetes.io/internal-hostname|external-dns.alpha.kubernetes.io/internal-hostname>
annotation in your Service or Ingress resource to point to your internal DNS records. This will link to the internal IP.
2. If you’re working with a Service of type LoadBalancer
or ClusterIP
, configure it to use the internal IPs of your nodes.
3. For Ingress, just specify the internal hostname right in the annotations to make sure traffic goes to the internal IP.
4. Here’s a quick YAML example: `metadata:
annotations:
external-dns.alpha.kubernetes.io/internal-hostname: internal.example.com`This sets up an internal DNS record using your internal IP.
5. Don’t forget to tweak your Helm chart values to include those internal hostnames. You can check out the server-sample.yaml
file for some handy configuration ideas.
6. Make sure your Service type (LoadBalancer
, NodePort
, or ClusterIP
) is set up just right. If you’re using NodePort
, you might need to specify whether to use public or private IPs.
Follow these steps, and you’ll have LiveKit up and running on an internal IP in no time. If you hit any bumps or want a hand with anything else, just let me know—I’m here to help!
Sources: docs/sources/service.md | gclb-sample.yamlprehistoric-printer-73777
08/13/2025, 4:11 AMtall-airline-16756
08/13/2025, 4:11 AMkeys
section of your values.yaml
file like this: livekit:
keys:
your-api-key: your-api-secret
3. Or, if you prefer, you can set these up using environment variables or Kubernetes secrets for a more secure approach.
If you want, I’m here to help you through any of these steps—just let me know!