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

Liveness probe failed in k8s v1.28 and 1.29 using kopf 1.37.3 #1140

Open
ozlerhakan opened this issue Nov 20, 2024 · 1 comment
Open

Liveness probe failed in k8s v1.28 and 1.29 using kopf 1.37.3 #1140

ozlerhakan opened this issue Nov 20, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@ozlerhakan
Copy link

ozlerhakan commented Nov 20, 2024

Long story short

Hi @nolar ,

Our operator running on both k8s v1.28 and 1.29 has started failing the liveness probe at the startup after upgrading kopf to 1.37.3 along with Python 3.13. Switching back to 1.37.2 works as expected. There might be an incompatibility with the K8s version. I couldn't find a particular log from the output. I also tried the latest version of aiohttp==3.11.7 but it didn't help much.

Kopf version

1.37.3

Kubernetes version

1.28.13, 1.29.10

Python version

3.13

Code

No response

Logs

81s         Normal    Created             pod/operator
81s         Normal    Started             pod/operator
12s         Warning   Unhealthy           pod/operator-868f677cf5-7mscx    Liveness probe failed: Get "http://10.0.0.160:8080/healthz": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
12s         Normal    Killing             pod/operator-868f677cf5-7mscx    Container operator failed liveness probe, will be restarted

Additional information

No response

@ozlerhakan ozlerhakan added the bug Something isn't working label Nov 20, 2024
@ozlerhakan ozlerhakan changed the title Liveness probe failed in k8s v1.28 using kopf 1.37.3 Liveness probe failed in k8s v1.28 and 1.29 using kopf 1.37.3 Nov 22, 2024
@ozlerhakan
Copy link
Author

Just a quick update on this issue:
I tested Kopf 1.37.3 and it seems the liveness probe works as expected in 1.28, 1.29, and 1.30. However, it only works when there are no CRD objects in the k8s cluster. When upgrading Kopf in a cluster that already contains the corresponding CRD objects, the liveness probe doesn't fire at all, causing the operator to fail. It feels to me that something blocks the process at startup when CRD objects exist in the cluster. On the contrary, upgrading it in an empty cluster and then applying CRD objects one by one works well but it's not ideal for a cluster with many CRDs in place.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant