Configure Listeners in Kubernetes

You can customize the advertised ports for each listener on all Redpanda brokers, or disable listeners altogether.

Customize the advertised ports

To customize the advertised ports for each listener, replace <port> with the port that you want to use.

Redpanda doesn’t validate the configured port numbers. Make sure to verify the following:

  • Your configured port numbers are within the range that is assigned for node ports in your Kubernetes cluster.

  • Your Kubernetes cluster is accessible through your desired node port range. You may need to edit your inbound firewall rules.

  • Your configured port numbers are not in use by any other service.

Customize Admin API ports

  • --values

  • --set

custom-admin-port.yaml
listeners:
  admin:
    external:
      default:
        advertisedPorts:
        - <port>
helm upgrade --install redpanda redpanda/redpanda --namespace redpanda --create-namespace \
  --values custom-admin-port.yaml --reuse-values
helm upgrade --install redpanda redpanda/redpanda --namespace redpanda --create-namespace \
  --set "listeners.admin.external.default.advertisedPorts={<port>}"

Customize Kafka API ports

  • --values

  • --set

custom-kafka-port.yaml
listeners:
  kafka:
    external:
      default:
        advertisedPorts:
        - <port>
helm upgrade --install redpanda redpanda/redpanda --namespace redpanda --create-namespace \
  --values custom-kafka-port.yaml --reuse-values
helm upgrade --install redpanda redpanda/redpanda --namespace redpanda --create-namespace \
  --set "listeners.kafka.external.default.advertisedPorts={<port>}"

Customize the HTTP Proxy ports

  • --values

  • --set

custom-pandaproxy-port.yaml
listeners:
  http:
    external:
      default:
        advertisedPorts:
        - <port>
helm upgrade --install redpanda redpanda/redpanda --namespace redpanda --create-namespace \
  --values custom-pandaproxy-port.yaml --reuse-values
helm upgrade --install redpanda redpanda/redpanda --namespace redpanda --create-namespace \
  --set "listeners.http.external.default.advertisedPorts={<port>}"

Customize Schema Registry ports

  • --values

  • --set

custom-schema-registry-port.yaml
listeners:
  schemaRegistry:
    external:
      default:
        advertisedPorts:
        - <port>
helm upgrade --install redpanda redpanda/redpanda --namespace redpanda --create-namespace \
  --values custom-schema-registry-port.yaml --reuse-values
helm upgrade --install redpanda redpanda/redpanda --namespace redpanda --create-namespace \
  --set "listeners.schemaRegistry.external.default.advertisedPorts={<port>}"

Disable external access

You can disable external access for all listeners or for individual listeners.

Disable all listeners

  • --values

  • --set

disable-external-access.yaml
external:
  enabled: false
helm upgrade --install redpanda redpanda/redpanda --namespace redpanda --create-namespace \
  --values disable-external-access.yaml --reuse-values
helm upgrade --install redpanda redpanda/redpanda --namespace redpanda --create-namespace \
  --set external.enabled=false

Disable the Admin API

  • --values

  • --set

disable-external-admin-api.yaml
external:
  enabled: false
helm upgrade --install redpanda redpanda/redpanda --namespace redpanda --create-namespace \
  --values disable-external-admin-api.yaml --reuse-values
helm upgrade --install redpanda redpanda/redpanda --namespace redpanda --create-namespace \
  --set listeners.admin.external.default.enabled=false

Disable the Kafka API

  • --values

  • --set

disable-external-kafka-api.yaml
listeners:
  kafka:
    external:
      default:
        enabled: false
helm upgrade --install redpanda redpanda/redpanda --namespace redpanda --create-namespace \
  --values disable-external-kafka-api.yaml --reuse-values
helm upgrade --install redpanda redpanda/redpanda --namespace redpanda --create-namespace \
  --set listeners.kafka.external.default.enabled=false

Disable the HTTP Proxy

  • --values

  • --set

disable-external-pandaproxy.yaml
listeners:
  http:
    external:
      default:
        enabled: false
helm upgrade --install redpanda redpanda/redpanda --namespace redpanda --create-namespace \
  --values disable-external-pandaproxy.yaml --reuse-values
helm upgrade --install redpanda redpanda/redpanda --namespace redpanda --create-namespace \
  --set listeners.http.external.default.enabled=false

Disable Schema Registry

  • --values

  • --set

disable-external-schema-registry.yaml
listeners:
  schemaRegistry:
    external:
      default:
        enabled: false
helm upgrade --install redpanda redpanda/redpanda --namespace redpanda --create-namespace \
  --values disable-external-schema-registry.yaml --reuse-values
helm upgrade --install redpanda redpanda/redpanda --namespace redpanda --create-namespace \
  --set listeners.schemaRegistry.external.default.enabled=false

Next steps

Configure security for your listeners.