Kubernetes 拒绝来自本地 kubectl 客户端的 pod 日志

Kubernetes rejecting pod logs from local kubectl client

我有一个 Kubernetes 集群,开始在主机上使用 rancher。我试图在其中很少 [http://docs.seldon.io/install.html] 开始。我能够启动 pods,但无法从 kubectl logs 命令获取 pod 日志。

我收到错误 "Error from server (BadRequest): the server rejected our request for an unknown reason (get pods xxx)"

kubectl version 显示以下内容:

Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"2017-01-12T04:57:25Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"5+", GitVersion:"v1.5.0-115+611cbb22703182", GitCommit:"611cbb22703182611863beda17bf9f3e90afa148", GitTreeState:"clean", BuildDate:"2017-01-13T18:03:00Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}

旧版本的 Kubernetes 存在问题,应该在最新版本中修复,请参阅此 issue,其中对此进行了详细讨论。

我试过最新版本,效果很好:

$ kubectl log kubernetes-dashboard-1cvm4 --namespace kube-system
W0412 10:47:32.040258   13000 cmd.go:361] log is DEPRECATED and will be removed in a future version. Use logs instead.
Using HTTP port: 9090
Creating API server client for https://10.0.0.1:443
Successful initial request to the apiserver, version: v1.6.0
Creating in-cluster Heapster client
Using service account token for csrf signing

Kubernetes 版本:

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.0", GitCommit:"fff5156092b56e6bd60fff75aad4dc9de6b6ef37", GitTreeState:"clean", BuildDate:"2017-03-28T16:36:33Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.0", GitCommit:"fff5156092b56e6bd60fff75aad4dc9de6b6ef37", GitTreeState:"dirty", BuildDate:"2017-04-07T20:43:50Z", GoVersion:"go1.7.1", Compiler:"gc", Platform:"linux/amd64"}