Lessons Learned After Finally Configuring a Raspberry Pi CM4 Mini Router (Bought in 2022) Product Mini Router built with Raspberry Pi Compute Module 4 Dual Gigabit Ethernet NICs 4GB RAM / 32GB eMMC Pre-installed OpenWrt Compact form factor, fanless, low power Background: A Device That Waited Its Turn I bought this device back in 2022 . At the time, it looked like the perfect small router: Raspberry Pi Compute Module 4 Dual Ethernet ports OpenWrt already installed No SD card required thanks to eMMC But like many homelab projects, it ended up sitting on a shelf . Fast forward to today — with more networking experience, a clearer home network plan, and a real need for a flexible router — I finally decided to configure it properly. That’s when the real journey started. What I Expected (Even in 2025) Even knowing this wasn’t a consumer router, I still expected: Plug WAN into my upstream router Plug LAN into my laptop Access 192.168.1.1 Hav...
This is a small article about understanding the liveness, readiness and startup in kubernetes.
There's good explanation in the kubernetes documentation: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
This video also explains well the process: https://www.youtube.com/watch?v=aTlQBofihJQ
But I wanted to understand it in a practical way.
So I have this demo: https://github.com/DiegoTc/guest-book-js-docker/tree/Running-App-Version-1
It's a simple application running on a kubernetes cluster.
https://github.com/DiegoTc/guest-book-js-docker/blob/Running-App-Version-1/argo/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: chat-ui
spec:
replicas: 1
revisionHistoryLimit: 3
selector:
matchLabels:
app: chat-ui
template:
metadata:
labels:
app: chat-ui
spec:
containers:
- image: diegotc/guestbook:20230803-064434
imagePullPolicy: Always
name: chat-ui
ports:
- containerPort: 5500
Everything is OK. You can see how it appears in our ArgoCDRepo with failing image: https://github.com/DiegoTc/guest-book-js-docker/tree/Crash-App-Version-1
Docker image working: diegotc/guestbook:20230803-064434
But what happens, if we deploy an image that crashes?Docker images crashes: diegotc/guestbook:20230803-070920
So what happens, is that our application is in a infinite loop, trying to start and it doesn't works.So now, we're going to see the same example, but with the startup configuration.Repo with solution: https://github.com/DiegoTc/guest-book-js-docker/blob/Running-App-Version-2/argo/deployment.yamlDocker image working: diegotc/guestbook:20230803-073811After we deploy our application that will cause the crash
Repo: https://github.com/DiegoTc/guest-book-js-docker/tree/Crash-App-Version-2Docker images crashes: diegotc/guestbook:20230803-082315As you can see, our application is still running, even we deploy a wrong image.You can read more about it in the kubernete documentation: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/




Comentarios
Publicar un comentario