-
Notifications
You must be signed in to change notification settings - Fork 344
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
Configure external Cassandra instance on cloud platform #1179
Comments
Are you able to configure Jaeger on your local machine (bare metal or Docker) to connect to your target Cassandra cluster? If so, it should also be possible with the operator. If it's a limitation in Jaeger itself, I'll move this issue to that repository. |
So after some additional investigation I guess it is kind of both. So I am able to connect to the external cassandra using the following Helm installation on AKS: where the values are:
This spins up the required pods, but the connection is failing due to the SSL connection creation I guess:
This is something that should be fixed by proper TLS certificate injection (ideally, we would be able to also configure TLS easily for certs which are from well known CAs without providing the secret at all). For the regular TLS setup with a TLS secret, there is the following discussion and PR open in the Jaeger project: Nevertheless, the server does respond but the database connection cannot be created. What I investigated as well is that the So I guess we have to figure out a couple of things:
To detail the easier TLS configuration, we might want to supply a configuration, which configures the connection with a similar setup like the one described in the Python snippet. It's python because that one was handy on the Azure Quick Start tab.
If one of you guys are pointing us to the right files we might be able to add a couple lines of code :) |
This is only about the create-schema job, right? If so, you'll probably need something like this to obtain the port: jaeger-operator/pkg/storage/cassandra_dependencies.go Lines 39 to 43 in 6accbc2
And then, set the env var to the job, like: jaeger-operator/pkg/storage/cassandra_dependencies.go Lines 141 to 162 in 6accbc2
Finally, you'll need to add support for the new env var here:
I suppose this is again only for the create-schema, as it should be relatively easy to add volumes/volume mounts with the TLS certs and use them as part of |
Ok we will create a PR for it. Keep you posted. |
Signed-off-by: Ashmita Bohara <[email protected]> Since jaegertracing/jaeger#2472 is merged, adding support for custom port here. Partially Fixes: #1179
Reopening, as the "well-known TLS" part is still pending. |
@Ashmita152, I think there are two things that could be pursued here:
Each one of those should be a different issue/PR, and I would focus on the 1st only, at the moment. |
Hi @jpkrohling Thank you for the detailed response. I looked at the cassandra image earlier. It is based on Ubuntu image in which the standard place for ca-certificates is /etc/ssl/certs/ca-certificates.crt. I will work on it and raise two PRs accordingly. |
Wait to work on the second, we might need to have a better understanding of the whole situation there: it might not be appropriate to load a set of certificates for the create-schema and not load the same set with the other components. |
Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward? This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
Bug description
To increase operational efficiency, we do want to host Cassandra as a storage backend outside the cluster on Azure. Cassandra on Azure does provide a host, port, username and password which should be everything that we need to create a connection for Jaeger.
Unfortunately, it seems like Jaeger does not longer take the
CQLSH_PORT
into consideration. Instead, the host is transferred asservers
but the port is neglected. Further, we are not longer possible to require TLS on this connection. Both should have been possible for the Helm installation which is deprecated.We did check on the storage definition to see whether we missed something in the official docs:
https://github.com/jaegertracing/jaeger-operator/blob/master/pkg/storage/cassandra_dependencies.go
Expected behavior
Guess it would be nice to have a configuration option to supply an external Cassandra service outside of the cluster. So the definition of Cassandras host, port as well as TLS options should be possible.
Steps to reproduce the bug
We tried both Operator yamls:
We would really appreciate information if this is a bug or if it works as intended and we have to rely on a cluster internal storage.
Thanks in advance!
The text was updated successfully, but these errors were encountered: