apiVersion: apps/v1 kind: Deployment metadata: name: otbr namespace: otbr labels: app: otbr spec: replicas: 1 selector: matchLabels: app: otbr template: metadata: labels: app: otbr spec: hostNetwork: true # Wichtig für direkten Netzwerkzugriff und mDNS containers: - name: otbr image: openthread/border-router:latest # Offizielles Docker-Image securityContext: # Benötigt NET_ADMIN, um Netzwerkschnittstellen zu konfigurieren capabilities: add: ["NET_ADMIN"] privileged: true # Privilegierter Modus kann notwendig sein für vollen Gerätezugriff env: # Konfigurieren Sie die Umgebungsvariablen entsprechend Ihrem Setup - name: OT_RCP_DEVICE # Passen Sie den Pfad zu Ihrem USB-Gerät an value: "spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200" - name: OT_INFRA_IF # Name Ihrer Host-Netzwerkschnittstelle (z.B. eth0 oder wlan0) value: "eno1" - name: OT_THREAD_IF value: "wpan0" # Standardwert - name: OT_LOG_LEVEL value: "7" ports: # Ports, die der OTBR für Web-GUI (80), mDNS, CoAP benötigt - containerPort: 80 hostPort: 80 protocol: TCP - containerPort: 80 hostPort: 80 protocol: UDP # Weitere notwendige Ports für Thread/Matter Kommunikation - containerPort: 5353 hostPort: 5353 protocol: UDP - containerPort: 49153 hostPort: 49153 protocol: UDP - containerPort: 5180 hostPort: 5180 protocol: UDP - containerPort: 5683 hostPort: 5683 protocol: UDP volumeMounts: - name: otbr-data mountPath: /data - name: device-tun mountPath: /dev/net/tun # Zugriff auf das physische USB-Gerät - name: device-rcp mountPath: /dev/ttyACM0 # Muss zum OT_RCP_DEVICE passen resources: limits: akri.sh/akri-conbeeii: "1" requests: akri.sh/akri-conbeeii: "1" volumes: - name: otbr-data hostPath: path: /var/lib/otbr # Speicherort auf dem Host für persistente Daten type: DirectoryOrCreate - name: device-tun hostPath: path: /dev/net/tun - name: device-rcp hostPath: path: /dev/ttyACM0 # Muss zum OT_RCP_DEVICE passen