{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/10975","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/10975/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/10975/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/10975/events","html_url":"https://github.com/kubernetes/kubernetes/issues/10975","id":93957765,"number":10975,"title":"Better kubectl exec","user":{"login":"thockin","id":5595220,"avatar_url":"https://avatars.githubusercontent.com/u/5595220?v=3","gravatar_id":"","url":"https://api.github.com/users/thockin","html_url":"https://github.com/thockin","followers_url":"https://api.github.com/users/thockin/followers","following_url":"https://api.github.com/users/thockin/following{/other_user}","gists_url":"https://api.github.com/users/thockin/gists{/gist_id}","starred_url":"https://api.github.com/users/thockin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thockin/subscriptions","organizations_url":"https://api.github.com/users/thockin/orgs","repos_url":"https://api.github.com/users/thockin/repos","events_url":"https://api.github.com/users/thockin/events{/privacy}","received_events_url":"https://api.github.com/users/thockin/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/component/kubectl","name":"component/kubectl","color":"0052cc"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/priority/P3","name":"priority/P3","color":"fef2c0"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/team/ux","name":"team/ux","color":"d2b48c"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2015-07-09T05:20:53Z","updated_at":"2016-10-07T20:41:38Z","closed_at":null,"body":"Forked from #1513\r\n\r\n@smarterclayton said:\r\n\r\nNow that exec has landed and is looking pretty stable, some followups to look at:\r\n\r\n### Variants on nsenter that are more aligned with the container\r\n\r\nWe've talked before about extending nsinit from docker to be a true \"execute in running Docker container\" process, like rockets' equivalent.\r\n\r\n### Taking the proxies out of the loop (or at least, the kubelet proxy)\r\n\r\nInstead of using nsenter to run the user process, use nsenter to start a process in the container with a predetermined port and secret that would listen for a subsequent connection.  The kubelet could then redirect the response back to the caller with the port and location, and the caller can connect directly to the process.  The stub process would then do the necessary exec to launch the child and clean up after itself.  Important part is that this would make the network I/O part of the container's cgroup, not the kubelets.\r\n\r\n### Pattern for launching SSHD in a container via exec\r\n\r\nLaunch SSHD via exec, then terminate the exec connection and connect from the client directly to a port.  Might be a simple package you could install into your container.\r\n\r\n### On demand port proxy\r\n\r\nBe able to request using your credentials that a new, random port be exposed through the cluster so you can access a container from anywhere that can reach a master.  The port might only accept one connection or require a specific source IP"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/252355982","html_url":"https://github.com/kubernetes/kubernetes/issues/10975#issuecomment-252355982","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/10975","id":252355982,"user":{"login":"bprashanth","id":10927820,"avatar_url":"https://avatars.githubusercontent.com/u/10927820?v=3","gravatar_id":"","url":"https://api.github.com/users/bprashanth","html_url":"https://github.com/bprashanth","followers_url":"https://api.github.com/users/bprashanth/followers","following_url":"https://api.github.com/users/bprashanth/following{/other_user}","gists_url":"https://api.github.com/users/bprashanth/gists{/gist_id}","starred_url":"https://api.github.com/users/bprashanth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bprashanth/subscriptions","organizations_url":"https://api.github.com/users/bprashanth/orgs","repos_url":"https://api.github.com/users/bprashanth/repos","events_url":"https://api.github.com/users/bprashanth/events{/privacy}","received_events_url":"https://api.github.com/users/bprashanth/received_events","type":"User","site_admin":false},"created_at":"2016-10-07T20:41:38Z","updated_at":"2016-10-07T20:41:38Z","body":"Yeah i think this will probably have to be a cross team effort to make it easier to debug/more stable. Agree  docker exec instability is probably biggest contributor, but that's not to say we don't gain anything by having fewer proxies. \r\n\r\nI think:\r\n\r\n> Taking the proxies out of the loop (or at least, the kubelet proxy)\r\n\r\nproposal is something like what we're already planning for cri. "}}
{"actor":{"display_login":"bprashanth"}}