kubernetes 如何使用AWS CDK扩展默认ALB控制器策略?

31moq8wy  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(2)|浏览(112)

我目前正在安装金发姑娘 Helm 图到一个EKS集群。我已经通过操作单个Helm图表值为工具的 Jmeter 板启用了一个入口。问题是,由于ALB控制器的默认IAM策略缺少单个IAM策略语句,因此无法部署入口。因此,我创建了所需的声明,并将其链接到新政策。
当尝试将此自定义IAM策略传递给albController时,我遇到了以下error: TypeError: policy.Statement不可迭代。我在确定albController策略的预期属性类型时遇到了困难,因为它没有定义类型(any类型)。

const elbAllowAddTags = new iam.PolicyStatement({
      resources: ["*"],
      effect: iam.Effect.ALLOW,
      actions: ["elasticloadbalancing:AddTags"],
      conditions: { "StringEquals": { "elasticloadbalancing:CreateAction": "CreateTargetGroup" } }
    })

    const elbPolicy = new iam.Policy(scope, "elbPolicy", {
      policyName: "elbPolicy",
      statements: [elbAllowAddTags],
    });
  
  const eksCluster = new eks.Cluster(scope, id, {
    albController: {
      ...
      policy: elbPolicy,
    },
fjnneemd

fjnneemd1#

这里有一个CDK Docs的例子

declare const cluster: eks.Cluster;

const consoleReadOnlyRole = new iam.Role(this, 'ConsoleReadOnlyRole', {
assumedBy: new iam.ArnPrincipal('arn_for_trusted_principal'),
});
consoleReadOnlyRole.addToPolicy(new iam.PolicyStatement({
 actions: [
 'eks:AccessKubernetesApi',
 'eks:Describe*',
 'eks:List*',
 ],
 resources: [ cluster.clusterArn ],
 }));

// Add this role to system:masters RBAC group
cluster.awsAuth.addMastersRole(consoleReadOnlyRole)
gopyfrb3

gopyfrb32#

我无法扩展默认的ALB控制器策略,但我通过升级ALBC版本解决了这个问题(请参阅-https://github.com/aws/aws-cdk/issues/26442)。

相关问题