Развертывание приложения для обнаружения объектов на Nvidia Jetson Nano с помощью Kubernetes


Подготовка

  • 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
Войти в полноэкранный режим Выйти из полноэкранного режима

Ссылки

  1. назначить pod определенному узлу https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
  2. Секрет ImagePull https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
  3. CMD, Аргументы https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/
  4. Env https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/

Оцените статью
devanswers.ru
Добавить комментарий