-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
KEP-4006: RemoteCommand as Beta, and initial PortForward over WebSockets as Alpha #4416
Conversation
/lgtm |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Websockets + streaming functionality with headers. It closes to Http/2 in that manner with all the features of Websockets.
/lgtm |
db01f7d
to
ac04b5f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor wording changes suggested, all the rest looks great, thx Sean!
environment variable set to **ON**, so it will request the newer WebSockets streaming | ||
Server. Additionally, the `kubectl` client must also have either the | ||
KUBECTL_REMOTE_COMMAND_WEBSOCKETS or KUBECTL_PORT_FORWARD_WEBSOCKETS environment | ||
variables set to **ON**, so this client will request the newer WebSockets streaming |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The additions are great, I'd still try to change the wording in:
Additionally, the `kubectl` client must also have either the
KUBECTL_REMOTE_COMMAND_WEBSOCKETS or KUBECTL_PORT_FORWARD_WEBSOCKETS environment
variables set to **ON**, so this client will request the newer WebSockets streaming
to something more explicit, iow:
Additionally, the `kubectl` client must also have the KUBECTL_REMOTE_COMMAND_WEBSOCKETS
environment variable set to ON for exec, cp, and attach commands.
KUBECTL_PORT_FORWARD_WEBSOCKETS environment
variables set to **ON** for port-forward command.
environment variable set to **ON**, so it will request the newer WebSockets streaming | ||
Server. Additionally, the `kubectl` client must also have either the | ||
KUBECTL_REMOTE_COMMAND_WEBSOCKETS or KUBECTL_PORT_FORWARD_WEBSOCKETS environment | ||
variables set to **ON**, so this client will request the newer WebSockets streaming |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similarly in the kube-apiserver section:
Instead of :
For each of the two streaming subprotocols: `RemoteCommand` and `PortForward`,
enabling the feature gate on the API Server will allow the streaming mechanism
to be WebSockets instead of SPDY for communication between `kubectl` and the API
write
For each of the two streaming subprotocols: `RemoteCommand` (such as /exec and /attach APIs)
and `PortForward` (for /portforward), enabling the respective feature gate on the API Server will
allow the streaming mechanism to be WebSockets instead of SPDY for communication between
`kubectl` and the API
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
generally LGTM, one PRR question
- PortForward: `kubectl port-forward -v=7 <SERVICE|DEPLOYMENT|POD> <LOCAL_PORT:REMOTE_PORT>` | ||
- PortForward: One of the output log lines will be | ||
`...websocket-dialer.go:91] negotiated protocol: v2.portforward.k8s.io` | ||
if websockets is enabled for port forwarding. | ||
|
||
###### What are the reasonable SLOs (Service Level Objectives) for the enhancement? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing this one.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
31e986a
to
d2e0997
Compare
PRR LGTM. Any concerns @BenTheElder? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
from sig-cli pov
/assign @jpbetz |
LGTM! |
/approve PRR |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jpbetz, seans3, soltysh The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Any concerns for this one before we merge @deads2k? |
/lgtm Thanks @seans3 |
KEP-4006: RemoteCommand as Beta and initial PortForward over WebSockets
RemoteCommand
over WebSockets toBeta
in v1.30.PortForward
over WebSockets, which will beAlpha
in v1.30.