aula-03: Alta disponibilidade com replicas e readiness probe
Múltiplas réplicas com readiness probe para remover pods não-saudáveis do Service enquanto liveness probe os reinicia.
This commit is contained in:
43
aula-03/configmap.yaml
Normal file
43
aula-03/configmap.yaml
Normal file
@@ -0,0 +1,43 @@
|
||||
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");
|
||||
});
|
||||
Reference in New Issue
Block a user