website/content/en/blog/_posts/2024-05-01-cri-streaming-ex.../flow.mermaid

30 lines
1.0 KiB
Plaintext

sequenceDiagram
participant crictl
participant kubectl
participant API as API Server
participant kubelet
participant runtime as Container Runtime
participant streaming as Streaming Server
alt Client alternatives
Note over kubelet,runtime: Container Runtime Interface (CRI)
kubectl->>API: exec, attach, port-forward
API->>kubelet: exec, attach, port-forward
kubelet->>runtime: Exec, Attach, PortForward
else
Note over crictl,runtime: Container Runtime Interface (CRI)
crictl->>runtime: Exec, Attach, PortForward
end
runtime->>streaming: New Session
streaming->>runtime: HTTP endpoint (URL)
alt Client alternatives
runtime->>kubelet: Response URL
kubelet->>API:
API-->>streaming: Connection upgrade (SPDY or WebSocket)
streaming-)API: Stream data
API-)kubectl: Stream data
else
runtime->>crictl: Response URL
crictl-->>streaming: Connection upgrade (SPDY or WebSocket)
streaming-)crictl: Stream data
end