add
This commit is contained in:
24
1-outside-deploy/2-helm-chart/charts/minio-pv/.helmignore
Normal file
24
1-outside-deploy/2-helm-chart/charts/minio-pv/.helmignore
Normal file
@@ -0,0 +1,24 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*.orig
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
ci/*
|
||||
16
1-outside-deploy/2-helm-chart/charts/minio-pv/Chart.yaml
Normal file
16
1-outside-deploy/2-helm-chart/charts/minio-pv/Chart.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
apiVersion: v2
|
||||
name: minio-pv
|
||||
description: uavcloud minio pv automate
|
||||
|
||||
type: application
|
||||
|
||||
version: 1.1.0
|
||||
|
||||
appVersion: 2.2.2
|
||||
|
||||
keywords:
|
||||
- uavcloud
|
||||
- middleware
|
||||
- template
|
||||
- minio
|
||||
- chinamobile
|
||||
@@ -0,0 +1,6 @@
|
||||
apiVersion: storage.k8s.io/v1
|
||||
kind: StorageClass
|
||||
metadata:
|
||||
name: local-storage # 不要修改!
|
||||
provisioner: kubernetes.io/no-provisioner
|
||||
volumeBindingMode: WaitForFirstConsumer
|
||||
@@ -0,0 +1,92 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: minio-data-pv-1
|
||||
spec:
|
||||
capacity:
|
||||
storage: 5Gi # 不要修改!
|
||||
volumeMode: Filesystem
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-storage
|
||||
local:
|
||||
path: /hostStorage/pv1 # 不要修改!
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- 192.168.35.70 # 批量替换这里
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: minio-data-pv-2
|
||||
spec:
|
||||
capacity:
|
||||
storage: 5Gi
|
||||
volumeMode: Filesystem
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-storage
|
||||
local:
|
||||
path: /hostStorage/pv2 # 不要修改!
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- 192.168.35.70
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: minio-data-pv-3
|
||||
spec:
|
||||
capacity:
|
||||
storage: 5Gi
|
||||
volumeMode: Filesystem
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-storage
|
||||
local:
|
||||
path: /hostStorage/pv3
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- 192.168.35.70
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: minio-data-pv-4
|
||||
spec:
|
||||
capacity:
|
||||
storage: 5Gi
|
||||
volumeMode: Filesystem
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-storage
|
||||
local:
|
||||
path: /hostStorage/pv4
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- 192.168.35.70
|
||||
@@ -0,0 +1,8 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
accesskey: bEpGOXFKN281VTNQMmlsYg==
|
||||
secretkey: QTJNNngxbWh2M3VkbDBBa3BER3U3R2RoSmNYaFVLSW4=
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: default-creds-secret
|
||||
namespace: default
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
data:
|
||||
CONSOLE_ACCESS_KEY: bEpGOXFKN281VTNQMmlsYg==
|
||||
CONSOLE_SECRET_KEY: QTJNNngxbWh2M3VkbDBBa3BER3U3R2RoSmNYaFVLSW4=
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: default-user-1
|
||||
namespace: default
|
||||
@@ -0,0 +1,46 @@
|
||||
apiVersion: minio.min.io/v2
|
||||
kind: Tenant
|
||||
metadata:
|
||||
name: default-minio-config
|
||||
namespace: default
|
||||
scheduler:
|
||||
name: ""
|
||||
spec:
|
||||
certConfig: {}
|
||||
credsSecret:
|
||||
name: default-creds-secret
|
||||
image: minio/minio:RELEASE.2022-03-26T06-49-28Z
|
||||
imagePullSecret: {}
|
||||
exposeServices: {}
|
||||
mountPath: /export # 这里随意 写什么都可以
|
||||
requestAutoCert: false
|
||||
users:
|
||||
- name: default-user-1
|
||||
pools:
|
||||
- affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- 192.168.35.70 # 修改这里!
|
||||
servers: 4
|
||||
volumesPerServer: 1
|
||||
resources:
|
||||
requests:
|
||||
cpu: "1"
|
||||
memory: 1Gi
|
||||
volumeClaimTemplate:
|
||||
apiVersion: v1
|
||||
kind: persistentvolumeclaims
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: "2000000000" # 2GBi
|
||||
storageClassName: local-storage
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: minio-oss-nodeport-svc
|
||||
namespace: eurdeu # 需要修改
|
||||
spec:
|
||||
selector:
|
||||
v1.min.io/tenant: oss-dev # 需要修改
|
||||
type: NodePort
|
||||
ports:
|
||||
- name: 'http-minio'
|
||||
protocol: TCP
|
||||
targetPort: 9000
|
||||
port: 39000
|
||||
nodePort: 39000 # 需要修改
|
||||
- name: 'http-console'
|
||||
protocol: TCP
|
||||
targetPort: 9090
|
||||
port: 39090
|
||||
nodePort: 39090 # 需要修改
|
||||
sessionAffinity: None
|
||||
@@ -0,0 +1,41 @@
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: minio-ingress
|
||||
namespace: default # 需要修改
|
||||
labels:
|
||||
cmii.app: minio
|
||||
cmii.type: middle-ware
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: "nginx"
|
||||
nginx.ingress.kubernetes.io/enable-cors: "true"
|
||||
nginx.ingress.kubernetes.io/proxy-body-size: "5120m"
|
||||
spec:
|
||||
tls:
|
||||
- hosts:
|
||||
- oss.dev.uavcmlc.com # 批量替换
|
||||
- oss-cs.dev.uavcmlc.com # 批量替换
|
||||
secretName: x.dev.uavcmlc.com-tls
|
||||
|
||||
rules:
|
||||
- host: oss.dev.uavcmlc.com
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: oss-dev-hl
|
||||
port:
|
||||
number: 9000
|
||||
path: /
|
||||
pathType: ImplementationSpecific
|
||||
|
||||
- host: oss-cs.dev.uavcmlc.com
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: oss-dev-console
|
||||
port:
|
||||
number: 9090
|
||||
path: /
|
||||
pathType: ImplementationSpecific
|
||||
@@ -0,0 +1,185 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: minio-data-pv-1
|
||||
spec:
|
||||
capacity:
|
||||
storage: 5Gi # 不要修改!
|
||||
volumeMode: Filesystem
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-storage
|
||||
local:
|
||||
path: /hostStorage/pv1 # 不要修改!
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- 192.168.8.68 # 批量替换这里
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: minio-data-pv-2
|
||||
spec:
|
||||
capacity:
|
||||
storage: 5Gi
|
||||
volumeMode: Filesystem
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-storage
|
||||
local:
|
||||
path: /hostStorage/pv2 # 不要修改!
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- 192.168.8.68
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: minio-data-pv-3
|
||||
spec:
|
||||
capacity:
|
||||
storage: 5Gi
|
||||
volumeMode: Filesystem
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-storage
|
||||
local:
|
||||
path: /hostStorage/pv3
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- 192.168.8.68
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: minio-data-pv-4
|
||||
spec:
|
||||
capacity:
|
||||
storage: 5Gi
|
||||
volumeMode: Filesystem
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-storage
|
||||
local:
|
||||
path: /hostStorage/pv4
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- 192.168.8.68
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: minio-data-pv-5
|
||||
spec:
|
||||
capacity:
|
||||
storage: 5Gi
|
||||
volumeMode: Filesystem
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-storage
|
||||
local:
|
||||
path: /hostStorage/pv5
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- 192.168.8.68
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: minio-data-pv-6
|
||||
spec:
|
||||
capacity:
|
||||
storage: 5Gi
|
||||
volumeMode: Filesystem
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-storage
|
||||
local:
|
||||
path: /hostStorage/pv6
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- 192.168.8.68
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: minio-data-pv-7
|
||||
spec:
|
||||
capacity:
|
||||
storage: 5Gi
|
||||
volumeMode: Filesystem
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-storage
|
||||
local:
|
||||
path: /hostStorage/pv7
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- 192.168.8.68
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: minio-data-pv-8
|
||||
spec:
|
||||
capacity:
|
||||
storage: 5Gi
|
||||
volumeMode: Filesystem
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-storage
|
||||
local:
|
||||
path: /hostStorage/pv8
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- 192.168.8.68
|
||||
---
|
||||
@@ -0,0 +1,8 @@
|
||||
apiVersion: v1
|
||||
data:
|
||||
accesskey: b3NzdXNlcg==
|
||||
secretkey: VGdHaUFIeEYuckBRNg==
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: default-creds-secret
|
||||
namespace: eurdeu
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
data:
|
||||
CONSOLE_ACCESS_KEY: b3NzdXNlcg==
|
||||
CONSOLE_SECRET_KEY: VGdHaUFIeEYuckBRNg==
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: default-user-1
|
||||
namespace: eurdeu
|
||||
@@ -0,0 +1,46 @@
|
||||
apiVersion: minio.min.io/v2
|
||||
kind: Tenant
|
||||
metadata:
|
||||
name: default-minio-config
|
||||
namespace: eurdeu # 注意这里 # 需要修改
|
||||
scheduler:
|
||||
name: ""
|
||||
spec:
|
||||
certConfig: {}
|
||||
credsSecret:
|
||||
name: default-creds-secret
|
||||
image: 192.168.8.65:8033/cmii/minio:RELEASE.2022-03-26T06-49-28Z
|
||||
imagePullSecret: {}
|
||||
exposeServices: {}
|
||||
mountPath: /export # 这里随意 写什么都可以
|
||||
requestAutoCert: false
|
||||
users:
|
||||
- name: default-user-1
|
||||
pools:
|
||||
- affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- 192.168.8.68 # 修改这里!
|
||||
servers: 8
|
||||
volumesPerServer: 1
|
||||
resources:
|
||||
requests:
|
||||
cpu: "1"
|
||||
memory: 1Gi
|
||||
volumeClaimTemplate:
|
||||
apiVersion: v1
|
||||
kind: persistentvolumeclaims
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: "2000000000" # 2GBi
|
||||
storageClassName: local-storage # 注意这里
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
export namespace=eurdeu
|
||||
|
||||
for kind in pv
|
||||
do
|
||||
# kubectl -n $namespace get $kind | awk '{print$1}'
|
||||
kubectl -n $namespace delete $kind $(kubectl -n $namespace get $kind | awk '{print$1}')
|
||||
done
|
||||
@@ -0,0 +1 @@
|
||||
minio pv has been deployed successfully!
|
||||
@@ -0,0 +1,239 @@
|
||||
{{- define "srs-cluster.config.apilist" -}}
|
||||
{{- range $i, $e := int .Values.srs.replicas.origin | until }} helm-srs-og-{{ $i }}.srsog:{{ $.Values.srs.ports.cluster.api }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "srs-cluster.config.rtmplist" -}}
|
||||
{{- range $i, $e := int .Values.srs.replicas.origin | until }} helm-srs-og-{{ $i }}.srsog:{{ $.Values.srs.ports.cluster.rtmp }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "srs-cluster.config.hooks" -}}
|
||||
http_hooks {
|
||||
enabled on;
|
||||
on_publish {{ .Values.srs.hooks.on_publish }};
|
||||
on_unpublish {{ .Values.srs.hooks.on_unpublish }};
|
||||
on_play {{ .Values.srs.hooks.on_play }};
|
||||
}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "srs-cluster.config.origin" -}}
|
||||
listen {{ .Values.srs.ports.cluster.rtmp }};
|
||||
max_connections 4096;
|
||||
srs_log_tank console;
|
||||
srs_log_file /home/srs.log;
|
||||
daemon off;
|
||||
http_api {
|
||||
enabled on;
|
||||
listen {{ .Values.srs.ports.cluster.api }};
|
||||
crossdomain on;
|
||||
raw_api {
|
||||
enabled on;
|
||||
allow_reload on;
|
||||
allow_query on;
|
||||
allow_update on;
|
||||
}
|
||||
}
|
||||
stats {
|
||||
network 0;
|
||||
}
|
||||
{{- if lt .Values.srs.replicas.origin 2.0 }}
|
||||
rtc_server {
|
||||
enabled on;
|
||||
listen {{ .Values.srs.ports.cluster.realPublicWebRTC }};
|
||||
candidate $CANDIDATE;
|
||||
}
|
||||
{{- end }}
|
||||
vhost __defaultVhost__ {
|
||||
cluster {
|
||||
origin_cluster on;
|
||||
coworkers {{ include "srs-cluster.config.apilist" . }};
|
||||
}
|
||||
http_hooks {
|
||||
enabled off;
|
||||
}
|
||||
{{- if lt .Values.srs.replicas.origin 2.0 }}
|
||||
rtc {
|
||||
enabled on;
|
||||
bframe discard;
|
||||
}
|
||||
{{- end }}
|
||||
tcp_nodelay on;
|
||||
min_latency on;
|
||||
play {
|
||||
gop_cache off;
|
||||
mw_latency 0;
|
||||
mw_msgs 0;
|
||||
}
|
||||
publish {
|
||||
mr off;
|
||||
}
|
||||
dvr {
|
||||
enabled on;
|
||||
dvr_path /home/srs/dvr/[app]/[2006][01]/[stream]/[timestamp].mp4;
|
||||
dvr_plan session;
|
||||
}
|
||||
hls {
|
||||
enabled on;
|
||||
hls_path /home/srs/hls/default;
|
||||
hls_fragment 10;
|
||||
hls_window 60;
|
||||
hls_m3u8_file [stream]/[app].m3u8;
|
||||
hls_ts_file [stream]/[app]-[timestamp]-[duration].ts;
|
||||
hls_cleanup off;
|
||||
}
|
||||
}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "srs-cluster.config.edge" -}}
|
||||
listen {{ .Values.srs.ports.cluster.rtmp }};
|
||||
max_connections 4096;
|
||||
srs_log_tank console;
|
||||
srs_log_file /home/srs.log;
|
||||
daemon off;
|
||||
http_api {
|
||||
enabled on;
|
||||
listen {{ .Values.srs.ports.cluster.api }};
|
||||
crossdomain on;
|
||||
raw_api {
|
||||
enabled on;
|
||||
allow_reload on;
|
||||
allow_query on;
|
||||
allow_update on;
|
||||
}
|
||||
}
|
||||
http_server {
|
||||
enabled on;
|
||||
listen {{ .Values.srs.ports.cluster.flv }};
|
||||
dir /home/srs/;
|
||||
}
|
||||
stats {
|
||||
network 0;
|
||||
}
|
||||
vhost __defaultVhost__ {
|
||||
cluster {
|
||||
mode remote;
|
||||
origin {{ include "srs-cluster.config.rtmplist" . }};
|
||||
}
|
||||
{{ if .Values.srs.config.enableHooks }}
|
||||
{{- include "srs-cluster.config.hooks" . }}
|
||||
{{- end }}
|
||||
http_remux {
|
||||
enabled on;
|
||||
}
|
||||
tcp_nodelay on;
|
||||
min_latency on;
|
||||
play {
|
||||
gop_cache off;
|
||||
mw_latency 0;
|
||||
mw_msgs 0;
|
||||
}
|
||||
publish {
|
||||
mr off;
|
||||
}
|
||||
}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "srs-cluster.config.rtc" -}}
|
||||
listen {{ .Values.srs.ports.rtc.rtmp }};
|
||||
max_connections 4096;
|
||||
srs_log_tank console;
|
||||
srs_log_file /home/srs.log;
|
||||
daemon on;
|
||||
http_api {
|
||||
enabled on;
|
||||
listen {{ .Values.srs.ports.rtc.api }};
|
||||
crossdomain on;
|
||||
}
|
||||
stats {
|
||||
network 0;
|
||||
}
|
||||
http_server {
|
||||
enabled on;
|
||||
listen {{ .Values.srs.ports.rtc.flv }};
|
||||
dir /home/srs/;
|
||||
}
|
||||
rtc_server {
|
||||
enabled on;
|
||||
listen {{ .Values.srs.ports.rtc.webrtc }};
|
||||
candidate $CANDIDATE;
|
||||
}
|
||||
vhost __defaultVhost__ {
|
||||
http_hooks {
|
||||
enabled off;
|
||||
}
|
||||
http_remux {
|
||||
enabled on;
|
||||
}
|
||||
rtc {
|
||||
enabled on;
|
||||
bframe discard;
|
||||
}
|
||||
tcp_nodelay on;
|
||||
min_latency on;
|
||||
play {
|
||||
gop_cache off;
|
||||
mw_latency 0;
|
||||
mw_msgs 0;
|
||||
}
|
||||
publish {
|
||||
mr off;
|
||||
}
|
||||
dvr {
|
||||
enabled on;
|
||||
dvr_path /home/srs/dvr/[app]/[2006][01]/[stream]/[timestamp].mp4;
|
||||
dvr_plan session;
|
||||
}
|
||||
hls {
|
||||
enabled on;
|
||||
hls_path /home/srs/hls/default;
|
||||
hls_fragment 10;
|
||||
hls_window 60;
|
||||
hls_m3u8_file [app]/[stream].m3u8;
|
||||
hls_ts_file [app]/[2006][01]/[stream]/[timestamp]-[duration].ts;
|
||||
hls_cleanup off;
|
||||
}
|
||||
}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "srs-cluster.config.nginx" -}}
|
||||
user root;
|
||||
worker_processes 1;
|
||||
|
||||
error_log /var/log/nginx/error.log warn;
|
||||
pid /var/run/nginx.pid;
|
||||
|
||||
events {
|
||||
use epoll;
|
||||
worker_connections 65535;
|
||||
multi_accept on;
|
||||
}
|
||||
|
||||
http {
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
'$status $body_bytes_sent "$http_referer" '
|
||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||
|
||||
access_log /var/log/nginx/access.log main;
|
||||
server_tokens off;
|
||||
|
||||
sendfile on;
|
||||
#tcp_nopush on;
|
||||
|
||||
tcp_nodelay on;
|
||||
keepalive_timeout 120;
|
||||
|
||||
server {
|
||||
listen {{ .Values.srs.ports.nginx.hls }};
|
||||
server_name _;
|
||||
location / {
|
||||
root /home/srs/hls/default;
|
||||
autoindex on;
|
||||
autoindex_exact_size off;
|
||||
}
|
||||
}
|
||||
}
|
||||
{{- end -}}
|
||||
@@ -0,0 +1,24 @@
|
||||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
*/}}
|
||||
{{- define "srs-cluster.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create the node affinity to determine the deployment of environment
|
||||
*/}}
|
||||
{{- define "srs-cluster.affinity" -}}
|
||||
{{- with .Values.global.affinity }}
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: uavcloud.env
|
||||
operator: In
|
||||
values:
|
||||
- {{ .k8sNodeEnv }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,49 @@
|
||||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Kubernetes standard labels
|
||||
*/}}
|
||||
{{- define "srs-cluster.labels.standard" -}}
|
||||
cmii.app: {{ .Values.srs.name }}
|
||||
cmii.type: middleware
|
||||
helm.sh/chart: {{ include "srs-cluster.chart" . }}
|
||||
app.kubernetes.io/managed-by: {{ $.Release.Service }}
|
||||
{{- if $.Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ $.Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "srs-cluster.labels.origin" -}}
|
||||
srs-role: origin
|
||||
{{ include "srs-cluster.labels.standard" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "srs-cluster.labels.edge" -}}
|
||||
srs-role: edge
|
||||
{{ include "srs-cluster.labels.standard" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "srs-cluster.labels.nginx" -}}
|
||||
srs-role: nginx
|
||||
{{ include "srs-cluster.labels.standard" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "srs-cluster.labels.rtc" -}}
|
||||
srs-role: rtc
|
||||
{{ include "srs-cluster.labels.standard" . }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Labels to use on deploy.spec.selector.matchLabels and svc.spec.selector
|
||||
*/}}
|
||||
{{- define "srs-cluster.matchLabels.origin" -}}
|
||||
srs-role: origin
|
||||
{{- end -}}
|
||||
{{- define "srs-cluster.matchLabels.edge" -}}
|
||||
srs-role: edge
|
||||
{{- end -}}
|
||||
{{- define "srs-cluster.matchLabels.nginx" -}}
|
||||
srs-role: nginx
|
||||
{{- end -}}
|
||||
{{- define "srs-cluster.matchLabels.rtc" -}}
|
||||
srs-role: rtc
|
||||
{{- end -}}
|
||||
74
1-outside-deploy/2-helm-chart/charts/minio-pv/values.yaml
Normal file
74
1-outside-deploy/2-helm-chart/charts/minio-pv/values.yaml
Normal file
@@ -0,0 +1,74 @@
|
||||
|
||||
enabled: true
|
||||
|
||||
global:
|
||||
middlewareService:
|
||||
type: NodePort
|
||||
affinity: { }
|
||||
nodeAffinityPreset:
|
||||
type: hard
|
||||
key: uavcloud.env
|
||||
values:
|
||||
- demo
|
||||
|
||||
srs:
|
||||
name: helm-srs
|
||||
image:
|
||||
register: docker.io
|
||||
repository: docker.io/ossrs
|
||||
name: srs
|
||||
tag: v4.0.136
|
||||
replicas:
|
||||
origin: 1
|
||||
edge: 2
|
||||
# 一般情况下,不部署nginx
|
||||
nginx: 2
|
||||
# 一般情况下,不部署rtc
|
||||
rtc: 1
|
||||
config:
|
||||
# 指向 configMap中的 CANDIDATE,需要根据实际情况修改为集群的对外暴露域名或者IP地址
|
||||
domain: ig-dev.uavcmlc.com
|
||||
pvc: glusterfs-middleware-srs-pvc
|
||||
enableTLS: true
|
||||
# 一般情况下,不部署nginx
|
||||
enableNginxHLS: false
|
||||
# 一般情况下,不部署rtc
|
||||
enableRTC: false
|
||||
# 不知道该 hook有什么用
|
||||
enableHooks: false
|
||||
# 此参数被代替
|
||||
enableRandomPorts: true
|
||||
hooks:
|
||||
# 此部分是干什么的? 29999一般是为GDR服务预留的
|
||||
on_publish: http://192.168.11.137:29999/video_stream/on_publish
|
||||
on_unpublish: http://192.168.11.137:29999/video_stream/on_unpublish
|
||||
on_play: http://192.168.11.137:29999/video_stream/on_play
|
||||
ports:
|
||||
cluster:
|
||||
rtmp: 31935
|
||||
api: 31985
|
||||
flv: 30080
|
||||
webrtc: 30090
|
||||
# 需要根据实际部署环境,映射的实际公网端口修改
|
||||
realPublicWebRTC: 11005
|
||||
rtc:
|
||||
rtmp: 41935
|
||||
api: 41985
|
||||
flv: 40080
|
||||
webrtc: 40090
|
||||
nginx:
|
||||
hls: 40088
|
||||
nginx:
|
||||
repository: nginx
|
||||
tag: 1.19.10
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
|
||||
resources:
|
||||
limits:
|
||||
memory: 4Gi
|
||||
cpu: "2"
|
||||
requests:
|
||||
memory: 128Mi
|
||||
cpu: 50m
|
||||
Reference in New Issue
Block a user