kubernetes / ingress-nginx

Ingress NGINX Controller for Kubernetes
https://kubernetes.github.io/ingress-nginx/
Apache License 2.0
17.51k stars 8.26k forks source link

nginx changed internal load balancer config with upgrade to azure kubernetes 1.24.9 #9791

Closed 86emanuele closed 2 months ago

86emanuele commented 1 year ago

Hi,

after upgrade the azure kubernetes cluster to 1.24.9 version we got a problem with internal load balancer. The health probe on load balancer changed from tcp to https with /healthz probe. The problem is that when it switch to https the clusters stop to works.

We did the same update in development and we didn't got any problem. As i understand old clusters like ours use tcp as protocol, the new one http or https.

here our nginx configuration:

`


Source: ingress-nginx/templates/controller-serviceaccount.yaml

apiVersion: v1 kind: ServiceAccount metadata: labels: helm.sh/chart: ingress-nginx-4.5.2 app.kubernetes.io/name: ingress-nginx app.kubernetes.io/instance: nginx-ingress app.kubernetes.io/version: "1.6.4" app.kubernetes.io/part-of: ingress-nginx app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: controller name: nginx-ingress-ingress-nginx namespace: ingress automountServiceAccountToken: true

Source: ingress-nginx/templates/controller-configmap-tcp.yaml

apiVersion: v1 kind: ConfigMap metadata: labels: helm.sh/chart: ingress-nginx-4.5.2 app.kubernetes.io/name: ingress-nginx app.kubernetes.io/instance: nginx-ingress app.kubernetes.io/version: "1.6.4" app.kubernetes.io/part-of: ingress-nginx app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: controller name: nginx-ingress-ingress-nginx-tcp namespace: ingress data: "9300": observability/elasticsearch-client:9300

Source: ingress-nginx/templates/controller-configmap.yaml

apiVersion: v1 kind: ConfigMap metadata: labels: helm.sh/chart: ingress-nginx-4.5.2 app.kubernetes.io/name: ingress-nginx app.kubernetes.io/instance: nginx-ingress app.kubernetes.io/version: "1.6.4" app.kubernetes.io/part-of: ingress-nginx app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: controller name: nginx-ingress-ingress-nginx-controller namespace: ingress data: allow-snippet-annotations: "true"

Source: ingress-nginx/templates/controller-service-webhook.yaml

apiVersion: v1 kind: Service metadata: labels: helm.sh/chart: ingress-nginx-4.5.2 app.kubernetes.io/name: ingress-nginx app.kubernetes.io/instance: nginx-ingress app.kubernetes.io/version: "1.6.4" app.kubernetes.io/part-of: ingress-nginx app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: controller name: nginx-ingress-ingress-nginx-controller-admission namespace: ingress spec: type: ClusterIP ports:

`

image

can you please help us to understand this behavior? if is possbile we want to fix it to use new probe with http or https.

Regards

k8s-ci-robot commented 1 year ago

This issue is currently awaiting triage.

If Ingress contributors determines this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
longwuyuan commented 1 year ago

/remove-kind bug

Please check if it is https://github.com/kubernetes/ingress-nginx/issues/9601#issuecomment-1454119887

86emanuele commented 1 year ago

Hi @longwuyuan thanks. I did some tests but i had to apply also this setting:

service: externalTrafficPolicy: Local

what are the difference with this configuration?

Regards

longwuyuan commented 1 year ago

https://kubernetes.io/search/?q=externalTrafficPolicy https://kubernetes.io/docs/concepts/services-networking/service/

86emanuele commented 1 year ago

Thanks, i prefer to use externalTrafficPolicy: Cluster but in this way is not working. There are other config that we can do?

longwuyuan commented 1 year ago

other than probe protocol change, I don't understand the problem. I showed that link because I thought that on AKS, you have to use a annottion to make probe work with https. I don't understand the relevance of externalTrafficPolicy here.

Your problem description is not formatted as per markdown so very difficult to make any sense out of what you posted originally.

It seems you have not answered any question that is asked in a new issue template but maybe I am wrong, not sure because the message text is very difficult to read as it is not formatted

github-actions[bot] commented 1 year ago

This is stale, but we won't close it automatically, just bare in mind the maintainers may be busy with other tasks and will reach your issue ASAP. If you have any question or request to prioritize this, please reach #ingress-nginx-dev on Kubernetes Slack.

longwuyuan commented 2 months ago

There has been no activity on this for a long long time.

The probe related annotations for LB on AKS are documented on Azure.

There are many users using AKS with Azure LB so they can provide more live information.

As such there are no resources to follow up here and its better to use Kubernetes slack, in case required, as there are more users of AKS there.

There is no acton item here for the project but the issue is open and adding to tally of open issues with no action item. Hence closing this issue now as project needs to focus on security, Gateway-API and reduce work on features that are away from the Ingress-API or features that are not coded inside the controller.

/close

k8s-ci-robot commented 2 months ago

@longwuyuan: Closing this issue.

In response to [this](https://github.com/kubernetes/ingress-nginx/issues/9791#issuecomment-2343365959): >There has been no activity on this for a long long time. > >The probe related annotations for LB on AKS are documented on Azure. > >There are many users using AKS with Azure LB so they can provide more live information. > >As such there are no resources to follow up here and its better to use Kubernetes slack, in case required, as there are more users of AKS there. > >There is no acton item here for the project but the issue is open and adding to tally of open issues with no action item. Hence closing this issue now as project needs to focus on security, Gateway-API and reduce work on features that are away from the Ingress-API or features that are not coded inside the controller. > >/close Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository.