컨테이너 런타임 인터페이스 스트리밍 설명
Kubernetes Container Runtime Interface (CRI)는 kubelet과 컨테이너 런타임 간의 통신을 정의하는 프로토콜입니다.CRI에는 세 가지 주목할만한 Remote Procedure Calls (RPCs)가 있습니다. Exec, Attach 및 PortForward입니다.이러한 RPCs는 컨테이너에서 명령 실행, 터미널 연결 및 포트 전달을 허용합니다. 각각.독특하게도 이러한 RPCs는 전통적인 서버 응답 대신 스트리밍 서버의 URL을 반환합니다.이 설계는 런타임이 이러한 기능을 구현하는 데 있어 유연성을 제공하고 kubelet에서 병목 현상을 방지합니다.Exec 및 Attach은 유사한 스트리밍 프로토콜을 따르며, PortForward는 다른 내부 프로토콜을 사용합니다.런타임은 kubelet 라이브러리를 사용하여 스트리밍 서버 메서드를 구현합니다. 이 라이브러리는 프로토콜 해석 및 런타임 특정 논리를 제공합니다.포트 전달에는 컨테이너의 네트워크 네임스페이스에 들어가고 포트를 할당해야 합니다.Kubernetes는 이러한 RPCs에 대한 WebSockets으로 전환하고 있습니다. 이에 따라 런타임 및 클라이언트에서 업데이트가 필요합니다.CRI-O는 Rust를 사용하여 직접 WebSocket 스트리밍을 실험적으로 구현하고 있습니다.이러한 RPCs는 워크로드와의 고급 상호작용을 가능하게 하여 컨테이너 관리에 있어 큰 유연성과 혁신을 제공합니다.