30 lines
1.0 KiB
Plaintext
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
|