【问题标题】:Why does Kubernetes' "kubectl" abort with “Authorization error”?为什么 Kubernetes 的“kubectl”会因“授权错误”而中止?
【发布时间】:2017-12-13 23:28:06
【问题描述】:

更改集群的 IP 配置后(所有外部 IP 更改,内部私有 IP 保持不变),某些 kubectl 命令不再适用于任何容器。豆荚都已启动并运行,并且似乎发现自己没有问题。这是输出:

bronger@penny:~$ time kubectl logs jb-plus--prod-615777041-71s09
Error from server (InternalError): Internal error occurred: Authorization error (user=kube-apiserver-kubelet-client, verb=get, resource=nodes, subresource=proxy)

real    0m30,539s
user    0m0,441s
sys     0m0,021s

显然,有 30 秒超时,然后授权错误。

这可能是什么原因?

我使用 Wea​​ve Net 运行 Kubernetes 1.8。

【问题讨论】:

  • 很可能您的新 ip 从证书中丢失。用这个命令检查openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep DNS
  • 是的,就是这样(或问题的重要部分)。如果您将您的帖子转换为答案,我会接受。
  • 很高兴它帮助我更新了答案。

标签: authorization kubernetes kubectl


【解决方案1】:

基于证书中缺少新 ip 的症状。使用以下命令进行验证。

 openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep DNS

【讨论】:

  • 超时是由于/etc/kubernetes 中的各种配置文件中的公共 IP 已过时,以及 kube-system 命名空间中某些 pod 中的公共 IP 已过时。但是,授权错误本身确实是由于API服务器证书中缺少新IP造成的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-13
  • 2017-08-31
  • 2019-07-01
  • 2023-01-28
  • 2016-06-25
  • 1970-01-01
  • 2011-03-04
相关资源
最近更新 更多