Tre mekanismer som ingår i varje daemon gör en rullande uppgradering säker per konstruktion. <code>/readyz</code>-proben växlar till <code>503</code> i samma ögonblick som avstängningen börjar, så att en lastbalanserare eller gateway ser noden lämna rotationen, medan <code>/livez</code> förblir <code>200</code> så att processen inte dödas direkt <a href="#ref-1">[1]</a>. En konfigurerbar tömningshållning håller noden i det tömmande tillståndet tillräckligt länge för att schemaläggare ska sluta skicka nytt arbete innan processen slutar ta emot det. Gatewayen provar <code>/readyz</code>, inte bara liveness, och dess failover per förfrågan täcker den handfull förfrågningar som tävlar med tömningsfönstret <a href="#ref-1">[1]</a>.
Tömning, inte bortkastning
När en worker får en stoppsignal går den in i tömning: <code>/readyz</code> returnerar <code>503</code>, pågående förfrågningar slutförs och först därefter avslutas processen <a href="#ref-2">[2]</a>. Tömningstiden ställs in med <code>AISUITE_DRAIN_SECONDS</code>, och en separat avstängningsbudget begränsar hur länge processen väntar på att pågående arbete ska slutföras. Poolposten ändras aldrig; samma adress blir frisk igen på den nya versionen och gatewayen återupptar routning till den.
Gatewayen sköter resten
I en farm stoppar du en worker i taget. Gatewayens instrumentpanel visar att workern går över till TÖMNING, sedan NER, medan trafiken fortsätter på dess kamrater; du byter ut bilden och noden blir FRISK på den nya versionen innan du går vidare till nästa <a href="#ref-1">[1]</a>. Det sker inga konfigurationsändringar i gatewayen under hela processen. Hälsoprobning, inte en konfigurationsändring, är det som flyttar trafiken.
Kubernetes: noll driftstopp tack vare konstruktionen
På Kubernetes gör samma kontroller <code>kubectl rollout</code> säker utan extra verktyg: en liveness-probe på <code>/livez</code>, en readiness-probe på <code>/readyz</code> och en <code>terminationGracePeriodSeconds</code> satt till eller över dränerings- och avstängningsbudgeten <a href="#ref-2">[2]</a>. Orkestratorn slutar dirigera trafik till en dränerande pod, väntar ut fristperioden och rullar ut nästa.
Varför det är viktigt
"Update Tuesday" bör inte existera för en AI-endpoint som andra appar är beroende av. Detta är också mekanismen som bevisar tillgänglighetsläget för en gateway-farm från början till slut: patchning är inte driftstopp, och det håller under belastning snarare än bara på en lugn konsol <a href="#ref-1">[1]</a><a href="#ref-3">[3]</a>.