일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- docker
- HLS
- RTMP
- 행정구역분류
- Kubernetes
- Python
- VSCode
- dart
- nginx-media-server
- Sysinternals
- configmap
- aws cli
- spring cloud config
- Flutter
- Shell script
- deployment
- Pod
- kubectl
- aws
- macos
- service
- Windows10
- ebpf
- golang
- wireshark
- Android
- namespace
- ffmpeg
- android studio
- Java
Archives
- Today
- Total
woonizzooni
kubernetes - NGINX MEDIA SERVER 구동하기 본문
관련글
"Docker - NGINX MEDIA SERVER 만들기"
nginx-media-server : RTMP push스트림을 받아 RTMP/HLS/DASH 서빙.
github.com/woonizzooni/nginx-media-server
위 주소에 생성해놓은 스펙을 그대로 이용하는 것으로 설명함.
- Namespace 생성
apiVersion: v1
kind: Namespace
metadata:
name: nginx-ms
- Service 생성 :
- 여기가 조금 애매한데, Endpoint가 여러개일 경우 로드 밸런싱되니 직접 붙어 재생하는 것은 거의 불가능
- Endpoint가 여러 개일 경우 워크로드(Deployment)를 Origin으로 하고,
그 뒤에 Edge를 구성해서 Edge를 통해 스트리밍 되어야 하겠음.
kind: Service
metadata:
name: nginx-ms
namespace: nginx-ms
spec:
selector:
app: nginx-ms
ports:
- protocol: TCP
name: rtmp
port: 1935
targetPort: 1935
- protocol: TCP
name: http
port: 8080
targetPort: 8080
type: LoadBalancer
- Deployment 생성
- 일단 replicas를 1로 해서 노출된 Service를 통해 스트림 송/수신이 되도록 의도(?) 했음.
- 혹시 모를 2개 이상의 수 변경을 고려해서 podAntiAffinity설정을 해놨는데, 빼고 싶으면 빼도 됨.
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-ms
namespace: nginx-ms
spec:
replicas: 1
selector:
matchLabels:
app: nginx-ms
template:
metadata:
labels:
app: nginx-ms
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: nginx-ms
operator: In
values:
- nginx-ms
topologyKey: "kubernetes.io/hostname"
containers:
- name: nginx-ms
image: woonizzooni/nginx-media-server:latest
imagePullPolicy: Always
ports:
- containerPort: 1935
- containerPort: 8080
readinessProbe:
httpGet:
path: /
port: 8080
initialDelaySeconds: 10
periodSeconds: 10
livenessProbe:
httpGet:
path: /
port: 8080
initialDelaySeconds: 10
periodSeconds: 10
dnsConfig:
options:
- name: ndots
value: "1"
'Kubernetes' 카테고리의 다른 글
kubectl & aws-iam-authenticator설치 (windows10) (0) | 2021.05.24 |
---|---|
kubernetes - kubectl명령으로 node에 실행중인 모든 pod 조회하기 using field-selector (0) | 2020.11.09 |
kubernetes - network trouble-shooting tools관련 (0) | 2020.11.05 |
kubernetes - zookeeper 구성 (0) | 2020.11.05 |
kubernetes - kubectl JSONPath 사용 예제 (0) | 2020.11.05 |
Comments