当前位置:  开发笔记 > 程序员 > 正文

如何使用API​​在pod(kubernetes)中执行命令?

如何解决《如何使用API​​在pod(kubernetes)中执行命令?》经验,为你挑选了0个好方法。

我正在尝试在contianer中执行命令(使用kubernetes 1.1.2在GKE上的Kubernetes POD中).

阅读文档我明白我可以使用GET或POST查询在API端点上打开websocket连接来执行命令.当我使用GET时,它不能完全工作,返回错误.当我尝试使用POST时,类似的东西可能会起作用(但事实并非如此):

curl 'https://admin:xxx@IP/api/v1/namespaces/default/pods/hello-whue1/exec?stdout=1&stderr=1&command=ls' -H "Connection: upgrade" -k -X POST -H 'Upgrade: websocket'

对此的回应是

unable to upgrade: missing upgrade headers in request: http.Header{"User-Agent":[]string{"curl/7.44.0"}, "Content-Length":[]string{"0"}, "Accept":[]string{"*/*"}, "Authorization":[]string{"Basic xxx=="}, "Connection":[]string{"upgrade"}, "Upgrade":[]string{"websocket"}}

看起来应该足以升级post请求并开始使用websocket流,对吧?我错过了什么?

我还指出,使用POST打开websocket可能违反了websocket协议(只有GET才能工作?).

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有