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

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

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

  1. const elbAllowAddTags = new iam.PolicyStatement({
  2. resources: ["*"],
  3. effect: iam.Effect.ALLOW,
  4. actions: ["elasticloadbalancing:AddTags"],
  5. conditions: { "StringEquals": { "elasticloadbalancing:CreateAction": "CreateTargetGroup" } }
  6. })
  7. const elbPolicy = new iam.Policy(scope, "elbPolicy", {
  8. policyName: "elbPolicy",
  9. statements: [elbAllowAddTags],
  10. });
  11. const eksCluster = new eks.Cluster(scope, id, {
  12. albController: {
  13. ...
  14. policy: elbPolicy,
  15. },
fjnneemd

fjnneemd1#

这里有一个CDK Docs的例子

  1. declare const cluster: eks.Cluster;
  2. const consoleReadOnlyRole = new iam.Role(this, 'ConsoleReadOnlyRole', {
  3. assumedBy: new iam.ArnPrincipal('arn_for_trusted_principal'),
  4. });
  5. consoleReadOnlyRole.addToPolicy(new iam.PolicyStatement({
  6. actions: [
  7. 'eks:AccessKubernetesApi',
  8. 'eks:Describe*',
  9. 'eks:List*',
  10. ],
  11. resources: [ cluster.clusterArn ],
  12. }));
  13. // Add this role to system:masters RBAC group
  14. cluster.awsAuth.addMastersRole(consoleReadOnlyRole)
展开查看全部
gopyfrb3

gopyfrb32#

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

相关问题