-
Type:
Suggestion
-
Resolution: Unresolved
-
None
-
Affects Version/s: None
-
Component/s: Environment - Kubernetes
-
None
Regarding the nginx retirement announcement..
https://kubernetes.io/blog/2025/11/11/ingress-nginx-retirement/
..soon, it seems we'll want to deploy using a gateway controller instead of ingress. Although we can mention other ingress types (that aren't being retired) in the documentation, I think eventually we won't want our DC helm chart to use an ingress.
For reference, I got Confluence partially working after installing the Istio controller and using that instead of nginx:
- Install the Istio controller:
curl -L https://istio.io/downloadIstio | sh - cd istio-* export PATH=$PWD/bin:$PATH istioctl install --set profile=demo -y - Install gateway api CRDs:
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.0.0/standard-install.yaml - Deploy Confluence using the DC helm chart without any ingress-related options set.
- Apply a Gateway and HTTPRoute:
apiVersion: gateway.networking.k8s.io/v1 kind: Gateway metadata: name: confluence-gateway namespace: atlassian spec: gatewayClassName: istio listeners: - name: https protocol: HTTPS port: 443 tls: mode: Terminate certificateRefs: - kind: Secret name: confluence-tls --- apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: confluence-route namespace: atlassian spec: parentRefs: - name: confluence-gateway hostnames: - host.docker.internal rules: - matches: - path: type: PathPrefix value: /confluence backendRefs: - name: confluencelocalmsb port: 80 - matches: - path: type: PathPrefix value: /synchrony backendRefs: - name: confluencelocalmsb-synchrony port: 80
- If you find that the EXTERNAL-IP of the gateway service is stuck in <pending> state, delete and re-apply the yaml to fix this:
jmulcahey@HD6N59CQJP msb % kubectl get all NAME READY STATUS RESTARTS AGE pod/confluence-gateway-istio-cfcd4fdb6-wnpff 1/1 Running 0 23m pod/confluencelocalmsb-0 1/1 Running 0 23m pod/confluencelocalmsb-synchrony-0 1/1 Running 0 23m pod/postgres-postgresql-0 1/1 Running 0 24m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/confluence-gateway-istio LoadBalancer 10.106.102.184 <pending> 15021:32223/TCP,443:30938/TCP 23m service/confluencelocalmsb ClusterIP 10.108.95.215 <none> 80/TCP,5701/TCP 23m service/confluencelocalmsb-synchrony ClusterIP 10.109.226.100 <none> 80/TCP,5701/TCP 44m service/postgres-postgresql ClusterIP 10.97.182.122 <none> 5432/TCP 24m service/postgres-postgresql-hl ClusterIP None <none> 5432/TCP 24m NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/confluence-gateway-istio 1/1 1 1 23m NAME DESIRED CURRENT READY AGE replicaset.apps/confluence-gateway-istio-cfcd4fdb6 1 1 1 23m NAME READY AGE statefulset.apps/confluencelocalmsb 1/1 23m statefulset.apps/confluencelocalmsb-synchrony 1/1 23m statefulset.apps/postgres-postgresql 1/1 24m jmulcahey@HD6N59CQJP msb % kubectl delete -f ~/kubernetes/gatewayapi.yaml gateway.gateway.networking.k8s.io "confluence-gateway" deleted httproute.gateway.networking.k8s.io "confluence-route" deleted jmulcahey@HD6N59CQJP msb % kubectl apply -f ~/kubernetes/gatewayapi.yaml gateway.gateway.networking.k8s.io/confluence-gateway created httproute.gateway.networking.k8s.io/confluence-route created
Then I'm able to reach the Confluence frontend at https://host.docker.internal/confluence. I just didn't configure synchrony correctly, as collaborative editing isn't working yet.