apiVersion: v1 kind: Service metadata: { name: kafka-ui, namespace: broker } spec: ports: [{ port: 80, targetPort: 8080 }] selector: { app: kafka-ui } --- apiVersion: apps/v1 kind: Deployment metadata: { name: kafka-ui, namespace: broker } spec: replicas: 1 selector: { matchLabels: { app: kafka-ui } } template: metadata: { labels: { app: kafka-ui } } spec: containers: - name: ui image: provectuslabs/kafka-ui:latest env: - { name: KAFKA_CLUSTERS_0_NAME, value: "local" } - { name: KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS, value: "kafka.broker.svc.cluster.local:9092" } ports: [{ containerPort: 8080 }] --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: kafka-ui namespace: broker annotations: cert-manager.io/cluster-issuer: letsencrypt-prod # nginx.ingress.kubernetes.io/auth-type: basic # nginx.ingress.kubernetes.io/auth-secret: basic-auth-broker # nginx.ingress.kubernetes.io/auth-realm: "Authentication Required" spec: ingressClassName: nginx tls: [{ hosts: ["broker.betelgeusebytes.io"], secretName: broker-tls }] rules: - host: broker.betelgeusebytes.io http: paths: - path: / pathType: Prefix backend: { service: { name: kafka-ui, port: { number: 80 } } }