AWS EKS 相关错误修复 - remote error: tls: internal error - CSR pending

现象

升级aws eks的kubernetes版本后执行kubectl logs 或者kubectl exec相关命令会出现报错
remote error: tls: internal error

执行kubectl get csr -A查看csr出现一直pending的状态,并且出现问题的pod都在新创建出来的eks node节点上

复制代码
kubectl get csr -A
NAME        AGE   SIGNERNAME                      REQUESTOR                                                     REQUESTEDDURATION   CONDITION
csr-lxtzg   23h   kubernetes.io/kubelet-serving                                                                 <none>              Pending
csr-m2dlr   16h   kubernetes.io/kubelet-serving                                                                 <none>              Pending
csr-m66ft   21h   kubernetes.io/kubelet-serving                                                                 <none>              Pending
csr-m6nnk   17h   kubernetes.io/kubelet-serving                                                                 <none>              Pending
csr-m8j6l   22h   kubernetes.io/kubelet-serving                                                                 <none>              Pending
csr-mb4kz   21h   kubernetes.io/kubelet-serving                                                                 <none>              Pending
csr-mcw4w   23h   kubernetes.io/kubelet-serving                                                                 <none>              Pending

原因

执行kubectl describe cm aws-auth -n kube-system命令发现aws-auth有些role重复了,删掉重复的role就行了, 用 kubectl edit cm aws-auth -n kube-system命令可以直接编辑,或者kubectl get cm aws-auth -n kube-system -o yaml > aws-auth.yaml保存成yaml文件修改后直接apply

yaml 复制代码
Name:         aws-auth
Namespace:    kube-system
Labels:       <none>
Annotations:  <none>

Data
====
mapRoles:
----
- groups:
  - system:masters
  rolearn: arn:aws:iam::xxxxxx:role/Fed_Account
- groups:
  - system:bootstrappers
  - system:nodes
  rolearn: arn:aws:iam::xxxxxx:role/eks-stg-shared-worker
  username: system:node:{{EC2PrivateDNSName}}

mapUsers:
----
[]


BinaryData
====

Events:  <none>

其他

如果主机名类型值是subnet的资源名称也可能会导致这种错误,或者role的policy设置不正确,例如:

json 复制代码
    "Condition": {
      "ArnLike": {
        "aws:SourceArn": "arn:aws:eks:region-code:your-account-id:cluster/cluster-name"
      }
    }

可以试着禁用policy然后重启pod.

对于pending状态的csr可以尝试手动approve
kubectl get csr | grep Pending | awk '{print $1}' | xargs -I {} kubectl certificate approve {}

但是这对于我们的eks并没有效果

更多讨论可以参考下面的链接

https://github.com/awslabs/amazon-eks-ami/issues/610
https://stackoverflow.com/questions/71696747/kubectl-exec-logs-on-eks-returns-remote-error-tls-internal-error

相关推荐
Lynnxiaowen17 小时前
今天我们继续学习kubernetes内容Helm
linux·学习·容器·kubernetes·云计算
古城小栈18 小时前
K8s 1.30 新特性:AI 驱动的资源调度 深度解析
人工智能·容器·kubernetes
古城小栈20 小时前
K3s + 边缘 AI:轻量级 K8s 在嵌入式设备的部署
人工智能·容器·kubernetes
我是六月生21 小时前
于windows环境下,使用阿里云oss搭建在线图床,Obsidian/Typora自动将图片上传,实现图片粘贴复制
笔记·阿里云·云计算
小道士写程序21 小时前
Kubernetes 1.23.17 集群部署完全记录(单点)
云原生·容器·kubernetes
SaaS_Product21 小时前
有没有像OneDrive一样的自动同步网盘?
人工智能·云计算·saas·onedrive
初学者_xuan1 天前
K8S资源无法删除处理方法
容器·贪心算法·kubernetes
@HNUSTer1 天前
基于 GEE 的 Landsat 8 数据构建遥感生态指数(RSEI)并进行生态质量评估
云计算·数据集·遥感大数据·gee·云平台·遥感生态指数(rsei)·landsat 8
骚团长1 天前
阿里云99元一年的云服务器部署Centos7.9通过MobaXterm安装RustDesk(图文并茂)
阿里云·云计算
zfj3211 天前
容器 的 cpu request limit 与 linux cgroups 的关系
linux·运维·服务器·kubernetes·cgroup