在AWS-CNI上使用自定义CIDR的AWS EKS托管节点池。

0

【以下的问题经过翻译处理】 你好,aws re:Post。

我想让我的pod在不同的子网中运行,为此,我使用了自定义的CNI配置来配置AWS-CNI插件,它已经起作用了。 现在我想实现整个过程的自动化。 我已经存档以创建 CRD eniconfigs 并自动部署它们。但是,我现在在节点注释的自动化上卡住了。在搜索了re:Post或互联网时没有找到任何有用的内容后,我认为解决办法可能相当简单。 我猜测解决方案可能在启动模板、用户数据或通过KUBELET_EXTRA_ARGS中的某处,但我只是在猜测。

问题

我怎样才能在节点启动时或在节点自动加入集群后向它们提供像我的(如下所示)这样的注释?

kubectl annotate node ip-111-222-111-222.eu-central-1.compute.internal k8s.amazonaws.com/eniConfig=eu-central-1c
profile picture
专家
已提问 5 个月前41 查看次数
1 回答
0

【以下的回答经过翻译处理】 感谢提供更多背景信息!我假设您为每个“后端、前端等”使用不同的节点池。在这种情况下,您实际上可以使用 CNI ENI_CONFIG_LABEL_DEF 配置值来指定节点标签,而不是为 ENIConfig 名称使用注释。然后,您可以使用 EKS 优化的 AMI bootstrap.sh 脚本通过 kubelet-extra-args 选项传递节点标签。这可以在托管节点组的启动模板用户数据中完成。

https://github.com/aws/amazon-vpc-cni-k8s#eni_config_label_def

https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html#launch-template-user-data

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则