Skip to main content

Kafka Connect on Kubernetes: Statefulset vs Deployment

Hi All,

I'm building a custom Docker image for kafka Connect and planning to run it on Kubernetes. I'm a bit stuck on whether I should use a Deployment or a StatefulSet.

From what I understand, the main difference that could affect Kafka Connect is the hostname/IP behaviour. With a Deployment, pod IPs and hostnames can change after restarts. With a StatefulSet, each pod gets a stable hostname (like connect-0, connect-1, etc.)

My question is: Does it really matter for Kafka Connect(task reassignment) if the pod IPs/hostnames(this will be the worker_Id as well) change on restarts, considering its a stateless application?

Thanks

Comments