victorious-jelly-28729
05/08/2025, 7:54 AMjolly-florist-66728
05/08/2025, 7:54 AMvictorious-jelly-28729
05/08/2025, 7:56 AMjolly-florist-66728
05/08/2025, 7:56 AMkubectl describe sa <flyteadmin-sa> -n <flyte-namespace>
You should see an annotation like:
eks.amazonaws.com/role-arn: arn:aws:iam::<account-id>:role/<flyte-iam-role>
If missing, add it:
kubectl annotate serviceaccount -n <flyte-namespace> <flyteadmin-sa> eks.amazonaws.com/role-arn=arn:aws:iam::<account-id>:role/<flyte-iam-role>
2. Verify IAM Role Trust Policy
The IAM role must trust the EKS OIDC provider and the service account. The trust policy should include:
{
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::<account-id>:oidc-provider/<oidc-provider>"
},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"StringEquals": {
"<oidc-provider>:sub": "system:serviceaccount:<flyte-namespace>:<flyteadmin-sa>"
}
}
}
Update the trust policy in the AWS console if needed.
3. Check IAM Role Permissions
The IAM role should have permissions for the required AWS actions (e.g., S3, STS).
4. Restart FlyteAdmin Pod
After making changes, restart the FlyteAdmin pod to pick up the new credentials:
kubectl delete pod -l app=flyteadmin -n <flyte-namespace>
For more details, see the Union.ai troubleshooting guide and Flyte on EKS blog.
Sources:
- Union.ai Docs
- Flyte on EKS Blog 👍 0 button 👎 0 button 💡 Hint: Mention @runllm in the thread for followups.