Skip to main content
Version 3.0.0

Ingress — Apache Ozone

Ozone can expose multiple interfaces via Ingress, each with its own configuration. The activation is controlled by TDPConfiguration.gateway.ingress.enabled and by individual flags for each sub-ingress.

Ingress vs Gateway API

TDPConfiguration.gateway.ingress and TDPConfiguration.gateway.gatewayApi are mutually exclusive. Enable only one of them.

Services and interfaces

InterfaceParameterExample host
Ozone Manager UItdp-ozone.ingress.omozone-om.tdp.local
Storage Container Manager UItdp-ozone.ingress.scmozone-scm.tdp.local
Recon UItdp-ozone.ingress.reconozone-recon.tdp.local
S3 Gateway Web UItdp-ozone.ingress.s3g.webozone-s3-ui.tdp.local
S3 Gateway RESTtdp-ozone.ingress.s3g.rest

Configuration example

TDPConfiguration:
gateway:
ingress:
enabled: true

tdp-ozone:
ingress:
om:
enabled: true
ingressClassName: <ingress-class>
hosts:
- host: ozone-om.tdp.local
scm:
enabled: true
ingressClassName: <ingress-class>
hosts:
- host: ozone-scm.tdp.local
recon:
enabled: true
ingressClassName: <ingress-class>
hosts:
- host: ozone-recon.tdp.local
s3g:
rest:
enabled: true
ingressClassName: <ingress-class>
web:
enabled: true
ingressClassName: <ingress-class>
hosts:
- host: ozone-s3-ui.tdp.local

Replace <ingress-class> with the name of the Ingress Controller in the environment (verify with kubectl get ingressclass). Enable only the interfaces you need.

TLS: configure tls in each sub-ingress according to the chart template and the Ingress Controller used.

Access

  1. Obtain the external IP of the Ingress Controller:
    Terminal input
    kubectl get svc -A -l app.kubernetes.io/name=ingress-nginx \
    -o jsonpath='{.items[0].status.loadBalancer.ingress[0].ip}'
  2. Add the hostnames to DNS or to the /etc/hosts file:
    <INGRESS_IP>   ozone-om.tdp.local
    <INGRESS_IP> ozone-scm.tdp.local
    <INGRESS_IP> ozone-recon.tdp.local
    <INGRESS_IP> ozone-s3-ui.tdp.local
  3. Access:
    • Ozone Manager UI: http://ozone-om.tdp.local
    • Storage Container Manager UI: http://ozone-scm.tdp.local
    • Recon UI: http://ozone-recon.tdp.local
    • Use https:// if TLS is configured.

Verification

Terminal input
kubectl -n <namespace> get ingress

Troubleshooting

IssueSolution
Ingress not createdVerify TDPConfiguration.gateway.ingress.enabled: true, the sub-ingress with enabled: true, and that ingressClassName matches the Ingress Controller used in the cluster
Host does not resolveAdjust DNS or /etc/hosts to the Ingress Controller IP