Comments (2)
Nice, thanks. What about adding a new subsection to the Jitsi tutorial README, something along the lines of "Enable health-checking" or similar?
Some notes:
- With the new (yet unreleased) version of STUNner you can add per-Gateway annotations: any annotation added to the Gateway will be automatically added to the LB service created by the STUNner operator to expose the Gateway. Gateway annotations override
GatewayConfig.Spec.LoadBalancerServiceAnnotations
on conflict.
apiVersion: stunner.l7mp.io/v1alpha1
kind: GatewayConfig
metadata:
name: stunner-gatewayconfig
namespace: stunner
spec:
authType: longterm
sharedSecret: "my-shared-secret"
---
apiVersion: gateway.networking.k8s.io/v1alpha2
kind: Gateway
metadata:
name: udp-gateway
namespace: stunner
annotations:
service.beta.kubernetes.io/do-loadbalancer-healthcheck-port: "8086"
service.beta.kubernetes.io/do-loadbalancer-healthcheck-protocol: "http"
service.beta.kubernetes.io/do-loadbalancer-healthcheck-path: "/live"
spec:
gatewayClassName: stunner-gatewayclass
listeners:
- name: health-check
port: 8086
protocol: TCP
- name: udp-listener
port: 3478
protocol: UDP
-
Multiprotocol LB services are not supported as of now, since support is fairly uneven across Kubernetes versions. The STUNner operator will remove the TCP service-port from the LB service it creates, leaving only the UDP port in. This means you will have to create the LB service to expose the Gateway manually: just copy the Service created by STUNner and add the missing service-ports.
-
In order to avoid having two LB Services for the Gateway (one created automatically and the manual copy), which usually costs extra $$$, we can fix the type of the service created by STUNner to ClusterIP by adding the special annotation
stunner.l7mp.io/service-type: ClusterIP
to the Gateway (or to the GatewayConfigloadBalancerServiceAnnotations
but that will affect all services created by STUNner). This will still create a service but the type will be ClusterIP so it will not be exposed to the Internet, and this usually does not cause extra $$$.
apiVersion: gateway.networking.k8s.io/v1alpha2
kind: Gateway
metadata:
name: udp-gateway
namespace: stunner
annotations:
stunner.l7mp.io/service-type: ClusterIP
service.beta.kubernetes.io/do-loadbalancer-healthcheck-port: "8086"
service.beta.kubernetes.io/do-loadbalancer-healthcheck-protocol: "http"
service.beta.kubernetes.io/do-loadbalancer-healthcheck-path: "/live"
spec:
gatewayClassName: stunner-gatewayclass
listeners:
- name: health-check
port: 8086
protocol: TCP
- name: udp-listener
port: 3478
protocol: UDP
from stunner.
Closing this due to inactivity. Feel free to reopen if the problem persists.
from stunner.
Related Issues (20)
- Question about debugging message on UDP gateway pod HOT 9
- Is stunner FedRamp compliant? HOT 11
- Meetecho Janus integration HOT 7
- turn ERROR: Failed to handle datagram: failed to create stun message from packet: unexpected EOF: not enough bytes to read header HOT 1
- Mixed protocol available for AWS? If not how to setup health check if not supported? HOT 3
- Does it work with MediaMTX (Whip) and can I choose the destination server with an API? HOT 8
- Gatteway API v1.0 incompatibility on GKE HOT 6
- UDP Gateway Error HOT 11
- srflx ICE candidate wrong ip? HOT 1
- SRS integration? HOT 5
- Extra question about horizontally scaled Stunner HOT 3
- Example app udp-greeter.yaml not working - help needed HOT 10
- v0.16.0 - Websocket error HOT 3
- v0.16.0 - Stunnerd pods get into state where they won't respond to TURN requests HOT 1
- Allow Gateways to request a specific NodePort in the automatically created Service HOT 4
- TURN connection breaks when the backend pod enters graceful shutdown HOT 4
- `stunnerctl config` does not fall back to the default namespace
- Help testing on AKS (Azure) HOT 1
- Media plane: Asymmetric ICE connection issues: no allocation found HOT 4
- Deployment in headless mode does not resolve public ip address of client HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stunner.