【发布时间】:2019-03-14 06:47:57
【问题描述】:
通过 EKS 在 AWS 中运行 Kubernetes 集群。一切似乎都按预期工作,但只是检查所有日志以进行验证。我跳到一个工作节点上,在查看 kubelet 服务时发现了一堆错误
Oct 09 09:42:52 ip-172-26-0-213.ec2.internal kubelet[4226]: E1009 09:42:52.335445 4226 kubelet_node_status.go:377] Error updating node status, will retry: error getting node "ip-172-26-0-213.ec2.internal": Unauthorized
Oct 09 10:03:54 ip-172-26-0-213.ec2.internal kubelet[4226]: E1009 10:03:54.831820 4226 kubelet_node_status.go:377] Error updating node status, will retry: error getting node "ip-172-26-0-213.ec2.internal": Unauthorized
节点都显示为就绪,但我不确定为什么会出现这些错误。有 3 个工作节点,所有 3 个都有相同的 kubelet 错误(主机名明显不同)
附加信息。看起来错误来自 kubelet_node_status.go 中的这一行
node, err := kl.heartbeatClient.CoreV1().Nodes().Get(string(kl.nodeName), opts)
if err != nil {
return fmt.Errorf("error getting node %q: %v", kl.nodeName, err)
}
从工作人员那里我可以使用 kubectl 执行获取节点就好了:
kubectl get --kubeconfig=/var/lib/kubelet/kubeconfig nodes
NAME STATUS ROLES AGE VERSION
ip-172-26-0-58.ec2.internal Ready <none> 1h v1.10.3
ip-172-26-1-193.ec2.internal Ready <none> 1h v1.10.3
【问题讨论】:
-
检查 apiserver 中的 --authorization-mode 标志。你里面有什么?
-
不确定如何在 EKS 中进行检查,因为它是一项托管服务。一定有办法,看看我能找到什么。
-
我知道我在使用 RBAC 来处理所有事情。
标签: kubernetes amazon-eks