厚瑜网站建设,服装电子商务网站版式设计,足球直播网站怎么做的,北京展厅设计公司科技展厅装修k8s部署srs服务
项目需要把srs纳入k8s进行管理#xff0c;需要通过k8s来部署srs服务然后原本的srs可以支持rtmp与webrtc两种#xff0c;官网查了部署方式#xff0c;k8s只有最基本的部署方式于是开始研究k8s部署能够正常推拉流的webrtc版本的srs 首先肯定是去官网查有无相关…k8s部署srs服务
项目需要把srs纳入k8s进行管理需要通过k8s来部署srs服务然后原本的srs可以支持rtmp与webrtc两种官网查了部署方式k8s只有最基本的部署方式于是开始研究k8s部署能够正常推拉流的webrtc版本的srs 首先肯定是去官网查有无相关资料https://ossrs.net/lts/zh-cn/docs/v5/doc/getting-started-k8s 选择通用k8s的配置,点开srs.yaml的配置
apiVersion: v1
kind: ConfigMap
metadata:name: srs-config
data:srs.conf: |-listen 1935;max_connections 1000;daemon off;http_api {enabled on;listen 1985;}http_server {enabled on;listen 8080;}vhost __defaultVhost__ {http_remux {enabled on;}hls {enabled on;hls_dispose 30;}}---apiVersion: apps/v1
kind: Deployment
metadata:name: srs-deploymentlabels:app: srs
spec:replicas: 1selector:matchLabels:app: srstemplate:metadata:labels:app: srsspec:volumes:- name: config-volumeconfigMap:name: srs-configcontainers:- name: srsimage: ossrs/srs:4ports:- containerPort: 1935- containerPort: 1985- containerPort: 8080volumeMounts:- name: config-volumemountPath: /usr/local/srs/conf---apiVersion: v1
kind: Service
metadata:name: srs-service
spec:type: LoadBalancerselector:app: srsports:- name: srs-service-1935-1935port: 1935protocol: TCPtargetPort: 1935- name: srs-service-1985-1985port: 1985protocol: TCPtargetPort: 1985- name: srs-service-8080-8080port: 8080protocol: TCPtargetPort: 8080
可以看到包含三个基础配置ConfigMapsrs-deploymentsrs-service但如果只是使用rtmp传输自然是毫无问题但是如果还需要使用webrtc功能那只开这些端口是不够的因为webrtc还需要有8000的udp端口然后还有webrtc需要的https配置文件也需要改成webrtc的
端口需要增加版本也切换为srs5.0
spec:containers:- image: ossrs/srs:5imagePullPolicy: IfNotPresentname: srsports:- containerPort: 1935protocol: TCP- containerPort: 1985protocol: TCP- containerPort: 8080protocol: TCP- containerPort: 8088protocol: TCP- containerPort: 8000protocol: UDP- containerPort: 1990protocol: TCP
然后service的端口也需要增加然后再按照对外映射的端口来连通就可以了ports:- name: srs-service-1935-1935nodePort: 31935port: 1935protocol: TCPtargetPort: 1935- name: srs-service-1985-1985nodePort: 31985port: 1985protocol: TCPtargetPort: 1985- name: srs-service-8080-8080nodePort: 31080port: 8080protocol: TCPtargetPort: 8080- name: srs-service-1990-1990nodePort: 31990port: 1990protocol: TCPtargetPort: 1990- name: srs-service-8000-8000nodePort: 31800port: 8000protocol: UDPtargetPort: 8000- name: srs-service-8088-8088nodePort: 31808port: 8088protocol: TCPtargetPort: 8088selector:app: srssessionAffinity: Nonetype: LoadBalancer启动完毕后就可以通过31808端口打开页面 贴一下yaml文件
apiVersion: apps/v1
kind: Deployment
metadata:name: srs-deploymentnamespace: wzhlabels:app: srs
spec:replicas: 1selector:matchLabels:app: srstemplate:metadata:labels:app: srsspec:volumes:- name: config-volumeconfigMap:name: srs-config- name: ssl-volumepersistentVolumeClaim:claimName: ssl-pvccontainers:- name: srsimage: ossrs/srs:5ports:- containerPort: 1935- containerPort: 1985- containerPort: 8080- containerPort: 8088- containerPort: 8000protocol: UDP- containerPort: 1990 volumeMounts:- name: config-volumemountPath: /usr/local/srs/conf- name: ssl-volumemountPath: /homenodeSelector:wzh: master
apiVersion: v1
kind: Service
metadata:name: srs-servicenamespace: wzh
spec:type: LoadBalancerselector:app: srsports:- name: srs-service-1935-1935nodePort: 31935port: 1935protocol: TCPtargetPort: 1935- name: srs-service-1985-1985nodePort: 31985port: 1985protocol: TCPtargetPort: 1985- name: srs-service-8080-8080nodePort: 31080port: 8080protocol: TCPtargetPort: 8080- name: srs-service-1990-1990nodePort: 31990port: 1990protocol: TCPtargetPort: 1990- name: srs-service-8000-8000nodePort: 31800port: 8000protocol: UDPtargetPort: 8000- name: srs-service-8088-8088nodePort: 31808port: 8088protocol: TCPtargetPort: 8088还有config的配置文件
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;http_api {enabled on;listen 1985;https {enabled on;listen 1990;key /home/server.key;cert /home/server.crt;}
}
stats {network 0;
}
http_server {enabled on;listen 8080;dir ./objs/nginx/html;https {enabled on;listen 8088;key /home/server.key;cert /home/server.crt;}
}
rtc_server {enabled on;listen 8000; # UDP port# see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidatecandidate 192.168.30.7:31800;
}
vhost __defaultVhost__ {hls {enabled on;}http_remux {enabled on;mount [vhost]/[app]/[stream].flv;}rtc {enabled on;# see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtcrtmp_to_rtc on;# see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmprtc_to_rtmp on;}
}