Apache Kafka ListenersΒΆ
Charmed Apache Kafka K8s comes with a set of listeners that can be enabled to allow for inter- and intracluster communication.
Internal listeners are used for internal traffic and exchange of information between Apache Kafka brokers
Client listeners are used for clients within the Kubernetes cluster,
External listeners are used for clients outside the Kubernetes cluster.
Listeners are optionally enabled based on the relations created on particular charm endpoints. Each listener is characterised by a specific port, scope, security protocol and authentication mechanism.
In the following table, we summarise the protocols, the port, and
the relation that each listener is bound to. Note that based on whether a certificates
relation is present, one of two mutually exclusive types of listeners can be
opened.
Security protocol |
Authentication mechanism |
Driving endpoints |
Port |
Scope |
Listener name |
---|---|---|---|---|---|
SASL_PLAINTEXT |
|
|
|
INTERNAL |
|
SASL_SSL |
|
|
|
INTERNAL |
|
SASL_PLAINTEXT |
|
|
|
CLIENT |
|
SASL_SSL |
|
|
|
CLIENT |
|
SSL |
|
( |
|
CLIENT |
|
SASL_PLAINTEXT |
|
|
|
CLIENT |
|
SASL_SSL |
|
|
|
CLIENT |
|
SASL_PLAINTEXT |
|
|
|
EXTERNAL |
|
SASL_SSL |
|
|
|
EXTERNAL |
|
SSL |
|
( |
|
EXTERNAL |
|
SASL_PLAINTEXT |
|
|
|
EXTERNAL |
|
SASL_SSL |
|
|
|
EXTERNAL |
|
Note
Since cluster
is a peer relation, one of the two INTERNAL_*
listeners is always enabled.