IAM 策略 - Eksctl 用户指南

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

IAM 策略

您可以将实例角色附加到节点组。在节点上运行的工作负载将获得该节点的 IAM 权限。有关更多信息,请参阅适用于 A mazon 的 IAM 角色 EC2

本页列出了 eksctl 中可用的预定义 IAM 策略模板。这些模板简化了向您的 EKS 节点授予相应的 AWS 服务权限的过程,而无需手动创建自定义 IAM 策略。

支持的 IAM 插件策略

所有支持的附加策略示例:

nodeGroups: - name: ng-1 instanceType: m5.xlarge desiredCapacity: 1 iam: withAddonPolicies: imageBuilder: true autoScaler: true externalDNS: true certManager: true appMesh: true appMeshPreview: true ebs: true fsx: true efs: true awsLoadBalancerController: true xRay: true cloudWatch: true

Image Builder 政策

imageBuilder策略允许完全访问 ECR(弹性容器注册表)。例如,这对于构建需要将图像推送到 ECR 的 CI 服务器很有用。

EBS 政策

ebs策略启用了新的 EBS CSI(弹性块存储容器存储接口)驱动程序。

证书管理器政策

certManager策略允许向 Route 53 添加记录以解决 DNS01 挑战。更多信息可以在这里找到。

添加自定义实例角色

此示例创建了一个重复使用另一个集群中现有 IAM 实例角色的节点组:

apiVersion: eksctl.io/v1alpha4 kind: ClusterConfig metadata: name: test-cluster-c-1 region: eu-north-1 nodeGroups: - name: ng2-private instanceType: m5.large desiredCapacity: 1 iam: instanceProfileARN: "arn:aws:iam::123:instance-profile/eksctl-test-cluster-a-3-nodegroup-ng2-private-NodeInstanceProfile-Y4YKHLNINMXC" instanceRoleARN: "arn:aws:iam::123:role/eksctl-test-cluster-a-3-nodegroup-NodeInstanceRole-DNGMQTQHQHBJ"

附加内联策略

nodeGroups: - name: my-special-nodegroup iam: attachPolicy: Version: "2012-10-17" Statement: - Effect: Allow Action: - 's3:GetObject' Resource: 'arn:aws:s3:::example-bucket/*'

通过 ARN 附加策略

nodeGroups: - name: my-special-nodegroup iam: attachPolicyARNs: - arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly - arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess - arn:aws:iam::1111111111:policy/kube2iam withAddonPolicies: autoScaler: true imageBuilder: true
警告

如果节点组包含,则attachPolicyARNs必须包含默认节点策略AmazonEKSWorkerNodePolicy,例如本示例AmazonEC2ContainerRegistryReadOnly中的AmazonEKS_CNI_Policy和。