我已经通过控制台创建了一个集群 (eks.3),然后用它aws eks update-config
来生成 kubeconfig 配置。我立即就可以通过它访问集群了,kubectl
但是 EKS 用户指南中提到 aws-iam-authenticator 好像它是必需的。这仍然需要吗?如果不需要,那么集群创建后如何进行身份验证?
答案1
Amazon EKS 使用 IAM 为您的 Kubernetes 集群提供身份验证[...],但它仍然依赖原生的 Kubernetes 基于角色的访问控制 (RBAC) 进行授权。 [...] 与 Amazon EKS 集群的 Kubernetes API 交互的所有权限均通过本机 Kubernetes RBAC 系统进行管理。 EKS 用户指南
因此您不一定需要 aws-iam-authenticator。aws-iam-authenticator 将 IAM 用户和角色映射到本机Kubernetes 基于角色的访问控制 (RBAC)用于授权。因此理论上应该可以只使用 RBAC。但是官方文档仅提到 IAM 身份验证。所以我建议也使用它。我不能 100% 确定缺少 aws-iam-authenticator 是否会导致基于服务的策略出现问题。例如授予 pod 对 s3 存储桶的访问权限。
当您创建 Amazon EKS 集群时,IAM 实体用户或角色(例如创建集群的联合用户)将自动获得集群 RBAC 配置中的 system:masters 权限。 EKS 用户指南
这就是您的用户可以访问 EKS 集群的原因。