Pulumi创建AWS EKS集群:@pulumi/eks与@pulumi/aws组件的区别
Pulumi两个EKS Cluster组件的核心区别与选型建议
核心差异
@pulumi/aws下的eks/Cluster组件
这个是Pulumi对AWS原生EKS集群API的直接映射,属于底层资源级组件。它仅负责创建AWS侧的EKS集群实体本身,所有集群运行必需的周边配置都需要你自行手动实现:包括但不限于集群/节点组所需的IAM角色与权限配置、VPC子网的EKS专属标签配置、kubeconfig凭证生成、aws-auth ConfigMap维护、CNI/CoreDNS等集群基础插件配置、节点组/Fargate Profile的创建。它的优势是完全可控,所有配置项都可以自由定制,缺点是需要你完全掌握EKS集群搭建的所有细节,自行落地最佳实践,配置工作量大。@pulumi/eks下的Cluster组件
这个是Pulumi官方维护的高层抽象组件,底层基于@pulumi/aws/eks/Cluster实现,默认集成了EKS集群搭建的官方最佳实践,开箱即用封装了绝大多数通用配置:会自动创建符合权限要求的IAM角色、自动为VPC子网打EKS必要标签、自动生成可用的kubeconfig输出、自动维护aws-auth ConfigMap实现IAM与K8s RBAC的映射、默认配置好AWS CNI/CoreDNS/kube-proxy等基础组件,还支持一键添加托管节点组、Fargate Profile。使用这个组件只需要少量代码即可搭建生产可用的EKS集群,不需要从零拼接各类底层资源。
选型建议
- 绝大多数常规场景优先选择
@pulumi/eks的Cluster组件:可以大幅减少配置工作量,规避手动搭建EKS集群常见的权限、网络配置错误,默认配置符合官方最佳实践,也支持常见的自定义配置项,满足大部分业务需求。 - 仅在有极强的自定义需求时选择
@pulumi/aws的eks/Cluster组件:如果你的企业有特殊的合规要求、权限管控规则,高层封装的组件无法满足你的定制需求,需要完全控制每一个资源的配置细节,再选择底层组件自行搭建。
内容的提问来源于stack exchange,提问作者Pierre B.
相关产品推荐
相关产品推荐

