cp-helm-charts icon indicating copy to clipboard operation
cp-helm-charts copied to clipboard

Define broker.rack propery

Open killfill opened this issue 6 years ago • 11 comments

Kubernetes knows the availability zone or rack a pod is running on.

We could take this info, which is in the annotation of the node called failure-domain.beta.kubernetes.io/zone, and set it as the broker.rack property.

AFAIK, That annotation is setup by kube cloud integration's automatically, i.e. on AWS it takes values like us-east-1c. On-Prem, that annotation can be manually set, but not enforced. In this case the property would be set as: broker.rack=

Not exactly the same as the default null value, but close enough as both makes kafka behave the same 😅

Thanks!!

killfill avatar Oct 26 '18 02:10 killfill

It looks like @killfill hasn't signed our Contributor License Agreement, yet.

The purpose of a CLA is to ensure that the guardian of a project's outputs has the necessary ownership or grants of rights over all contributions to allow them to distribute under the chosen licence. Wikipedia

You can read and sign our full Contributor License Agreement here.

Once you've signed reply with [clabot:check] to prove it.

Appreciation of efforts,

clabot

ghost avatar Oct 26 '18 02:10 ghost

[clabot:check]

killfill avatar Oct 26 '18 02:10 killfill

It looks like @killfill hasn't signed our Contributor License Agreement, yet.

The purpose of a CLA is to ensure that the guardian of a project's outputs has the necessary ownership or grants of rights over all contributions to allow them to distribute under the chosen licence. Wikipedia

You can read and sign our full Contributor License Agreement here.

Once you've signed reply with [clabot:check] to prove it.

Appreciation of efforts,

clabot

ghost avatar Oct 26 '18 02:10 ghost

[clabot:check]

killfill avatar Oct 26 '18 02:10 killfill

@confluentinc It looks like @killfill just signed our Contributor License Agreement. :+1:

Always at your service,

clabot

ghost avatar Oct 26 '18 02:10 ghost

@gAmUssA You mean something like that?

I would guess it's a good idea to leave the rack awareness enabled by default. When k8s is on cloud, it actually does has zones. When on-prem, its 'optional'. If disabled, the rack property will be empty (disabled)

Its like the user is defining it its infra has multiple 'racks' (or zones) on k8s, and maybe kafka should just inherit it (?).

Thanks!

killfill avatar Oct 30 '18 14:10 killfill

Hi @gAmUssA,

Anything missing for a merge? Thanks!

killfill avatar Nov 13 '18 11:11 killfill

@killfill waiting for @qshao-pivotal's «second pair of eyes) :)

gAmUssA avatar Nov 13 '18 17:11 gAmUssA

I'd also recommend making the topology key configurable. For example, we're deploying our kafka worker nodes into a PARTITION placement group so the partition number should also be included in the rack id. Unfortunately, since these placement groups are new, the AWS cloud provider doesn't add it to the zone annotation. It would be useful to be able to specify the annotation to use as the key. Then we could annotate our nodes with a custom annotation that contains both the AZ and the partition id.

gregsymons avatar May 22 '19 22:05 gregsymons

hi @gAmUssA - If we add above changes confluent Kafka cluster will deploy on availability zones on EKS Cluster, using Rack Awareness. Which parameter I need to pass for broke.rack= in values.yaml file.

I have deployed with above changes, I am getting below error. Please suggest. image

Thanks.

bharathreddy901 avatar Mar 10 '23 11:03 bharathreddy901

Hi @gAmUssA - Thanks for inputs, it worked now.

bharathreddy901 avatar Mar 13 '23 15:03 bharathreddy901