-
Notifications
You must be signed in to change notification settings - Fork 113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
S3Storage EgressExtension cant load AWS token from the service account mounted in a EKS POD #7201
Comments
Welcome to dotnet-monitor!Thanks for creating your first issue; let us know what you think of dotnet-monitor by filling out our survey. |
BTW, I saw this pr --> #6626 Definitely either is not included in the latest mcr.microsoft.com/dotnet/monitor:8 or the issue still persist |
For those affected, I was able to "workaround" this issue by building my own monitor container using the 9.0 monitor base. |
The PR to support this is not part of .NET Monitor 8.0. The 8.0 version of .NET Monitor was released in November 2023 and the PR was complete in May 2024. Coupled with the fact that we largely observe SemVer 2 versioning scheme for .NET Monitor, this enhancement will not ever be included in an 8.0 update. You'll have to wait for either an 8.1 version (which we have no definitive plans for a release at this time) or use the 9.0 previews.
I would not recommend building your .NET Monitor image unless you need to make custom alterations to .NET Monitor itself. While building it may not be difficult, we do that already for you and service the image on a regular basis. The 9.0 images (currently in preview but expected to GA later this year) already include the mentioned PR for several previews at this point. You can get the preview version of 9.0 using |
I will update the document to be clear about which versions include this new capability. |
@jander-msft thanks a lot for clarifying the releases schema. It is clear now. I will then definitely use mcr.microsoft.com/dotnet/monitor:9-preview. Thanks for your quick support. |
Description
Given an EKS cluster v 1.29 with the EKS Pod Identity Agent installed and an OIDC identity provider created.
curl -i "http://localhost:52323/dump?egressProvider=dump"
The dontet-monitor throws the following error;
{"Timestamp":"2024-08-25T17:50:51.9854761Z","EventId":91,"LogLevel":"Information","Category":"Microsoft.Diagnostics.Tools.Monitor.Egress.EgressExtension","Message":"Extension process 46 wrote output: {\u0022Succeeded\u0022:false,\u0022FailureMessage\u0022:\u0022Assembly AWSSDK.SecurityToken could not be found or loaded. This assembly must be available at runtime to use Amazon.Runtime.AssumeRoleAWSCredentials.\u0022,\u0022ArtifactPath\u0022:null}","State":{"Message":"Extension process 46 wrote output: {\u0022Succeeded\u0022:false,\u0022FailureMessage\u0022:\u0022Assembly AWSSDK.SecurityToken could not be found or loaded. This assembly must be available at runtime to use Amazon.Runtime.AssumeRoleAWSCredentials.\u0022,\u0022ArtifactPath\u0022:null}","pid":46,"message":"{\u0022Succeeded\u0022:false,\u0022FailureMessage\u0022:\u0022Assembly AWSSDK.SecurityToken could not be found or loaded. This assembly must be available at runtime to use Amazon.Runtime.AssumeRoleAWSCredentials.\u0022,\u0022ArtifactPath\u0022:null}","{OriginalFormat}":"Extension process {pid} wrote output: {message}"},"Scopes":[{"Message":"ArtifactType:dump ArtifactSource_ProcessId:1 ArtifactSource_RuntimeInstanceCookie:694f2cff7a5745e48b84ed75f3900ca3","ArtifactType":"dump","ArtifactSource_ProcessId":"1","ArtifactSource_RuntimeInstanceCookie":"694f2cff7a5745e48b84ed75f3900ca3"}]}
The exact same SA works like a charm when mounted in another pod. e.g. in a pod with an aws-cli container:
Expected
Dotnet-monitor, thru AWSDK should be able to retrieve the mounted token.
Supposedly it reads the following env vars:
Those env vars are populated automatically when adding a IRSA SA, BUT when adding a SA thru EKS pod identity, others are created (it would be great to have support for those as well). None of them seems to work. Even if you manually populate those env vars.
Configuration
The text was updated successfully, but these errors were encountered: