Содержание
Подготовка
- NVIDIA Jetson Nano 4GB с JetPack 4.4
- Kubernetes >= 1.16
- USB-камера
- Токен реестра контейнеров
- Сделайте образ доступным:
docker pull dustynv/jetson-inference:r32.4.3
.
YAML файлы
ПРИМЕЧАНИЕ: Убедитесь, что все ресурсы должны быть включены в одно и то же пространство имен: jetson-inference
.
Развертывание
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: jetson-inference
name: jetson-inference
namespace: jetson-inference
spec:
replicas: 1
selector:
matchLabels:
app: jetson-inference
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: jetson-inference
spec:
hostNetwork: true
containers:
- image: my-harbor.io/public/jetson-inference:r32.4.3
name: jetson-inference
command: ["/jetson-inference/build/aarch64/bin/detectnet-camera.py"]
args: ["--network=ssd-mobilenet-v2", "/dev/video0", "display://0"]
env:
- name: DISPLAY
value: ":0.0"
securityContext:
privileged: true
resources: {}
imagePullSecrets:
- name: harbor-secret
nodeSelector:
kubernetes.io/hostname: jetson-nano-01 # deploy the app to the specific device
status: {}
Пространство имен
apiVersion: v1
kind: Namespace
metadata:
creationTimestamp: null
name: jetson-inference
spec: {}
status: {}
Секрет
apiVersion: v1
data:
.dockerconfigjson: <YOUR-DOCKER-AUTH-STRING>
kind: Secret
metadata:
creationTimestamp: null
name: harbor-secret
namespace: jetson-inference
type: kubernetes.io/dockerconfigjson
Ссылки
- назначить pod определенному узлу https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
- Секрет ImagePull https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
- CMD, Аргументы https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/
- Env https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/