kedacore / keda

KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes
https://keda.sh
Apache License 2.0
8.4k stars 1.06k forks source link

Kafka Scaler: Allow disabling Kerberos FAST negotiation to allow use with KDCs that don't support FAST #6188

Open jkyros opened 2 weeks ago

jkyros commented 2 weeks ago

Proposal

"error creating kafka client: kafka: client has run out of available brokers to talk to: [Root cause: KRBMessage_Handling_Error] KRBMessage_Handling_Error: AS Exchange Error: AS_REP is not valid or client password/keytab incorrect < KRBMessage_Handling_Error: KDC did not respond appropriately to FAST negotiation"}

I'm proposing we add plumbing at least for the AuthConfig so we can expose this piece of client config as an authentication parameter so users can shut off FAST for their connections if they need to.

Use-Case

This would let us successfully use the Kafka scaler against KDCs that don't support FAST.

In a lot of cases the kerberos infrastructure was set up for other purposes and not just to auth our keda scaler, so modifying the KDC configuration itself is often out of reach of our users -- right now they just don't get to use kerberos with the kafka scaler. :sad

Is this a feature you are interested in implementing yourself?

Yes

Anything else?

( sarama uses gokrb5 under the hood, i.e. https://github.com/jcmturner/gokrb5/blob/master/v8/USAGE.md#active-directory-kdc-and-fast-negotiation. I was hoping for a "try and fallback" method but it doesn't look like there is one, it looks like all we get is "turn it off before you login plzkthx" )

satand commented 1 week ago

Hi, is there news about this issue? I expected it to be a cosmetic change being the FAST negotiation flag already supported by the sarama client. Many thanks