Skip to content
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

Allow use of non-dualstack endpoints for S3 blocks storage #6516

Open
sam-mcbr opened this issue Jan 16, 2025 · 3 comments · May be fixed by #6522
Open

Allow use of non-dualstack endpoints for S3 blocks storage #6516

sam-mcbr opened this issue Jan 16, 2025 · 3 comments · May be fixed by #6522
Labels
backend/s3 difficulty/easy good first issue These are great first issues. If you are looking for a place to start, start here! help wanted

Comments

@sam-mcbr
Copy link

Describe the bug
Cannot configure the S3 blocks storage endpoint to point to a non-dualstack endpoint. In our config we have the blocks_storage.s3.endpoint set to s3.us-east-1.amazonaws.com. However, we observe the Cortex pods only reaching out to <bucket name>.s3.dualstack.us-east-1.amazonaws.com.

To Reproduce
Steps to reproduce the behavior:

  1. Start Cortex (v1.18.1)
  2. In the config, set the blocks_storage.s3.endpoint to a non-dualstack endpoint such as s3.us-east-1.amazonaws.com
  3. Send data to Cortex
  4. Observe that the endpoint the pods are connecting to is still <bucket name>.s3.dualstack.us-east-1.amazonaws.com

Expected behavior
We would expect Cortex to support hitting this non-dualstack endpoint. If we configure the endpoint as s3.us-east-1.amazonaws.com, Cortex should hit <bucket name>.s3.us-east-1.amazonaws.com.

Environment:

  • Infrastructure: Kubernetes
  • Deployment tool: helm

Additional Context
Minio does support this configuration (minio/minio-go#1945) as of v7.0.69 which is available in Cortex 1.17.1 and up. The value defaults to true for backwards compatibility. This function should allow the configuration of this option.

@mehta-ankit
Copy link

To add some context, we are seeing performance issues on our K8s clusters especially with cilium and its cache.
Saw this comment and wanted to try this and not use dualstack s3 endpoints.

@yeya24
Copy link
Contributor

yeya24 commented Jan 17, 2025

That's a configuration already exists in the S3 client we use. https://github.com/thanos-io/objstore/blob/a54d0f04b42aea5ef4e0fd0b9bb4ad75629ea070/providers/s3/s3.go#L120

Just need to expose this configuration in Cortex. Help wanted

@yeya24 yeya24 added help wanted good first issue These are great first issues. If you are looking for a place to start, start here! difficulty/easy and removed type/bug labels Jan 17, 2025
@sam-mcbr
Copy link
Author

Am working on a PR!

@sam-mcbr sam-mcbr linked a pull request Jan 17, 2025 that will close this issue
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend/s3 difficulty/easy good first issue These are great first issues. If you are looking for a place to start, start here! help wanted
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants