私はcontianer(kubernetes 1.1.2でGKE上のKubernetes PODで)でコマンドを実行しようとしています。APIを使ってポッド(kubernetes)でコマンドを実行する方法は?
ドキュメントを読む私はGETまたはPOSTクエリを使用してコマンドを実行するAPIエンドポイントでWebSocket接続を開くことができると理解しました。 GETを使用すると、完全には機能しませんが、エラーを返します。私はPOSTを使用しようとすると、そのようなことは、おそらく仕事ができる(しかし、そうではありません)。そのため
curl 'https://admin:[email protected]/api/v1/namespaces/default/pods/hello-whue1/exec?stdout=1&stderr=1&command=ls' -H "Connection: upgrade" -k -X POST -H 'Upgrade: websocket'
repsponseは
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"}}
それはポストの要求をアップグレードし、使用を開始するのに十分でなければならないように見えていますwebsocketストリーム、右?私は何が欠けているのですか?
POSTでwebsocketを開いても、おそらくwebsocketプロトコルに違反していると指摘されました(GETだけで動作するはずです)。
また
@George:間違ったリンク? – spinus
このBlogpostが役立ちます。 http://kamalmarhubi.com/blog/2015/09/06/kubernetes-from-the-ground-up-the-api-server/ – George
@George私はそのブログの投稿、特にAPIを使用して何か不足していますか? – spinus