koperator icon indicating copy to clipboard operation
koperator copied to clipboard

Add Envoy support for HTTP/1.0 health-check requests

Open ctrlaltluc opened this issue 2 years ago • 10 comments

Q A
New feature? yes

What's in this PR?

Added Envoy support for HTTP/1.0 health-check requests.

Why?

Some older Load Balancers have default health-checks in HTTP/1.0, and when those are using the Envoy health-check endpoints without HTTP/1.0 support, they fail.

Checklist

  • [x] Implementation tested
  • [x] Error handling code meets the guideline
  • [x] Logging code meets the guideline
  • [x] User guide and development docs updated (if needed)

ctrlaltluc avatar Jul 11 '22 14:07 ctrlaltluc

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Jul 11 '22 14:07 CLAassistant

Fair point - we can put this behind a feature flag, right @ctrlaltluc ?

amuraru avatar Jul 12 '22 16:07 amuraru

Thanks for your comments!

Sure @amuraru. Just to double check, I think that @stoader was referring to leave it false by default and let clients pass it via operator config. Am I mistaken @stoader?

ctrlaltluc avatar Jul 12 '22 16:07 ctrlaltluc

Thinking about it, it is basically the same as you meant @amuraru. I will amend the PR.

ctrlaltluc avatar Jul 12 '22 16:07 ctrlaltluc

IIUC the proposal is to have the KafkaCluster CRD extended to support an optional flag for this. Something like EnableHttp10ForHealthCheckPort (probably shorter :) ) in: https://github.com/banzaicloud/koperator/blob/1975aebe9020f2009a96ffc416fbe7db7b2a1623/api/v1beta1/kafkacluster_types.go#L268-L297

amuraru avatar Jul 12 '22 16:07 amuraru

IIUC the proposal is to have the KafkaCluster CRD extended to support an optional flag for this. Something like EnableHttp10ForHealthCheckPort (probably shorter :) ) in:

https://github.com/banzaicloud/koperator/blob/1975aebe9020f2009a96ffc416fbe7db7b2a1623/api/v1beta1/kafkacluster_types.go#L268-L297

I wonder if this flag can be enabled or not through the CommandLineArgs

stoader avatar Jul 12 '22 16:07 stoader

I wonder if this flag can be enabled or not through the CommandLineArgs

Just checked that but envoy doesn't support enabling this via command line arguments

amuraru avatar Aug 01 '22 10:08 amuraru

@ctrlaltluc Just curious if there are any updates on this PR? Or should we take it from here and update the PR with the suggestions from @stoader and @amuraru?

panyuenlau avatar Aug 08 '22 09:08 panyuenlau

@panyuenlau I will follow up next week with a new commit. I am on holiday this week. I had a commit prepared, just needed to change some tests too.

ctrlaltluc avatar Aug 08 '22 12:08 ctrlaltluc

@panyuenlau I will follow up next week with a new commit. I am on holiday this week. I had a commit prepared, just needed to change some tests too.

@ctrlaltluc Thanks for the info and we look forward to the update!

panyuenlau avatar Aug 08 '22 12:08 panyuenlau

@ctrlaltluc Thanks for the info and we look forward to the update!

@panyuenlau I updated the PR according to the previous comments. Thanks for your patience!

ctrlaltluc avatar Aug 23 '22 13:08 ctrlaltluc

@ctrlaltluc Can you please update this sample KafkaCluster yaml to reflect the newly added field?

panyuenlau avatar Aug 25 '22 16:08 panyuenlau

@ctrlaltluc Can you please update this sample KafkaCluster yaml to reflect the newly added field?

@panyuenlau Managed to add it in 48a78f3.

ctrlaltluc avatar Aug 31 '22 11:08 ctrlaltluc

@panyuenlau the PR is ready to be merged now. :)

ctrlaltluc avatar Sep 07 '22 15:09 ctrlaltluc

I just wanted to ask that, thanks for confirming 🙂

pregnor avatar Sep 07 '22 15:09 pregnor