165 lines
4.8 KiB
YAML
165 lines
4.8 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: frigate
|
|
namespace: frigate
|
|
labels:
|
|
app.kubernetes.io/name: frigate
|
|
app.kubernetes.io/instance: frigate
|
|
spec:
|
|
replicas: 1
|
|
strategy:
|
|
type: Recreate
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: frigate
|
|
app.kubernetes.io/instance: frigate
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/name: frigate
|
|
app.kubernetes.io/instance: frigate
|
|
spec:
|
|
automountServiceAccountToken: false
|
|
runtimeClassName: nvidia
|
|
imagePullSecrets:
|
|
- name: quay-cluster-pull
|
|
terminationGracePeriodSeconds: 30
|
|
nodeSelector:
|
|
kubernetes.io/hostname: ms2k-y520
|
|
securityContext:
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
initContainers:
|
|
- name: model
|
|
image: registry.quorate.internal/quorate/fsharp-runner@sha256:d7b904f4f0cae9fdba7c7345cdf08c91162245834a8a13658d93396272aeec83
|
|
imagePullPolicy: IfNotPresent
|
|
command: [/usr/share/dotnet/dotnet, /opt/fsi/fsi.dll, --exec, /installer/run.fsx]
|
|
env:
|
|
- name: SSL_CERT_FILE
|
|
value: /certs/ca.crt
|
|
- name: DOTNET_NOLOGO
|
|
value: "true"
|
|
- name: DOTNET_CLI_TELEMETRY_OPTOUT
|
|
value: "1"
|
|
- name: AWS_EC2_METADATA_DISABLED
|
|
value: "true"
|
|
resources:
|
|
requests:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
limits:
|
|
memory: 512Mi
|
|
securityContext:
|
|
runAsUser: 0
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop: ["ALL"]
|
|
volumeMounts:
|
|
- name: config
|
|
mountPath: /config
|
|
- name: installer
|
|
mountPath: /installer
|
|
readOnly: true
|
|
- name: model-s3
|
|
mountPath: /s3
|
|
readOnly: true
|
|
- name: model-ca
|
|
mountPath: /certs
|
|
readOnly: true
|
|
containers:
|
|
- name: frigate
|
|
image: ghcr.io/blakeblackshear/frigate:0.18.2-tensorrt@sha256:1cafb6ebbaff0aaf275cc3f31951bcf7e29f3989f18a10ba9565091367d8736c
|
|
imagePullPolicy: IfNotPresent
|
|
env:
|
|
- name: FRIGATE_RTSP_ADDRESS
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: frigate-config
|
|
key: FRIGATE_RTSP_ADDRESS
|
|
- name: FRIGATE_RTSP_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: frigate-config
|
|
key: FRIGATE_RTSP_PASSWORD
|
|
- name: NVIDIA_VISIBLE_DEVICES
|
|
value: all
|
|
- name: NVIDIA_DRIVER_CAPABILITIES
|
|
value: compute,video,utility
|
|
ports:
|
|
- name: web
|
|
containerPort: 8971
|
|
protocol: TCP
|
|
resources:
|
|
requests:
|
|
cpu: 500m
|
|
memory: 2Gi
|
|
nvidia.com/gpu: "1"
|
|
limits:
|
|
memory: 8Gi
|
|
nvidia.com/gpu: "1"
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop: ["ALL"]
|
|
add: ["CHOWN", "FOWNER", "SETGID", "SETUID"]
|
|
startupProbe:
|
|
tcpSocket:
|
|
port: web
|
|
failureThreshold: 60
|
|
periodSeconds: 5
|
|
readinessProbe:
|
|
tcpSocket:
|
|
port: web
|
|
failureThreshold: 3
|
|
periodSeconds: 10
|
|
timeoutSeconds: 3
|
|
livenessProbe:
|
|
tcpSocket:
|
|
port: web
|
|
failureThreshold: 3
|
|
periodSeconds: 30
|
|
timeoutSeconds: 3
|
|
volumeMounts:
|
|
- name: config
|
|
mountPath: /config
|
|
- name: rendered-config
|
|
mountPath: /config/config.yaml
|
|
subPath: config.yaml
|
|
readOnly: true
|
|
- name: media
|
|
mountPath: /media/frigate
|
|
- name: cache
|
|
mountPath: /tmp/cache
|
|
- name: shm
|
|
mountPath: /dev/shm
|
|
volumes:
|
|
- name: installer
|
|
configMap:
|
|
name: frigate-model
|
|
- name: model-s3
|
|
secret:
|
|
secretName: model-s3
|
|
- name: model-ca
|
|
secret:
|
|
secretName: frigate-ca
|
|
- name: config
|
|
persistentVolumeClaim:
|
|
claimName: frigate-config
|
|
- name: rendered-config
|
|
secret:
|
|
secretName: frigate-config
|
|
items:
|
|
- key: config.yaml
|
|
path: config.yaml
|
|
- name: media
|
|
persistentVolumeClaim:
|
|
claimName: frigate-media
|
|
- name: cache
|
|
emptyDir:
|
|
medium: Memory
|
|
sizeLimit: 1Gi
|
|
- name: shm
|
|
emptyDir:
|
|
medium: Memory
|
|
sizeLimit: 512Mi
|