// This assembly is included in the following assemblies:
//
// assembly-securing-access.adoc

[id='assembly-accessing-kafka-outside-cluster-{context}']
= Accessing Kafka outside of the Kubernetes cluster

[role="_abstract"]
Use an external listener to expose your Strimzi Kafka cluster to a client outside a Kubernetes environment.

Specify the connection `type` to expose Kafka in the external listener configuration.

* `nodeport` uses `NodePort` type `Services`
* `loadbalancer` uses `Loadbalancer` type `Services`
* `ingress` uses Kubernetes `Ingress` and the {NginxIngressController}
* `route` uses OpenShift `Routes` and the HAProxy router

For more information on listener configuration, see xref:type-GenericKafkaListener-reference[`GenericKafkaListener` schema reference].

If you want to know more about the pros and cons of each connection type, refer to {Externallisteners}.

NOTE: `route` is only supported on OpenShift

include::modules/proc-accessing-kafka-using-nodeports.adoc[leveloffset=+1]
include::modules/proc-accessing-kafka-using-loadbalancers.adoc[leveloffset=+1]
include::modules/proc-accessing-kafka-using-ingress.adoc[leveloffset=+1]
include::modules/proc-accessing-kafka-using-routes.adoc[leveloffset=+1]
