Home > Software engineering >  How to make bitnami/kafka accessible from external via clusterip
How to make bitnami/kafka accessible from external via clusterip

Time:09-30

On this document.

https://github.com/bitnami/charts/tree/master/bitnami/kafka

it mentioned following:

Note: the deployed ingress must contain the following block:

tcp:
  9094: "{{ .Release.Namespace }}/{{ include "kafka.fullname" . }}-0-external:9094"
  9095: "{{ .Release.Namespace }}/{{ include "kafka.fullname" . }}-1-external:9094"
  9096: "{{ .Release.Namespace }}/{{ include "kafka.fullname" . }}-2-external:9094"

what does this means? what is this configuration? is this helm chart configuration or k8s configuration?

CodePudding user response:

Yes, this reference points to the values.yaml of ingress controller Helm charts, there is a section where you can mention the TCP and UDP ports that you want to allow traffic to, Ingress by default does not support TCP or UDP services. For this reason this Ingress controller uses the flags --tcp-services-configmap and --udp-services-configmap to point to an existing config map where the key is the external port to use and the value indicates the service to expose using the format:

 <namespace/service name>:<service port>:[PROXY]:[PROXY] 

Ingress controller helm chart: https://github.com/kubernetes/ingress-nginx

TCP reference: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md

#Ingress-nginx values.yaml sample below
# TCP service key:value pairs
tcp:
#  8080: "default/example-tcp-svc:9000"

# UDP service key:value pairs
udp: {}
#  53: "kube-system/kube-dns:53"

CodePudding user response:

I resolved this by referring to this guide.

https://minikube.sigs.k8s.io/docs/tutorials/nginx_tcp_udp_ingress/

I was missing this step

kubectl patch deployment ingress-nginx-controller --patch "$(cat ingress-nginx-controller-patch.yaml)" -n ingress-nginx

ingress-nginx-controller-patch.yaml

spec:
  template:
    spec:
      containers:
      - name: controller
        ports:
         - containerPort: 6379
           hostPort: 6379

  • Related