I'm encountering an error while configuring TURN server discovery in my yaml file. The specific error message I'm receiving is "CirrusWrapper ERROR: turn discovery peer configuration error - Error: read ECONNRESET". I'm unsure how to resolve this issue. Could someone please provide guidance or suggestions on troubleshooting steps?
I would appreciate any insights, troubleshooting steps, or suggestions for resolving this issue. I need to ingrate Twilio with existing pixel-streaming setup
Here is my Yaml file
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/component: unrealengine
app.kubernetes.io/part-of: poc-on-eks
app.kubernetes.io/version: 0.0.1
app: stream
name: stream
namespace: poc
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/component: unrealengine
app.kubernetes.io/part-of: poc-on-eks
app.kubernetes.io/version: 0.0.1
app: stream
template:
metadata:
annotations:
prometheus.io/port: "9000"
prometheus.io/scrape: "true"
prometheus.io/path: "/metrics"
sidecar.istio.io/rewriteAppHTTPProbers: "true"
labels:
app: stream
app.kubernetes.io/component: unrealengine
app.kubernetes.io/name: stream
app.kubernetes.io/part-of: poc-on-eks
app.kubernetes.io/version: 0.0.1
version: 0.0.1
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: app.pixel/streamer
operator: Exists
containers:
- args:
- --configFile=/config/cirrus.json
- --httpPort=3000
- --streamerPort=8888
- --UseMatchmaker=true
- --MatchmakerAddress=matchmaker
- --MatchmakerPort=9999
- --useMatchmaker=true
- --matchmakerAddress=matchmaker
- --matchmakerPort=9999
- --ueRestEndpoint=http://localhost:8111
- --rtcConfigSvc=http://global.turn.twilio.com:3478?transport=udp
#- --rtcConfigSvc=http://turn-discovery:3000
- --metricsPort=9000
env:
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: EXTRA_PEERCONNECTION_OPTIONS
value: >-
--peerConnectionOptions={
"iceServers":[
{
"urls": ["stun:global.stun.twilio.com:3478","turn:global.turn.twilio.com:443?transport=tcp"],
"username": "<Username>",
"credential": "<password>"
}
]
}
- name: TWILIO_ACCOUNT_SID
value: <TWILIO_ACCOUNT_SID>
- name: TWILIO_AUTH_TOKEN
value: <TWILIO_AUTH_TOKEN>
image: ghcr.io/oracle-quickstart/oke-unreal-pixel-streaming/signalserver:latest
imagePullPolicy: Always
#livenessProbe:
# httpGet:
# path: /
# port: http
name: signaler
ports:
- containerPort: 3000
name: http
- containerPort: 8888
name: stream
- containerPort: 9000
name: metrics
#readinessProbe:
# httpGet:
# path: /
# port: http
volumeMounts:
- mountPath: /config
name: config
- env:
- name: SIGNAL_URL
value: ws://localhost:8888
envFrom:
- configMapRef:
name: pixel-stream-configs
image: ghcr.io/stevensu1977/ue4-pixelstreaming/actionrpg-project:latest
imagePullPolicy: IfNotPresent
name: streamer
ports:
- containerPort: 8111
name: rest
resources:
requests:
cpu: 500m
- args:
- -ec
- |
while true; do
# obtain player connections from metrics
export PLAYERS=$(curl -s "${SELF_METRICS}" | grep ^signalserver_player_socket_connections | awk '{print $2}')
# apply player connections as the pod deletion cost
kubectl annotate pod "${POD_NAME}" \
--namespace "${NAMESPACE}" \
--overwrite controller.kubernetes.io/pod-deletion-cost="${PLAYERS}" || true
sleep 10
done
command:
- /bin/sh
env:
- name: SELF_METRICS
value: http://localhost:9000/custom
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
image: ghcr.io/oracle-quickstart/oke-unreal-pixel-streaming/kubetools:latest
imagePullPolicy: Always
name: annotation-agent
resources:
requests:
cpu: 5m
serviceAccountName: stream-svc-account
terminationGracePeriodSeconds: 60
tolerations:
- key: "app.pixel/streamer"
operator: "Exists"
effect: "NoExecute"
volumes:
- configMap:
name: pixel-app-configs
name: config
---
apiVersion: v1
kind: Service
metadata:
labels:
app: stream-discovery
app.kubernetes.io/component: unrealengine
app.kubernetes.io/part-of: poc-on-eks
app.kubernetes.io/version: 0.0.1
name: stream-discovery
namespace: poc
spec:
clusterIP: None
ports:
- name: http
port: 3000
targetPort: 3000
selector:
app: stream
type: ClusterIP
---
apiVersion: v1
data:
EXTRA_ARGS: -RestApiPort=8111 -AllowPixelStreamingCommands -PixelStreamingHideCursor
-PixelStreamingWebRTCMaxFps=30 -PixelStreamingWebRTCDisableReceiveAudio -FullStdOutLogOutput
RES_X: "1920"
RES_Y: "1080"
kind: ConfigMap
metadata:
labels:
app.kubernetes.io/component: unrealengine
app.kubernetes.io/part-of: poc-on-eks
app.kubernetes.io/version: 0.0.1
name: pixel-stream-configs
namespace: poc