node shell
(k8sClient kubernetes.Interface, cfg *rest.Config,nodeName string, sessionId string)
| 317 | |
| 318 | //node shell |
| 319 | func WaitForNodeShellTerminal(k8sClient kubernetes.Interface, cfg *rest.Config,nodeName string, sessionId string) { |
| 320 | select { |
| 321 | case <-TerminalSessions.Get(sessionId).Bound: |
| 322 | close(TerminalSessions.Get(sessionId).Bound) |
| 323 | |
| 324 | err := startNodeShellProcess(k8sClient, cfg, nodeName, TerminalSessions.Get(sessionId)) |
| 325 | |
| 326 | |
| 327 | if err != nil { |
| 328 | TerminalSessions.Close(sessionId, 2, err.Error()) |
| 329 | return |
| 330 | } |
| 331 | |
| 332 | TerminalSessions.Close(sessionId, 1, "Process exited") |
| 333 | } |
| 334 | } |
| 335 | func startNodeShellProcess(k8sClient kubernetes.Interface, cfg *rest.Config, nodeName string, ptyHandler PtyHandler) error { |
| 336 | |
| 337 | /*创建特权容器*/ |
no test coverage detected