amazon-web-services - AWS EKS Fargate 和节点组
问题描述
我有一个带有 Fargate 配置文件的 AWS EKS 和带有 EC2 实例的节点组。我有一个选择“kube-system”命名空间的 Fargate 配置文件。
出于某种原因
kube-proxy
,POD 在 Nodegroup 下运行而不是 fargate,并且此 POD 在 kube-system 命名空间下。我注意到所有类型为 DaemonSet 的 pod 都在 Nodegroup 下运行,并且忽略了 Fargate Profile。对此有何解释?我没有在 AWS Docs 中找到。如何配置 AWS EKS 以将特定 POD 部署到节点组而不是 fargate,在“kube-system”命名空间下(请记住,我有一个带有 kube-system 选择器的 fargate 配置文件)。
解决方案
Fargate 不支持守护程序集。如果您的应用程序需要守护程序,您应该重新配置该守护程序以在您的 pod 中作为 sidecar 容器运行。
- 要将 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 执行此操作。
希望它有任何意义。
推荐阅读
- css - css 光标:指针在 div 元素上不起作用
- cordova - 离子应用程序,错误:..main.ts 模块构建失败:错误:ENOENT
- javascript - 主机图像和使用 URL
- python - 将字符串值分配给熊猫中的单元格
- android - 工具栏中的后退箭头以转到上一个活动
- java - android片段的textView没有更新新信息
- python - 在 python 中的字典上使用 join() 将键值对作为一个长字符串返回
- c++11 - std::function 和友元函数
- arangodb - 多对多 AQL 查询
- powershell - 使用 Powershell 在 Windows 上实施密码复杂性