Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bitnami/nginx-ingress-controller] nginx-ingress-controller pod can not be ready, Readiness probe failed #32863

Open
oscarxie opened this issue Apr 8, 2025 · 3 comments
Assignees
Labels
in-progress nginx-ingress-controller tech-issues The user has a technical issue about an application

Comments

@oscarxie
Copy link

oscarxie commented Apr 8, 2025

Name and Version

bitnami/nginx-ingress-controller 11.6.13

What architecture are you using?

amd64

What steps will reproduce the bug?

1.helm install nginx-ingress-controller
helm install my-release oci://registry-1.docker.io/bitnamicharts/nginx-ingress-controller

2.nginx-ingress-controller always in running, can not be ready

**NAME                                                              READY   STATUS    RESTARTS   AGE**
my-release-nginx-ingress-controller-579666b4f4-2g2r8              **0/1     Running**   0          80s
my-release-nginx-ingress-controller-default-backend-ffb67csbhgz   1/1     Running   0          80s

3.check the pod, found "Readiness probe failed"

  Normal   Pulling    65s   kubelet                   Pulling image "docker.io/bitnami/nginx-ingress-controller:1.12.1-debian-12-r1"
  Normal   Pulled     51s   kubelet                   Successfully pulled image "docker.io/bitnami/nginx-ingress-controller:1.12.1-debian-12-r1" in 13.772s (13.772s including waiting). Image size: 101597766 bytes.
  Normal   Created    51s   kubelet                   Created container prepare-nginx-folder
  Normal   Started    51s   kubelet                   Started container prepare-nginx-folder
  Normal   Pulled     49s   kubelet                   Container image "docker.io/bitnami/nginx-ingress-controller:1.12.1-debian-12-r1" already present on machine
  Normal   Created    49s   kubelet                   Created container controller
  Normal   Started    49s   kubelet                   Started container controller
  Normal   RELOAD     45s   nginx-ingress-controller  NGINX reload triggered due to a change in configuration
  Warning  Unhealthy  36s   kubelet                   Readiness probe failed: Get "http://10.42.0.21:10254/healthz": read tcp 10.236.132.249:40818->10.42.0.21:10254: read: connection reset by peer
  Warning  Unhealthy  26s   kubelet                   Readiness probe failed: Get "http://10.42.0.21:10254/healthz": read tcp 10.236.132.249:56954->10.42.0.21:10254: read: connection reset by peer
  Warning  Unhealthy  16s   kubelet                   Readiness probe failed: Get "http://10.42.0.21:10254/healthz": read tcp 10.236.132.249:39052->10.42.0.21:10254: read: connection reset by peer
  Warning  Unhealthy  6s    kubelet                   Readiness probe failed: Get "http://10.42.0.21:10254/healthz": read tcp 10.236.132.249:43286->10.42.0.21:10254: read: connection reset by peer
  Warning  Unhealthy  6s    kubelet                   Readiness probe failed: Get "http://10.42.0.21:10254/healthz": read tcp 10.236.132.249:43296->10.42.0.21:10254: read: connection reset by peer

Are you using any custom parameters or values?

No

What is the expected behavior?

nginx-ingress-controller pod should be ready

What do you see instead?

I checked https://github.com/bitnami/charts/blob/main/bitnami/nginx-ingress-controller/templates/controller-deployment.yaml, livenessProbe and startupProbe changed to tcpSocket, but readinessProbe use httpGet

          {{- if .Values.customLivenessProbe }}
          livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.customLivenessProbe "context" $) | nindent 12 }}
          {{- else if .Values.livenessProbe.enabled }}
          livenessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.livenessProbe "enabled") "context" $) | nindent 12 }}
            tcpSocket:
              port: metrics
          {{- end }}
          {{- if .Values.customReadinessProbe }}
          readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.customReadinessProbe "context" $) | nindent 12 }}
          {{- else if .Values.readinessProbe.enabled }}
          readinessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.readinessProbe "enabled") "context" $) | nindent 12 }}
            httpGet:
              path: /healthz
              port: metrics
              scheme: HTTP
          {{- end }}
          {{- if .Values.customStartupProbe }}
          startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.customStartupProbe "context" $) | nindent 12 }}
          {{- else if .Values.startupProbe.enabled }}
          startupProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.startupProbe "enabled") "context" $) | nindent 12 }}
            tcpSocket:
              port: metrics
          {{- end }}

Additional information

No response

@oscarxie oscarxie added the tech-issues The user has a technical issue about an application label Apr 8, 2025
@github-actions github-actions bot added the triage Triage is needed label Apr 8, 2025
@javsalgar javsalgar changed the title [bitnami/nginx-ingress-controller]nginx-ingress-controller pod can not be ready, Readiness probe failed [bitnami/nginx-ingress-controller] nginx-ingress-controller pod can not be ready, Readiness probe failed Apr 9, 2025
@javsalgar
Copy link
Contributor

Hi!

Do the logs show anything meaningful? I cannot reproduce the issue

@oscarxie
Copy link
Author

oscarxie commented Apr 9, 2025

For readinessProbe, the port I change from metrics to http, it works.

    readinessProbe:
      failureThreshold: 3
      httpGet:
        path: /healthz
        **port: http**
        scheme: HTTP
      initialDelaySeconds: 10
      periodSeconds: 10
      successThreshold: 1
      timeoutSeconds: 1

@github-actions github-actions bot removed the triage Triage is needed label Apr 10, 2025
@github-actions github-actions bot assigned gongomgra and unassigned javsalgar Apr 10, 2025
@acfmarcelo
Copy link

@oscarxie can you noticed if you got this error too?

(combined from similar events): Error reloading NGINX: exit status 1 2025/04/01 20:26:03 [notice] 1060#1060: signal process started 2025/04/01 20:26:03 [alert] 1060#1060: kill(29, 1) failed (3: No such process) nginx: [alert] kill(29, 1) failed (3: No such process)

After some time, the nginx-ingress-controller Pods crash and not be ready.

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in-progress nginx-ingress-controller tech-issues The user has a technical issue about an application
Projects
None yet
Development

No branches or pull requests

4 participants