PaaS/Kubernetes

KubeEdge에 대해서

armyost 2022. 5. 18. 06:32
728x90

소개

KubeEdge란 컨테이너기반 어플리케이션 오케스트레이션과 Edge컴퓨팅의 디바이스 관리를 확장하는 오픈소스 시스템이다. 이것은 Kubernetes 기반에 구축되며 네트워킹, APP배포, Cloud와 Edge간의 메타데이타를 관리할 수 있는 핵심 인프라 서비스를 제공한다.  그리고 KubeEdge는 MQTT를 지원하고 개발자에게 Custom Logic을 제작토록 허용하고, Edge구간에서 리소스 기반 디바이스 커뮤니케이션 가능케 한다. KubeEdge는 Cloud part와 Edge part로 이루어져 있다. 두 part모두 오픈소스로 공개되어 있다.

 

 

구성요소

  • Edged : Edge노드에서 실행되는 Agent. Edge노드의 컨테이너화 된 어플리케이션을 관리
  • EdgeHub : Edge Computing 클라우드 서비스(아래 아키텍처상의 Edge Controller와 같은)와 상호작용을 하기 위한 웹소켓 Client. 이것은 Cloud 쪽 리소스 업데이트를 Edge 쪽 host와 device에 상태변경을 Sync를 수행하는것을 포함한다. 
  • CloudHub : Cloud쪽 변화를 모니터링하는 웹소켓 서버이다. 캐싱을 수행하고 EdgeHub에 메시지를 던진다.
  • EdgeController : Edge노드와 pod의 메타데이타를 관리하는 확장형 Kubernetes 컨트롤러. 이로인해 그 메타데이타는 특정 Edge Node에 찾아갈 수 있다.
  • EventBus : MQTT 서버(mosquitto)와 상호작용하는 MQTT Client. 다른 구성요소에 Publish와 subscribe를 제공
  • DeviceTwin : device 상태를 저장하는 역할과 Cloud에 device 상태를 Sync하는 역할을 수행. 또한 어플리케이션에 Query 인터페이스를 제공함
  • MetaManager : Edged와 EdgeHub간 message processor. 메타데이타를 경량 데이터베이스에 저장하거나 해당 데이터베이스에서 추출하는 역할을 수행

 

관련링크 : https://kubeedge.io/en/docs/kubeedge/