OTA 시스템 설계 및 구현
Nexus, Fleet Over-the-air
GoLang gRPC ArgoCD Kubernetes Work

자율주행 차량에 탑재된 소프트웨어 및 펌웨어 버전을 서버에서 식별하고, 최신 업데이트를 안전하게 배포할 수 있는 OTA 시스템을 설계하고 구현하였습니다. 차량 내 소프트웨어는 컨테이너 기반으로 배포되며, 각 차량에 설치된 경량 Kubernetes 환경에서 실행됩니다. ArgoCD를 사용하여 업데이트를 구현하였으며, ArgoCD에서 제공하는 배포 전략을 그대로 사용할 수 있습니다. 사용자는 필요한 경우 직접 선언적 배포 및 버전관리를 자동화할 수 있습니다.
주요 기능으로는:
- 차량 간 통신은 사내 발급 TLS 인증서를 기반으로 상호 검증 절차(mTLS)를 통한 보안.
- 배포되는 컨테이너 이미지도 서명하여 인증되지않은 이미지 실행 방지.
- 차량에 설치된 에이전트(Beacon)를 통해 차량과 중앙 관리 시스템(Nexus) 간의 연동을 간소화
- 차량 식별 및 접근을 추상화한 프록시(Pylon)를 통해 사용자 및 개발 편의성을 제공.
- Air-gapped 환경에서도 운용 가능하도록 로컬 컨테이너 이미지 레지스트리를 차량 내에 구축하여, 외부 네트워크 없이 이미지 업데이트 지원.


데모를 위한 간단한 UI를 구현하였으며 사용자 및 차량 관리, 차량에 설치된 소프트웨어 버전 관리 컨셉을 제안하였습니다.