Description
Hi,
I would like to setup OCI LB for Kafka deployment by utilizing ClusterIP services with Ingress (for Kafka I am using https://github.com/bitnami/charts/tree/main/bitnami/kafka/#installing-the-chart). I am using 3 controllers/brokers for Kafka.
Such setup is documented/working with nginx LB using config maps but I'm not able to configure similar with oci-native-ingress-controller. Anyway, when I configure it manually (the LB on OCI) it is working as expected.
Brief description:
- The Kafka service is exposed externally on 3 pods = 3 IP addresses with same Port> E.g., IP1:9095, IP2:9095, IP3:9095
- The OCI LB for this is correctly set using Ingress with one Listener (on port 9095) with Backend Set with 3 backends (IP1:9095, IP2:9095, IP3:9095).
- The Kafka is redirecting "initial" request (on Service) from client to the one of 3 Endpoints on same OCI LB which are distinguished by 3 different Ports and LB should the direct it to the right Enpoint based on the port - I am able to configure this manually but not using oci-native-ingress-controller.
- E.g., LB:9096 should redirect to IP1:9095, LB:9097 should redirect to IP2:9095, LB:9098 should redirect to IP3:9095,
- So, the LB configuration should be 3 listeners > Listener on port 9096 with Backend Set and one backed IP1:9095, Listener on port 9097 with Backend Set and one backed IIP2:9095, Listener on port 9098 with Backend Set and one backed IP3:9095
Nginx is using config maps on controller deployment and this is then propagated on Ingress and into LB afterwards .
Sample config map
apiVersion: v1
kind: ConfigMap
metadata:
name: tcp-ingress-4-kafka-ing
namespace: kafka-ingress
data:
9096: "kafka-ingress/kafka-ing-controller-0-external:9095"
9097: "kafka-ingress/kafka-ing-controller-1-external:9095"
9098: "kafka-ingress/kafka-ing-controller-2-external:9095"
Is it possible to achieve this configuration using oci-native-ingress-controller with Ingress or is this functionality missing so far please?
Thank you.