首页 > 解决方案 > AWS EKS Fargate 和节点组

问题描述

我有一个带有 Fargate 配置文件的 AWS EKS 和带有 EC2 实例的节点组。我有一个选择“kube-system”命名空间的 Fargate 配置文件。

在此处输入图像描述

  1. 出于某种原因kube-proxy,POD 在 Nodegroup 下运行而不是 fargate,并且此 POD 在 kube-system 命名空间下。我注意到所有类型为 DaemonSet 的 pod 都在 Nodegroup 下运行,并且忽略了 Fargate Profile。对此有何解释?我没有在 AWS Docs 中找到。

  2. 如何配置 AWS EKS 以将特定 POD 部署到节点组而不是 fargate,在“kube-system”命名空间下(请记住,我有一个带有 kube-system 选择器的 fargate 配置文件)。

标签: amazon-web-servicesamazon-eksaws-fargate

解决方案


  1. https://docs.aws.amazon.com/eks/latest/userguide/fargate.html -

Fargate 不支持守护程序集。如果您的应用程序需要守护程序,您应该重新配置该守护程序以在您的 pod 中作为 sidecar 容器运行。

  1. 要将 AWS EKS pod 部署到 Fargate,您只需为特定命名空间提供 pod 选择器,例如,在 AWS UI 或任何 CLI 中为命名空间kube-system创建 pod 选择器。computation-mode: fargate然后您需要将此computation-mode: fargate标签提供给每个 k8s 控制器,例如deployment让 AWS EKS 知道您想要使用 Fargate 解决方案。

所以回答你的问题:

如何配置 AWS EKS 以将特定 POD 部署到节点组而不是 fargate

只是不要在 k8s 控制器上提供任何 pod 选择器。但是请记住,如果您在 Fargate 配置文件中没有针对特定命名空间的任何 pod 选择器,那么默认情况下,所有 pod 都应尝试通过 Fargate 执行此操作。

希望它有任何意义。


推荐阅读