Сбой Spinnaker CloudDriver Pod из-за проблемы с IAM - PullRequest
0 голосов
/ 26 февраля 2020

При развертывании Spinnaker на EKS с помощью hal deploy, модуль Spinnaker Clouddriver переходит в CrashLoopBackOff со следующей ошибкой,

Причина: com.amazon aws .services.securitytoken.model.AWSSecurityTokenServiceException : Пользователь: arn: aws: sts :: xxxxxxxxxxxx: предполагаемая роль / Spinnaker-k8s-Worker-Node-Role / i-yyyyyyyyyyyyyyy не имеет права выполнять: sts: AssumeRole на ресурсе: arn: aws: iam :: xxxxxxxxxxxx: роль / Spinnaker-Managed-Role

Моя конфигурация Halyard выглядит следующим образом:

currentDeployment: default
deploymentConfigurations:
- name: default
  version: 1.17.6
  providers:
    appengine:
      enabled: false
      accounts: []
    aws:
      enabled: true
      accounts:
      - name: my-account
        requiredGroupMembership: []
        providerVersion: V1
        permissions: {}
        accountId: 'xxxxxxxxxxxx' # my account id here
        regions:
        - name: us-east-1
        assumeRole: Spinnaker-Clouddriver-Role
        lifecycleHooks: []
      primaryAccount: my-account
      bakeryDefaults:
        baseImages: []
      defaultKeyPairTemplate: '{{name}}-keypair'
      defaultRegions:
      - name: us-east-1
      defaults:
        iamRole: BaseIAMRole

Моя Spinnaker-Clouddriver-Role роль IAM имеет PowerUserAccess разрешения на данный момент и имеет следующее как доверительные отношения

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "ec2.amazonaws.com",
          "ecs.amazonaws.com",
          "application-autoscaling.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    },
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::xxxxxxxxxxx:role/Spinnaker-k8s-Worker-Node-Role"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Как я могу решить эту проблему?


Полный журнал можно найти на https://gist.github.com/agentmilindu/d9d31ee4287c87fb87e5060e0709989d#file -awssecuritytokenserviceexception-log- L3

1 Ответ

1 голос
/ 04 марта 2020

Взгляните на политику AWS IAM, которая работает безупречно.

См. Armory AWS Настройка IAM и Настройка EC2

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:*",
                "cloudformation:*",
                "ecr:*"                
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Action": "sts:AssumeRole",
            "Resource": [
                "arn:aws:iam::123456789012:role/SpinnakerManagedRoleAccount1",
                "arn:aws:iam::101121314157:role/SpinnakerManagedRoleAccount2",
                "arn:aws:iam::202122232425:role/SpinnakerManagedRoleAccount3"
            ],
            "Effect": "Allow"
        }
    ]
}
...