-
Notifications
You must be signed in to change notification settings - Fork 458
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
Fluentbit pods logs get STS assume role request failed - could not sign request with sigv4 #480
Comments
I'm running into exactly the same issue. Did you found any workaround/solution yet ? |
@iamwep not yet. I have been reading several issues here and on 'aws-for-fluent-bit' side and there is no clarity about what could be happening. What I described here is that I think is happening under the volume mount perspective of the token from the service account (when working with IRSA) but here they'd that this could also be a problem of too many requests to the 'sts' endpoint and Amazon throttling when trying the request. I am really not sure about it, as I am testing this in a K8S test environment where there is almost no traffic regarding outbound requests |
I'm facing the same issue that I want to connect to AWS Kinesis in another account, assume role doesn't work with below error message: helm chart: |
@Wyifei @iamwep |
@bgarcial |
Hi dear community,
I've installed fluentbit helm chart on K8s (AWS EKS) and I am working with IAM roles for service accounts (this way) to send logs to aws opensearch service.
When telling to the fluentbit deployment to work with the serviceaccount that map my role on aws It seems it is looking for a
/var/run/secrets/eks.amazonaws.com/serviceaccount/aws-iam-token
file to get the token:but the default and mounted path is
/var/run/secrets/eks.amazonaws.com/serviceaccount/token
:Then it cannot fetch the credentials to assume the role ..
In somehow when creating the role and the service account, the env variable injected is
AWS_WEB_IDENTITY_TOKEN_FILE : /var/run/secrets/eks.amazonaws.com/serviceaccount/token
but the pod look for/var/run/secrets/eks.amazonaws.com/serviceaccount/aws-iam-token
as a result I got this error on the fluentbit pod logs:
I understand ths is a known issue but when checking, it is not clear how this can be solved:
But that issue about fluentbit from app code perspective getting
""
is supposed to be fixed now (I am usingv2.2.2
)It also says as a workaroud of setting the parameter
AWS_STS_Endpoint
, but did not work and for some people neither.Here a person say that it has a misconfig at chart level, but not sure if that could be my case, as I am not deploying from a custom helm chart but from
helm upgrade --install fluent-bit fluent/fluent-bit --namespace fluent-bit
so taking by default the values and tuning in some parameters for the serviceaccount and the configmap to be able to send logs to aws opensearch ...And here they ask for the necessary write permissions for the iam role, but that is not my case since I dont get permissions issues as the role is not assumed yet.
Just for the record this is my output opensearch plugin configuration:
and that iam role (which is mapped from a k8s service account) has this policy attached
I think the problem is what mentioned at the beginning pod look for
/var/run/secrets/eks.amazonaws.com/serviceaccount/aws-iam-token
file but the env variable injected isAWS_WEB_IDENTITY_TOKEN_FILE : /var/run/secrets/eks.amazonaws.com/serviceaccount/token
and that is why it does not find the token to assume the role.How can I change the fluentbit configuration form the helm chart via parameters? It seems the injected service account token is the default managed by aws eks itself but the deployment pod from the helm chart look for a slightly diff path.
I will appreciate if someone can point me in a good direction 🙂
The text was updated successfully, but these errors were encountered: