kubeflow / spark-operator

Kubernetes operator for managing the lifecycle of Apache Spark applications on Kubernetes.
Apache License 2.0
2.8k stars 1.38k forks source link

[QUESTION] Supporting nginxinc ingress #2276

Open aaronfeng opened 1 month ago

aaronfeng commented 1 month ago

spark-operator currently outputs kubernetes/ingress-nginx ingress. Unfortunately we use nginxinc/kubernetes-ingress within our cluster. Since both ingress has the same name, I don't believe it can co-exist within the same cluster. Any thoughts on also supporting nginxinc's version?

jacobsalway commented 1 month ago

I assume you're referring to the ingress class name? If so the controller supports passing this as a CLI argument however I just noticed it's not exposed in the Helm chart. I'm sure there's more work we can do to support different ingress types but for the immediate case, would being able to specify the ingress class name solve your issue? I'll raise a PR to do so regardless.

https://github.com/kubeflow/spark-operator/blob/master/cmd/operator/controller/start.go#L155

aaronfeng commented 1 month ago

There are two different nginx ingress controllers with the same name. One is maintained by Kubernetes (what spark-operator supports) and nginx ingress maintained by the nginx company (nginxinc). Both controllers have the same ingress class name ('nginx'). What spark-operator is writing out doesn't work with nginxinc ingress since the annotations and host section is slightly different. I don't think specifying ingress class will work in this case since both ingress controllers have the same exact name and different specifications.

aaronfeng commented 3 weeks ago

@jacobsalway Just following up on this. I don't think what you described will fix the issue we are facing.