Skip to content
This repository was archived by the owner on Dec 2, 2023. It is now read-only.

How to deploy ION to kubernetes?  #597

@ahmed-adly-khalil

Description

@ahmed-adly-khalil

Your environment.

  • Version: v1.10.0
  • Browser: latest chrome
  • Other Information -

What did you do?

I have deployed ION to Kubernetes, everything is working except for SFU unable to create peer connection, here is my deployment and service

apiVersion: apps/v1
kind: Deployment
metadata:
  name: ion-sfu
spec:
  selector:
    matchLabels:
      app: ion-sfu
  replicas: 1
  template:
    metadata:
      labels:
        app: ion-sfu
    spec:
      imagePullSecrets:
        - name: github-registry-key
      containers:
        - name: ion-sfu
          image: pionwebrtc/ion:latest-sfu
          imagePullPolicy: {{ .Values.image.pullPolicy }}
          ports:
            - containerPort: 3478

---
apiVersion: v1
kind: Service
metadata:
  name: ion-sfu
spec:
  type: ClusterIP
  ports:
    - protocol: TCP
      port: 3478
      targetPort: 3478
  selector:
    app: ion-sfu
---

once trying to get video streaming working, i'm getting the below in browser
Screen Shot 2022-01-15 at 1 45 05 AM

and the below in ION-SFU pod logs

[2022-01-15 06:22:51.406] [INFO] [peer.go:199] => PeerLocal got offer logger=ion-sfu-node/sfu peer_id=ahmed v=0
[2022-01-15 06:22:51.407] [DEBUG] [publisher.go:117] => ice connection status logger=ion-sfu-node/sfu state=checking v=1
[2022-01-15 06:22:51.407] [INFO] [peer.go:210] => PeerLocal send answer logger=ion-sfu-node/sfu peer_id=ahmed v=0
[2022-01-15 06:22:51.407] [DEBUG] [peer.go:165] => on publisher ice candidate called for peer logger=ion-sfu-node/sfu peer_id=ahmed v=1
[2022-01-15 06:22:51.407] DEBUG default: [service.go:145] [sfu.(*SFUService).Signal.func2] [S=>C] peer.OnIceCandidate: target = 0, candidate = candidate:706165708 1 udp 2130706431 45.79.247.128 5000 typ host 
[2022-01-15 06:22:51.407] DEBUG default: [service.go:238] [sfu.(*SFUService).Signal] [S=>C] join.description: answer v=0

I also updated the sfu.toml config to have my cluster public ip

nat1to1 = ["public ip"]

is there a way to know what's missing in the config?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions