Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Kubectl exec: "Error from server (BadRequest): Upgrade request required"

+0
−0

I'm getting an error when trying to open a shell to a pod. This used to work.

$ kubectl exec --tty --stdin --namespace my-ns my-pod -- sh
Error from server (BadRequest): Upgrade request required

What does it mean?

History
Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

1 comment thread

More context would be helpful (2 comments)

1 answer

+3
−0

Ok I got it working again.

The issue was that I had updated my kubeconfig file, and the current-context setting had changed. This setting essentially selects which cluster kubectl targets.

Now the cluster wasn't a wrong one per se, it just wasn't a direct route. This is a rancher managed cluster [1], meaning that by default the rancher servers will proxy traffic from kubectl to the actual cluster. It apparently doesn't support proxying websockets, at least without additional configuration.

You can enable the authorized cluster endpoint feature to bypass rancher and connect directly to the cluster, in which case websockets work just fine. You just need to remember to select the correct context in kubectl..

You can view your contexts and select the active one like this from cli:

$ kubectl config view
$ kubectl config set-context my-new-context

  1. There's probably a risk of this happening with other proxies as well. ↩︎

History
Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

Sign up to answer this question »