【问题标题】:Kubelet stopped posting node status (Kubernetes)Kubelet 停止发布节点状态 (Kubernetes)
【发布时间】:2019-07-24 02:17:12
【问题描述】:

我在 EKS 上运行具有两个工作节点的 kubernetes 集群。两个节点都显示 NotReady 状态,当我检查两个节点上的 kubelet 日志时,出现以下错误

k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47:无法列出 *v1.Pod: 未授权 k8s.io/kubernetes/pkg/kubelet/kubelet.go:455: 上架失败 *v1.Service: 未授权 k8s.io/kubernetes/pkg/kubelet/kubelet.go:464: 无法列出 *v1.Node: 未经授权

我是否可以检查正在使用的凭据以及如何修复此错误?

【问题讨论】:

  • 请添加更多信息,很明显使用的凭据无效。检查您尝试部署的 NS 或上下文是否正确配置了 RBAC。
  • 感谢您的评论。我猜应该正确配置 RBAC(因为它主要由 AWS EKS 管理)。在安装 pod 之前,我能够访问集群(prometheus 和 Grafana 使用 helm install stable/prometheus 命令)。无论如何,我在哪里可以检查此配置?有没有办法,我可以重置 kubelet 配置?
  • 执行 kubeadm reset 后跟 kubeadm init 以重置并重新加入。您可以在 default/kube-system 命名空间下找到 Grafana 和 Prometheus 配置。
  • 感谢您的评论。我现在最终创建了新集群。
  • 我面临着与使用 terraform 创建集群相同的问题。但是创建新集群没有运气。有什么可能的选择吗?

标签: kubernetes kubelet amazon-eks


【解决方案1】:

查看aws-auth ConfigMap 节点使用的Role 是否有合适的权限。此外,您还可以在 cloudwatch 上启用 EKS 控制平面日志,并检查身份验证器日志以了解哪些角色被拒绝访问。

您可以随时使用用于创建集群的相同用户/角色重置配置映射,即使配置映射中不存在该配置映射。

请务必不要从 IAM 中删除此角色/用户。

【讨论】:

  • 谢谢 - 你拯救了我的星期五晚上!这就是问题所在 - aws-auth CM 设置了错误的 EC 实例配置文件。
  • 嗨@raveen.chandran,reset the configmap 是什么意思?重新编辑还是删除?
猜你喜欢
  • 2020-04-04
  • 2019-03-14
  • 1970-01-01
  • 2018-10-11
  • 2020-02-17
  • 1970-01-01
  • 1970-01-01
  • 2021-09-12
  • 1970-01-01
相关资源
最近更新 更多