Messaging
Managed Kafka on your own cluster
Event streaming with partitioned, replayable topics, managed by Strimzi, so every Kafka client connects unchanged.
Created inside a project, beside the apps that use it. Each project gets its own instance, storage and credentials.
01What it does
Kafka, run for you
Kafka 4.2 or 4.3 on the Strimzi operator.
For logs, events and stream processing: topics that are partitioned and replayable, read by each consumer at its own pace. Strimzi runs the broker, and every Kafka client library connects to it unchanged with the bootstrap servers and SASL credentials a bound app receives.
Kafka keeps recent messages in the page cache, so memory beyond the heap is what makes reads fast. Message retention is a setting, and the disk has to hold that many days of traffic. Kafka hands clients the brokers' internal addresses to follow, which is why it has no public port.
02Options
What you choose
What the console asks when you create it, in the catalog's own numbers. Anything marked chosen once cannot change without creating a new instance.
- Sizes
- small 0.25 CPU / 1Gi, medium 0.5 / 2Gi, large 1 / 4Gi
- Storage
- 10Gi by default; grows later if the storage class supports expansion
- Retention
- 1, 7 (default) or 30 days, unless a topic sets its own
- Versions
- 4.3 (default) or 4.2, chosen once
- Public port
- None; brokers hand clients internal addresses
- Pause
- No; pause the project instead
03Binding
What your app receives
Bind it to an app and these arrive as environment variables. The values are generated once into a secret and reach the app from there, rather than as something you copy.
- KAFKA_BOOTSTRAP_SERVERS
- KAFKA_HOST
- KAFKA_PORT
- KAFKA_USERNAME
- KAFKA_PASSWORD
- KAFKA_SASL_MECHANISM
- KAFKA_SECURITY_PROTOCOL
04Adding it
Add Kafka to a project
The same four steps as every service in the catalog.
- 01Open a project and go to Services.
- 02Pick it from the catalog and choose its options. Only the size is required; everything else has a default.
- 03Create it. Anyport installs it into the project's namespace, generates its credentials into a secret there, and tracks its health.
- 04Bind it to an app. The connection details arrive as environment variables, and rotating the credential never means editing an app.