
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
STUNner Kubernetes Gateway Operator(简称STUNner)是基于Kubernetes Gateway API的STUN/TURN协议网关操作器,专为容器化实时媒体通信应用设计。它实现了NAT(网络地址转换)穿透功能,通过标准化协议(RFC 5389、RFC 5766、RFC 8656)解决跨网络环境下的连接建立问题,支持WebRTC、视频会议、实时游戏等低延迟媒体应用在Kubernetes集群中稳定部署。
Kubernetes原生集成:遵循Kubernetes Gateway API规范,通过自定义资源(CR)实现声明式配置,支持与现有Kubernetes网络组件无缝协作。
动态协议支持:完整实现STUN(NAT类型检测)和TURN(中继服务)协议,支持UDP、TCP传输层协议,适应不同网络环境需求。
高可用性设计:支持多副本部署、自动扩缩容和故障自愈,通过Kubernetes控制器模式确保网关服务持续可用。
安全增强:内置TLS/DTLS加密、长期凭证认证机制,支持访问控制策略,保护媒体流传输安全。
可观测性集成:暴露Prometheus指标接口和结构化日志,支持与Grafana、ELK等监控工具集成,便于性能分析和问题排查。
灵活路由能力:通过UDPRoute/TCPRoute资源定义媒体流转发规则,支持基于命名空间、端口、主机名的精细化流量控制。
前置条件
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.0.0/standard-install.yaml安装)Helm安装
bash# 添加STUNner Helm仓库 helm repo add stunner https://l7mp.io/stunner helm repo update # 安装STUNner Operator(默认命名空间:stunner-system) helm install stunner stunner/stunner --namespace stunner-system --create-namespace
1. 定义GatewayClass
yamlapiVersion: gateway.networking.k8s.io/v1beta1 kind: GatewayClass metadata: name: stunner-gatewayclass spec: controllerName: stunner.l7mp.io/gateway-controller # STUNner控制器标识 parametersRef: group: stunner.l7mp.io kind: GatewayConfig name: stunner-default-config # 可选:引用自定义配置
2. 创建Gateway资源
yamlapiVersion: gateway.networking.k8s.io/v1beta1 kind: Gateway metadata: name: stunner-media-gateway namespace: media-app spec: gatewayClassName: stunner-gatewayclass listeners: - name: stun-udp protocol: UDP port: 3478 # STUN默认端口 hostname: "stunner.example.com" allowedRoutes: namespaces: from: Selector selector: matchLabels: app: media-service - name: turn-tcp protocol: TCP port: 3479 # TURN TCP端口 hostname: "stunner.example.com"
3. 配置媒体流路由(UDPRoute)
yamlapiVersion: gateway.networking.k8s.io/v1alpha2 kind: UDPRoute metadata: name: media-service-route namespace: media-app spec: parentRefs: - name: stunner-media-gateway namespace: media-app rules: - backendRefs: - name: media-server-svc # 目标媒体服务Service port: 8080 # 媒体服务监听端口
STUNner Operator支持通过环境变量调整运行参数,常用配置如下:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
METRICS_PORT | 指标暴露端口 | 8080 |
HEALTH_PORT | 健康检查端口 | 8081 |
CONTROLLER_NAME | GatewayClass控制器标识 | stunner.l7mp.io/gateway-controller |
STUNNER_CONFIG | 自定义配置文件路径 | /etc/stunner/config.yaml |
如需本地Docker环境测试(需连接Kubernetes集群):
bashdocker run -d \ --name stunner-operator \ -e POD_NAMESPACE=stunner-system \ -e KUBERNETES_SERVICE_HOST=<kube-apiserver-ip> \ -e KUBERNETES_SERVICE_PORT=6443 \ -v /path/to/kubeconfig:/root/.kube/config \ l7mp/stunner-operator:latest
注意:本地测试需确保容器可访问Kubernetes API,建议通过挂载
kubeconfig文件或配置KUBERNETES_SERVICE_HOST/KUBERNETES_SERVICE_PORT环境变量实现。
authType: long-term)和TLS加密,避免未授权访问和数据泄露。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务