fix: qbittorrent/jdownloader crash-loop from today's rollout
Some checks failed
validate / lint (push) Failing after 1s
Some checks failed
validate / lint (push) Failing after 1s
Both Deployments' rolling update briefly ran an old+new pod pair on the same node (node-role: storage), sharing the same config storage (qbittorrent's PVC, jdownloader's hostPath) -- both apps are effectively singletons that lock their config directory, so the new instance conflicted with the still-running old one: - qbittorrent: hit a known qbittorrent:5.2.0 image bug (linuxserver/ docker-qbittorrent#432) where a stale WebUI lockfile prevents the server from ever binding its port while a second instance is present -- surfaced as the new pod's readiness probe getting "connection refused" indefinitely. On top of that, my livenessProbe (30s/30s) was killing the container (exitCode 137) before qbittorrent had any chance to come up at all. Dropped the livenessProbe (readiness alone can never kill a container, only mark it not-ready) and loosened the readinessProbe timing. - jdownloader: the new pod's app process detected the old instance's lock in the shared /data/jdownloader hostPath and exited cleanly (exitCode 0) rather than run a duplicate copy -- nothing to do with probe timing. Both Deployments now use `strategy: Recreate` instead of the RollingUpdate default, so any future rollout fully stops the old pod before starting the new one -- this is the actual fix (matches the pattern immich.yaml already used). Applying this will briefly restart both currently-running pods to verify it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
9afc7e8005
commit
a93818146a
@ -8,6 +8,8 @@ metadata:
|
|||||||
namespace: downloads
|
namespace: downloads
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: jdownloader
|
app: jdownloader
|
||||||
|
|||||||
@ -28,6 +28,8 @@ metadata:
|
|||||||
namespace: downloads
|
namespace: downloads
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: qbittorrent
|
app: qbittorrent
|
||||||
@ -107,14 +109,9 @@ spec:
|
|||||||
httpGet:
|
httpGet:
|
||||||
path: /
|
path: /
|
||||||
port: 8080
|
port: 8080
|
||||||
initialDelaySeconds: 15
|
initialDelaySeconds: 60
|
||||||
periodSeconds: 15
|
periodSeconds: 20
|
||||||
livenessProbe:
|
failureThreshold: 5
|
||||||
httpGet:
|
|
||||||
path: /
|
|
||||||
port: 8080
|
|
||||||
initialDelaySeconds: 30
|
|
||||||
periodSeconds: 30
|
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: 50m
|
cpu: 50m
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user