hi i need to install livekit server on kubernetes,...
# ask-ai
d
hi i need to install livekit server on kubernetes, give me simple explanation about how to setup this, espesially when need turn and ssl cert
t
Thanks for reaching out, Ariel. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
Hey there! To get your LiveKit server up and running on Kubernetes, just follow these simple steps: 1. Prerequisites: Make sure you have a Redis instance, SSL certificates, and a Kubernetes cluster all set up. Also, have Helm installed on your machine. 2. Add LiveKit Helm Repository: Run
helm repo add livekit <HELM_REPO_URL>
(just swap out
<HELM_REPO_URL>
with the right URL for the LiveKit Helm repo). 3. SSL Certificates: Bring in your SSL certificates as Kubernetes Secrets with:
kubectl create secret tls <name> --cert <cert-file> --key <key-file> --namespace <namespace>
4. TURN Server: Don’t forget to enable TURN in your
values.yaml
file. Here’s an example:
Copy code
livekit:
  turn:
    enabled: true
    domain: <http://turn.myhost.com|turn.myhost.com>
    tls_port: 3478
    secretName: <turn-tls-secret>
5. Create Configuration File: Take the
server-sample.yaml
as a starting point and tweak it with your own details. 6. Install LiveKit: Deploy it using Helm:
helm install <instance_name> livekit/livekit-server --namespace <namespace> --values values.yaml
7. Post-Installation: Remember to open the necessary firewall ports and update your DNS to point to the ingress/service you just created. If you hit any bumps or want me to walk you through any step, just give me a shout—I’m here to help! Sources: Deploy to Kubernetes | LiveKit Docs | Deploying LiveKit | LiveKit Docs | livekit-server/templates/NOTES.txt
d
my questions is the domain should direct to the node? or must throgh load balancer?
t
Hey! Just a quick heads-up: your LiveKit server's domain should point to a load balancer instead of directly to the nodes. This way, you get proper SSL/TLS termination and keep everything nice and secure. Think of the load balancer as the main gateway for the LiveKit SDKs (like
<wss://livekit.yourhost.com>
). If you'd like, I’m here to help you set up the load balancer or sort out the DNS records—just let me know! Sources: ingress-sample.yaml | Deploy to Kubernetes | LiveKit Docs
d
so where are the loadbalancer are ? in kube?
t
Hey there! Just a quick heads-up: the load balancer for your LiveKit setup is usually taken care of by your cloud provider and sits right in front of your Kubernetes cluster. It’s the one that helps route traffic and handles TLS termination for your LiveKit services. Here’s how it typically looks: • AWS: Uses Application Load Balancer (ALB) or Network Load Balancer (NLB). • Google Cloud (GKE): Uses Google Cloud Load Balancer. • Digital Ocean: Uses Digital Ocean's load balancer with cert-manager integration. The great news is that the LiveKit Helm chart sets up the load balancer automatically based on your cloud provider. If you want, I’m here to help with any specific setup or questions you might have! Sources: Deploy to Kubernetes | LiveKit Docs | livekit-server/templates/turnloadbalancer.yaml