kubernetes / dashboard

General-purpose web UI for Kubernetes clusters
Apache License 2.0
14.52k stars 4.17k forks source link

Exec to a Windows container closes connection on key input #3857

Open mikkelhegn opened 5 years ago

mikkelhegn commented 5 years ago
Environment

1.14 clusters deployed through AKS and AKS-Engine shows same behaviour. The Windows container is a Windows Server 2019 container on Windows Server 2019 hosts.

Installation method: AKS and AKS-Engine
Kubernetes version: 1.14
Dashboard version: 1.10.1
Operating system: Windows Server 2019 (worker) and Ubuntu 16.04 (master)
Node.js version ('node --version' output):
Go version ('go version' output):
Steps to reproduce

Deploy a Windows container. Use the exec console from the dashboard Press any key in the console Connection will close

Observed result
Expected result
Comments

exec is successful from kubectl to the same container. Powershell starts and is ready for commands.

Proxy shows (inconsistently) errors / commands. Not sure whether these are cause or symptoms: I0606 10:06:54.998168 4656 log.go:172] http: proxy error: context canceled

E0603 17:49:35.018520 8032 portforward.go:331] an error occurred forwarding 8001 -> 9090: error forwarding port 9090 to pod 0febf75c6b824a1d69753615c33e9ab8f65f412d727b19b9d5bf9ecb6ea392b2, uid : exit status 1: 2019/06/03 15:49:37 socat[65120] E connect(6, AF=2 127.0.0.1:9090, 16): Connection refused

https://github.com/MicrosoftDocs/azure-docs/issues/32528 is where this was reported.

floreks commented 5 years ago

This might be because at the moment we do not support powershell :) Only basic unix shells.

mikkelhegn commented 5 years ago

The terminal code does open PowerShell: https://github.com/kubernetes/dashboard/blob/0e6cb1be135bc16c2be1d99a9c50a17dde1e87fd/src/app/backend/handler/terminal.go#L289 - implemented here: https://github.com/kubernetes/dashboard/pull/2922

If it's not supported, I suggest reverting that PR and throw an error in the terminal. Current experience is that the PowerShell prompt loads, but as soon as keys are input, the connection closes.

fejta-bot commented 5 years ago

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle stale

fejta-bot commented 5 years ago

Stale issues rot after 30d of inactivity. Mark the issue as fresh with /remove-lifecycle rotten. Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle rotten

maciaszczykm commented 5 years ago

/lifecycle frozen