gpu工作节点无法加入集群



我有一个EKS设置(v1.16(,有两个ASG:一个用于计算("c5.9xlarge"(,另一个用于gpu("p3.2xlarge(。两者都配置为Spot,并设置为所需的Capacity 0。

K8S CA按预期工作,并在必要时扩展每个ASG,问题是新创建的gpu实例没有被主机识别,并且运行kubectl get nodes不会发出任何信号。我可以看到ec2实例处于运行状态,我也可以对机器进行ssh。

我仔细检查了标签和标签,并将它们与";计算";。两者的配置几乎相似,唯一的区别是gpu节点组几乎没有额外的标签。

由于我使用的是eksctl工具(v.0.35.0(,计算节点组与gpu节点组的比较基本上是复制&粘贴,我不知道可能是什么问题。

更新:ssh实例我可以看到以下错误(/var/log/messages(

failed to run Kubelet: misconfiguration: kubelet cgroup driver: "systemd" is different from docker cgroup driver: "cgroupfs"

kubelet服务崩溃了。

我的GPU可能使用了错误的AMI(amazon-eks-GPU-node-1.18-v202001211(吗?

简单地说,您可以在eksctl yaml配置文件中使用此preBootstrapCommands:

- name: test-node-group
preBootstrapCommands: 
- "sed -i 's/cgroupDriver:.*/cgroupDriver: cgroupfs/' /etc/eksctl/kubelet.yaml"

EKS 1.16存在一些问题,甚至引力子处理器机器也不会加入集群。要首先修复它,请尝试升级CNI版本。请参阅此处的文档:

https://docs.aws.amazon.com/eks/latest/userguide/cni-upgrades.html

如果这不起作用,那么将您的EKS版本升级到最新的可用版本,然后应该可以起作用。

我发现了这个问题。这似乎是eksctl(v0.35.0(和AL2-GPU AMI之间的错误对齐。

AWS团队将docker中的控制组更改为";系统d";而不是";cgroup";(github(,而我使用的eksctl工具没有吸收这些变化。

一个临时解决方案是使用preBootstrapCommands编辑/etc/eksctl/kubelet.yaml文件

相关内容

  • 没有找到相关文章

最新更新