Múltiplas réplicas com readiness probe para remover pods não-saudáveis do Service enquanto liveness probe os reinicia.
44 lines
950 B
YAML
44 lines
950 B
YAML
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: app-config
|
|
data:
|
|
MAX_REQUESTS: "10"
|
|
|
|
app.js: |
|
|
const http = require("http");
|
|
|
|
const MAX_REQUESTS = Number(process.env.MAX_REQUESTS || 3);
|
|
|
|
let requestCount = 0;
|
|
|
|
console.log("MAX_REQUESTS =", MAX_REQUESTS);
|
|
|
|
const server = http.createServer((req, res) => {
|
|
if (req.url === "/health") {
|
|
if (requestCount > MAX_REQUESTS) {
|
|
console.log('❌ O health check falhou');
|
|
return;
|
|
}
|
|
|
|
res.writeHead(200);
|
|
res.end(`ok`);
|
|
return;
|
|
}
|
|
|
|
requestCount++;
|
|
console.log("request", requestCount);
|
|
|
|
if (requestCount > MAX_REQUESTS) {
|
|
console.log(`🔥 App travado após ${MAX_REQUESTS} requests`);
|
|
return;
|
|
}
|
|
|
|
res.writeHead(200);
|
|
res.end(`Req -> ${requestCount}/${MAX_REQUESTS}`);
|
|
});
|
|
|
|
server.listen(3000, () => {
|
|
console.log("App rodando na porta 3000");
|
|
});
|