ืื; ืืจ
- ืฆื ืืขืจืืจืืืื ืืืื ืึทืืืขืจืืืึทืืืืืื ืคืื ืงืึทื ืืืื ืขืจื ืืื ืืืงืจืึธ ืืึทืืื ืื ืืก, ืืึธืืก ืืื ืขืจืฉืืืง ืืขืืจืืงืก ืืขื ืขื ื ืืฉื ืืขื ืื.
- ืคึฟืึทืจ ืคืึทืกืืขืจ ืึธืคึผืืื ืืื ืืขืืืืงืกื ืจืืืืืืึทื ืก, ืึทืคึผืืึทืงืืืฉืึทื ื ืืึธื ืฆืืืืืื ืื High Observability Principle (HOP).
- ืืืืฃ ืื ืึทืคึผืืึทืงืืืฉืึทื ืืืจืื, NOP ืจืืงืืืืืขืจื: ืืขืืขืจืืง ืืึธืืื ื, ื ืึธืขื ื ืืึธื ืืืึธืจืื ื, ืกืืืื ืืฉืขืงืก ืืื ืคืึธืจืฉืืขืืื ื / ืืืขืจืืึทื ื ืืจืืืกืื ื.
- ื ืืฆื ืืฉืขืงืก ืืื ืึทื ืขืืขืืขื ื ืคืื NOR ืืจืืืืงืืึทื ืคึผืจืึธืืข ะธ ืืขืื ืคึผืจืึธืืข Kubernetes.
ืืืึธืก ืืื ืึท ืืขืืื ื ืืฉืขืง ืืืกืืขืจ?
ืืืขื ืืืืืื ืื ื ืึท ืืืกืืข-ืงืจืืืืฉ ืืื ืืขืืกื ืื ืืืฆื ืึทืคึผืืึทืงืืืฉืึทื, ืขืก ืืื ืืืืขืจ ืืืืืืืง ืฆื ืืจืึทืืื ืืืขืื ืึทืืึท ืึท ืึทืกืคึผืขืงื ืืื ืฉืืื ืืึธืืขืจืึทื ืฅ. ืึท ืึทืคึผืืึทืงืืืฉืึทื ืืื ืืขืืืืื ืฉืืื ืืึธืืขืจืึทื ื ืืืื ืขืก ืจืืงืึทืืืขืจื ืืขืฉืืืื ื ืคืื ืืืจืืคืึทื. ื ืืืคึผืืฉ ืืืึธืืงื ืึทืคึผืืึทืงืืืฉืึทื ื ืืฆื ืึท ืืืงืจืึธืกืขืจืืืืกืขืก ืึทืจืงืึทืืขืงืืฉืขืจ - ืืื ืืขืืขืจ ืงืึธืืคึผืึธื ืขื ื ืืื ืืขืฉืืขืื ืืื ืึท ืืึทืืื ืืขืจ ืงืึทื ืืืื ืขืจ. ืืื ืืื ืกืืจ ืฆื ืืึทืื ืืืืขืจ ืึทื ืื ืึทืคึผืืึทืงืืืฉืึทื ืืืืฃ k8s ืืื ืืขืืกื ืื ืืืฆื ืืืขื ืืืจ ืคึผืืึทื ืึท ืงื ืืื, ืืืจ ืืึทืจืคึฟื ืฆื ื ืึธืืคืึธืืื ืืืืขืจ ืคึผืึทืืขืจื ื. ืฆืืืืฉื ืืื ืืื ืื ืืขืืื ื ืืฉืขืง ืืืกืืขืจ. ืขืก ืืืคืืื ื ืืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืงืึทืืืื ืืงืืืฅ ืฆื ืง8ืก ืึทื ืขืก ืืื ืืขืืื ื. ืืึธืก ืืื ื ืื ืืืืื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืขืื ืฆื ืื ืคึผืึธื ืืื ืคืืืกื ืืืง, ืึธืืขืจ ืืืื ืืืขืื ืืื ืขืก ื ืขืื ืืื ืจืืกืคึผืึทื ืื ืฆื ืจืืงืืืขืก. ืื ืืขืจ Kubernetes ืืืืืกื ืืืขืื ืื ืืขืืื ื ืคืื ืื ืคึผืึธื, ืื ืกืืึทืจืืขืจ ืืืกืืืฉืึทื ื ืขืก ืืืื ืืืขืื ืคืึทืจืงืขืจ ืจืืืื ื ืืื ืืึทืกืข ืืึทืืึทื ืกืื ื. ืืืื, ืื ืืืื ืึธืืกืขืจืืืึทืืืืืื ืคึผืจืื ืฆืืคึผ ืึทืืึทืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืฆื ืจืืกืคึผืึทื ื ืฆื ืจืืงืืืขืก ืืื ืึท ืืืึทืฆืืึทืืืง ืฉืืืืืขืจ.
ืืืื ืึธืืกืขืจืืืึทืืืืืื ืคึผืจืื ืฆืืคึผ (HOP)
ืืขืจ ืคึผืจืื ืฆืืคึผ ืคืื ืืืื ืึธืืกืขืจืืืึทืืืืืื ืืื ืืืื ืขืจ ืคืื
ื ืืขืืื ื-ืืืืืื ื ืืืึธืืงื ืึทืคึผืืึทืงืืืฉืึทื ืืึธืืก ืืืึทื ืืืืคึผื ืืขืฉืขืขื ืืฉื ืืื ืื ื ืึธืจืืึทื ื / ืึธ ืกืืจืืื STDERR ืืื STDOUT. ืืขืจื ืึธื ืงืืื ืึทื ืึทืืืืืืขืจื ืืื ืกื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, Filebeat, Logstash ืึธืืขืจ Fluentd, ืืืืืืืขืจืื ื ืืึธืืก ืฆื ืึท ืกืขื ืืจืึทืืืืื ืืึธื ืืืึธืจืื ื ืกืืกืืขื (ืืืฉื ืคึผืจืึธืืขืืืขืืก) ืืื ืึท ืงืืึธืฅ ืืึทืืืื ื ืกืืกืืขื (ELK ืืืืืืืืืจื ืกืืืื). ืื ืืืึทืืจืึทืืข ืืื ืื ืืืืืื ืืื ืึท ืืืึธืืงื ืึทืคึผืืึทืงืืืฉืึทื ืึทืจืืขื ืืืื ืื ืืขืืื ื ืืขืกื ืืืกืืขืจ ืืื ืื ืืืื ืึธืืกืขืจืืืึทืืืืืื ืคึผืจืื ืฆืืคึผ.
ืืื ืฆื ืฆืืืืืื ืื ืืขืืื ื ืืฉืขืง ืืืกืืขืจ ืืื Kubernetes?
ืืืืก ืคืื ืื ืงืขืกืื, k8s ืืึธื ืืืึธืจืก ืื ืกืืึทืืืก ืคืื ืื ืคึผืึธืืก ื ืืฆื ืืืื ืขืจ ืคืื ืื ืงืึทื ืืจืึธืืืขืจื (
ืืื ืืื ืืืขืจ ืืืึทืฉืคึผืื, k8s ืืื ืคืึทื ืืงืฉืึทื ืึทืืืื ืืฉืขืง. ืืื ืืขื ืืืคึผ ืคืื ืืืขืจืึทืคืึทืงืืืฉืึทื, ืื ืงืืืขืืขื ืงืึทื ืืื ืืืึทืกืื ืงืึธื ืืจืึธืืืจื ืื ืฉืืึทื ืคืื ืืขื ืคึผืจืึธืฆืขืก ืืื ืืขื ืงืึทื ืืืื ืขืจ. ืึทืืึธื ืขืจ ืคืืจืฉืืืื ืึทื ืืขืจ ืคึผืจืึธืฆืขืก ืืื ืคืืจืฉืืืคื, ืขืจ ืืืขื ืจืืกืืึทืจื ืขืก. ืืืื ืืขืจ ืืขืืช ืงืขื ืขื ืืืื ืจืืืึทืืืื ืืืจื ืคืฉืื ืจืืกืืึทืจืืื ื ืื ืึทืคึผืืึทืงืืืฉืึทื, ืืื ืื ืคึผืจืึธืืจืึทื ืืื ืืืืืื ื ืฆื ืคืึทืจืืึทืื ืึทืจืึธืคึผ ืืืืฃ ืงืืื ืืขืืช, ืึท ืคึผืจืึธืฆืขืก ืืขืืื ื ืืฉืขืง ืืื ืึทืืข ืืืจ ืืึทืจืคึฟื ืฆื ื ืึธืืคืึธืืื ืื NOP ืืื ืื ืืขืืื ื ืืขืกื ืืืกืืขืจ. ืืขืจ ืืืืื ืฉืึธื ืืื ืึทื ื ืื ืึทืืข ืขืจืจืึธืจืก ืืขื ืขื ืืืืืึทื ืืืืึทื ืืืจื ืจืืกืืึทืจืืื ื. ืืื ืืขื ืคืึทื, k8s ืึธืคืคืขืจืก 2 ืืืคึผืขืจ ืืืขืื ืฆื ืืืขื ืืืคืืฆืืจื ืคึผืจืึธืืืขืืก ืืื ืื ืคึผืึธื:
LivenessProbe
During the ืืขืื ืคึผืจืึธืืข kubelet ืคึผืขืจืคืึธืจืื 3 ืืืืคึผืก ืคืื ืืฉืขืงืก: ื ืื ืืืืื ืืืืขืจืืึทื ื ืฆื ืื ืคึผืึธื ืืื ืคืืืกื ืืืง, ืึธืืขืจ ืืืื ืฆื ืขืก ืืื ืืจืืื ืฆื ืืึทืงืืืขื ืืื ืึทืืึทืงืืืึทืืื ืจืืกืคึผืึทื ื ืฆื ืจืืงืืืขืก:
- ืฉืืขืื ืึท ืืืืคึผ ืืขืื ืฆื ืื ืคึผืึธื. ืืขืจ ืขื ืืคืขืจ ืืืื ืึทื ืืืึทืืื ืึท ืืืืคึผ ืขื ืืคืขืจ ืงืึธื ืืื ืื ืงืืื ืคืื 200 ืฆื 399. ืืืื, ืงืึธืืื 5xx ืืื 4xx ืกืืื ืึทื ืึทื ืื ืคึผืึธื ืืื ืคึผืจืึธืืืขืืก, ืืึธืืฉ ืืขืจ ืคึผืจืึธืฆืขืก ืืื ืคืืืกื ืืืง.
- ืฆื ืคึผืจืืืืจื ืคึผืึธืืก ืืื ื ืื-ืืืืคึผ ืืึทืืื ืื ืืก (ืืืฉื, ืื ืคึผืึธืกืืคืืงืก ืคึผืึธืกื ืกืขืจืืืขืจ), ืืืจ ืืึทืจืคึฟื ืฆื ืคืึทืจืืืืื ืึท ืืงืคึผ ืงืฉืจ.
- ืืืกืคืืจื ืึท ืึทืจืืืืจืึทืจืืฉ ืืึทืคึฟืขื ืคึฟืึทืจ ืึท ืคึผืึธื (ืืื ืขืืืืื ืืง). ืืขืจ ืืฉืขืง ืืื ืืขืจืขืื ื ืืื ืืขืจืึธืื ืืืื ืื ืืึทืคึฟืขื ืงืึทืืคึผืืืฉืึทื ืงืึธื ืืื 0.
ื ืืืืฉืคึผืื ืคืื ืืื ืืึธืก ืึทืจืืขื. ืืขืจ ืืืืึทืืขืจ ืคึผืึธื ืืขืคึฟืื ืืฆืืข ืึผืืื ืึท NodeJS ืึทืคึผืืึทืงืืืฉืึทื ืืืึธืก ืืืืจืคื ืขืจ ืึท 500 ืืขืืช ืืืืฃ ืืืืคึผ ืจืืงืืืขืก ืฆื ืืึทืื ืืืืขืจ ืึทื ืืขืจ ืงืึทื ืืืื ืขืจ ืืื ืจืืกืืึทืจืืื ืืืขื ืืืจ ืืึทืงืืืขื ืึทืืึท ืึท ืืขืืช, ืืืจ ื ืืฆื ืื ืืืืืื ืขืกืกืคึผืจืึธืืข ืคึผืึทืจืึทืืขืืขืจ:
apiVersion: v1
kind: Pod
metadata:
name: node500
spec:
containers:
- image: magalix/node500
name: node500
ports:
- containerPort: 3000
protocol: TCP
livenessProbe:
httpGet:
path: /
port: 3000
initialDelaySeconds: 5
ืืึธืก ืืื ื ืื ืึทื ืืขืจืฉ ืคืื ืงืืื ืื ืืขืจืข ืคึผืึธื ืืขืคึฟืื ืืฆืืข, ืึธืืขืจ ืืืจ ืืืืื ืึท ืืืืคืขืฅ .spec.containers.livenessProbe
. ืคึผืึทืจืึทืืขืืขืจ httpGet
ืึทืงืกืขืคึผืฅ ืื ืืจื ืฆื ืืืึธืก ืื HTTP GET ืืขืื ืืื ืืขืฉืืงื (ืืื ืืื ืืืขืจ ืืืึทืฉืคึผืื ืืึธืก ืืื /
, ืึธืืขืจ ืืื ืงืึทืืืึทื ืกืื ืขืจืืึธืื ืขืก ืงืขื ืืืื ืขืคึผืขืก ืืื /api/v1/status
). ืื ืื ืืขืจ ืืืืืื ืขืกืก ืคึผืจืึธืืข ืึทืงืกืขืคึผืฅ ืึท ืคึผืึทืจืึทืืขืืขืจ initialDelaySeconds
, ืืืึธืก ืื ืกืืจืึทืงืฅ ืื ืืืขืจืึทืคืึทืงืืืฉืึทื ืึธืคึผืขืจืึทืฆืืข ืฆื ืืืึทืจืื ืึท ืกืคึผืขืกืึทืคืืื ื ืืืขืจ ืคืื ืกืขืงืื ืืขืก. ืื ืคืึทืจืืึทืืื ืืื ืืืจืฃ ืืืืึทื ืืขืจ ืงืึทื ืืืื ืขืจ ืืึทืจืฃ ืฆืืื ืฆื ืึธื ืืืืื, ืืื ืืืขื ืจืืกืืึทืจืืื ืขืก ืืืขื ืืืื ืึทื ืึทืืืืืืึทืืึทื ืคึฟืึทืจ ืขืืืขืืข ืืึธื.
ืฆื ืฆืืืืืื ืืขื ืืึทืฉืืขืืืงื ืฆื ืึท ืงื ืืื, ื ืืฆื:
kubectl apply -f pod.yaml
ื ืึธื ืึท ืืืกื ืกืขืงืื ืืขืก, ืืืจ ืงืขื ืขื ืงืึธื ืืจืึธืืืจื ืื ืืื ืืึทืื ืคืื ืื ืคึผืึธื ืืื ืื ืคืืืืขื ืืข ืืึทืคึฟืขื:
kubectl describe pods node500
ืืื ืื ืกืืฃ ืคืื ืื ืจืขืืืืืึทื, ืืขืคึฟืื ืขื
ืืื ืืืจ ืงืขื ืขื ืืขื, LivenessProbe ืื ืืฉืืืืืื ืึท HTTP GET ืืขืื, ืืขืจ ืงืึทื ืืืื ืขืจ ืืืฉืขื ืขืจืืืืึทื ืึท ืืขืืช 500 (ืืืึธืก ืืื ืืืึธืก ืขืก ืืื ืืขืืืขื ืคึผืจืึธืืืจืึทืื ืฆื ืืึธื), ืืื ืื ืงืืืขืืขื ืจืืกืืึทืจืืื ืขืก.
ืืืื ืืืจ ืืขื ื ืืืึทื ืืขืจืื ื ืืื ืื NideJS ืึทืคึผืืึทืงืืืฉืึทื ืืื ืคึผืจืึธืืืจืึทืื, ืืึธ ืืื ืื app.js ืืื Dockerfile ืืืึธืก ืืขื ืขื ืืขื ืืฆื:
app.js
var http = require('http');
var server = http.createServer(function(req, res) {
res.writeHead(500, { "Content-type": "text/plain" });
res.end("We have run into an errorn");
});
server.listen(3000, function() {
console.log('Server is running at 3000')
})
dockerfile
FROM node
COPY app.js /
EXPOSE 3000
ENTRYPOINT [ "node","/app.js" ]
ืขืก ืืื ืืืืืืืง ืฆื ืืึธื ืืึธืก: LivenessProbe ืืืขื ื ืึธืจ ืจืืกืืึทืจื ืืขื ืงืึทื ืืืื ืขืจ ืืืื ืขืก ืคืืืื. ืืืื ืึท ืจืืกืืึทืจื ืืื ื ืืฉื ืคืึทืจืจืืืื ืืขื ืืขืืช ืืืึธืก ืืื ืคึผืจืืืืขื ืืื ืืขื ืงืึทื ืืืื ืขืจ ืคืื ืคืืืกื ืืืง, ืื ืงืืืขืืขื ืืืขื ื ืืฉื ืงืขื ืขื ืฆื ื ืขืืขื ืงืึทืืฃ ืฆื ืคืึทืจืจืืืื ืืขื ืคึผืจืึธืืืขื.
ืืจืืืืงืืึทื ืคึผืจืึธืืข
ReadinessProbe ืึทืจืืขื ืขื ืืขื ืฆื ืืืืืื ืขืกืก ืคึผืจืึธืืขืก (GET ืจืืงืืืขืก, TCP ืงืึธืืื ืืงืึทืฆืืข ืืื ืืึทืคึฟืขืื ืืืจืืคืืจืื ื), ืึทืืืฅ ืคึฟืึทืจ ืืจืึธืืืืขืฉืึธืึธืืื ื ืึทืงืฉืึทื ื. ืืขืจ ืงืึทื ืืืื ืขืจ ืืื ืืืึธืก ืื ืืืจืืคืึทื ืืื ืืืืขืงืืึทื ืืื ื ืืฉื ืจืืกืืึทืจืืื, ืึธืืขืจ ืืื ืืคืืขืืื ืืขืจื ืคืื ืื ืงืึทืืื ื ืคืึทืจืงืขืจ. ืืืึทืืืฉืึทื ืึทื ืืืื ืขืจ ืคืื ืื ืงืึทื ืืืื ืขืจื ืืื ืคึผืขืจืคืึธืจืืื ื ืึท ืคึผืืึทืฅ ืคืื ืืฉืืื ืืช ืึธืืขืจ ืืื ืืื ืืขืจ ืฉืืืขืจ ืืึทืกืข, ืืืึธืก ืื ืขื ืืคืขืจ ืฆืืื ืืืขื ืคืึทืจืืจืขืกืขืจื. ืืื ืืขื ืคืึทื ืคืื ืืืืืื ืขืกืก ืคึผืจืึธืืข, ืื ืงืึธื ืืจืึธื ืึทืืืืืืึทืืืืึทืื ืคืื ืขื ืืคืขืจ ืืื ืืจืืืขืจื (ืืืจื ืื TimeoutSeconds ืืฉืขืง ืคึผืึทืจืึทืืขืืขืจ), ื ืึธื ืืืึธืก ืื ืงืืืขืืขื ืจืืกืืึทืจื ืืขื ืงืึทื ืืืื ืขืจ. ืืืขื ืกืืึทืจืืขื, ืืขืจ ืงืึทื ืืืื ืขืจ ืืืืื ืฆื ืืืจืืคืืจื ืืืื-ืืื ืืขื ืกืืืืข ืืึทืกืงืก ืืื ืืื ืจืืกืืึทืจืืื ืืืืืขืจ. ืืึธืก ืงืขื ืืืื ืงืจืืืืฉ ืคึฟืึทืจ ืึทืคึผืืึทืงืืืฉืึทื ื ืืืึธืก ืืึทืจืคึฟื ืขื ืืคืขืจ ืืืืงืืึทื. ืืืฉื, ืึท ืืึทืฉืื ืืฉืขืช ืืืืฃ ืื ืืืขื ืืื ืืืืจืื ืคึฟืึทืจ ืึท ืขื ืืคืขืจ ืคืื ืื ืกืขืจืืืขืจ, ืืขืจ ืขื ืืคืขืจ ืืื ืืืืืื - ืืื ืื ืืึทืฉืื ืงืืื ืืื ืึท ืฆืืคืึทื.
ืืึธืืืจ ืฉืจืืึทืื ืึท ืจืขืืื ืขืกืก ืคึผืจืึธืืข ืืขืคึฟืื ืืฆืืข ืืืึธืก ืืืขื ืฉืืขืื ืื GET ืืขืื ืขื ืืคืขืจ ืฆืืื ืฆื ื ืื ืืขืจ ืืื ืฆืืืื ืกืขืงืื ืืขืก, ืืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืืืขื ืจืืกืคึผืึทื ื ืฆื ืื GET ืืขืื ื ืึธื 5 ืกืขืงืื ืืขืก. ืื pod.yaml ืืขืงืข ืืึธื ืงืืงื ืืื ืืึธืก:
apiVersion: v1
kind: Pod
metadata:
name: nodedelayed
spec:
containers:
- image: afakharany/node_delayed
name: nodedelayed
ports:
- containerPort: 3000
protocol: TCP
readinessProbe:
httpGet:
path: /
port: 3000
timeoutSeconds: 2
ืืึธืืืจ ืฆืขืืืืงืืขื ืึท ืคึผืึธื ืืื kubectl:
kubectl apply -f pod.yaml
ืืึธืืืจ ืืืึทืจืื ืึท ืคึผืึธืจ ืคืื ืกืขืงืื ืืขืก ืืื ืืขื ืืื ืื ืืจืืืืงืืึทื ืคึผืจืึธืืข ืืขืืจืืขื:
kubectl describe pods nodedelayed
ืืื ืื ืกืืฃ ืคืื ืื ืจืขืืืืืึทื ืืืจ ืงืขื ืขื ืืขื ืึทื ืขืืืขืืข ืคืื โโืื ืืขืฉืขืขื ืืฉื ืืขื ืขื ืขื ืืขื
ืืื ืืืจ ืงืขื ืขื ืืขื, kubectl ืืื ื ืืฉื ืจืืกืืึทืจื ืื ืคึผืึธื ืืืขื ืื ืืฉืขืง ืฆืืื ืืงืกืื 2 ืกืขืงืื ืืขืก. ืึทื ืฉืืึธื, ืขืจ ืงืึทื ืกืึทืื ืื ืืงืฉื. ืื ืงืึทืืื ื ืงืึธืืื ืืงืึทืฆืืข ืืขื ืขื ืจืืืขืจืขืงืืื ืฆื ืื ืืขืจืข ืืจืืขืื ืคึผืึธืืก.
ืืึทืืขืจืงืื ื ืึทื ืืืฆื ืึทื ืื ืคึผืึธื ืืื ืึธืืึธืึทืืขื, kubectl ืจืืฅ ืจืืงืืืขืก ืฆื ืขืก ืืืืืขืจ: ืจืขืกืคึผืึธื ืกืขืก ืฆื GET ืจืืงืืืขืก ืืขื ืขื ื ืื ืืขืจ ืืืืืื.
ืคึฟืึทืจ ืคืึทืจืืืืึทื, ืืื ืื ืืื ืื ืืึทืืึทืคืืื app.js ืืขืงืข:
var http = require('http');
var server = http.createServer(function(req, res) {
const sleep = (milliseconds) => {
return new Promise(resolve => setTimeout(resolve, milliseconds))
}
sleep(5000).then(() => {
res.writeHead(200, { "Content-type": "text/plain" });
res.end("Hellon");
})
});
server.listen(3000, function() {
console.log('Server is running at 3000')
})
ืื; ืืจ
ืืืืืขืจ ืื ืึทืืืืขื ื ืคืื ืืืึธืืงื ืึทืคึผืืึทืงืืืฉืึทื ื, ืืึธืืก ืืขื ืขื ืื ืขืจืฉืืืง ืืืื ืคืื ืืึธื ืืืึธืจืื ื ืืื ืงืึธื ืืจืึธืืืจืื ื ืึทืคึผืืึทืงืืืฉืึทื ืืขืืื ื. ืข ื ืื ื ืืืข ืจ ื ืืฉ ื ืืขืฐืข ื ืงืฒ ื ืืืืขื , ืฆ ื ื ืขืืข ื ืงืฒ ื ืงืขืจืขืงืืืื ืข ืืงืฆืืขืก . ืืึธืืก ืืขื ืขื ื ืึธื ื ืืฆืืง ืืืึทื ื ืืื ืืึทืจืคึฟื ืฆื ืืืื ืืขืืืืื ืืื ืืขืฉืืงื ืฆื ืึท ืืึธื ืืึทืืืื ื ืกืืกืืขื ืคึฟืึทืจ ืึทื ืึทืืืืืื ื ื ืืืืคืึทื ืกืืืืึทืืืึธื ืก ืืื ืืึทืื ืืืกืืืฉืึทื ื. [ืึทืืข ืืขื ืงืขื ืืืื ืืขืืื ืึธื ืืืึธืืงื ืึทืคึผืืึทืงืืืฉืึทื ื ื ืืฆื ืืึธื ืื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืึธืืขืจ ืืื ืง8ืก ืขืก ืืื ืืขืืืืจื ืคืื ืืจืื ืืขืจ :) - ืจืขืืึทืงืืึธืจ ืก ืืึธื. ]
ืืืึทื ื, ืงืขืจืขืงืฉืึทื ื ืืืื ืืืื ืืขืืืื ืึผืืขื ืืื ืคืึทืงืืืฉ ืฆืืื, ืึทืืื ืึทืคึผืืึทืงืืืฉืึทื ื ื ืื ืืขืจ ืืึธืื ืฆื ืืืื ืฉืืืึทืจืฅ ืืึธืงืกืขืก. ื ืืื, ืืื ืืึธื ืืืืึทืื ืขื ืืคึผืึธืื ืฅ ืืืึธืก ืืึธืื ืืึธื ืืืึธืจืื ื ืกืืกืืขืืขื ืฆื ืึธื ืคึฟืจืขื ืืื ืงืืืึทืื ืืืขืจืืคืื ืืึทืื ืืืขืื ืื ืฉืืึทื ืคืื ืคึผืจืึทืกืขืกืึทื ืึทืืื ืึทื ืืื ืงืขื ืขื ืจืืกืคึผืึทื ื ืืืืงืขืฃ ืืืื ื ืืืืืง. ืืึธืก ืืื ืืขืจืืคื ืื ืคืึธืจืฉืืขืืื ื ืืขืกื ืคึผืืึทื ืืืกืืขืจ, ืืืึธืก ืืืื ืื ืืืื ืึธืืกืขืจืืืึทืืืืืื ืคึผืจืื ืฆืืคึผ (HOP).
Kubernetes ืึธืคืคืขืจืก 2 ืืืืคึผืก ืคืื ืืขืืื ื ืืฉืขืงืก ืืืจื ืคืขืืืงืืึทื: ืืจืืืืงืืึทื ืคึผืจืึธืืข ืืื ืืขืืื ืขืกืก ืคึผืจืึธืืข. ืืืืืข ื ืืฆื ืื ืืขืืืข ืืืืคึผืก ืคืื ืืฉืขืงืก (HTTP GET ืจืืงืืืขืก, TCP ืงืึธืืื ืืงืึทืฆืืข ืืื ืืึทืคึฟืขืื ืืืจืืคืืจืื ื). ืืื ืืขื ืขื ืึทื ืืขืจืฉ ืืื ืืืึธืก ืืืกืืืฉืึทื ื ืืื ืืึทืื ืืื ืขื ืืคืขืจ ืฆื ืคึผืจืึธืืืขืืก ืืื ืื ืคึผืึธืืก. livenessProbe ืจืืกืืึทืจื ืืขื ืงืึทื ืืืื ืขืจ ืืื ืืขืจ ืืึธืคืขื ืื ื ืึทื ืืขืจ ืืขืืช ืืืขื ื ืืฉื ืคึผืึทืกืืจื ืืืืืขืจ, ืืื ReadinessProbe ืืืึธืืืืฅ ืื ืคึผืึธื ืคืื ืื ืงืึทืืื ื ืคืึทืจืงืขืจ ืืื ืื ืกืืื ืคืื ืืขื ืคึผืจืึธืืืขื ืืื ืกืึทืืืื.
ืืขืืขืจืืง ืึทืคึผืืึทืงืืืฉืึทื ืคึผืืึทื ืืึธื ืึทืจืืึทื ื ืขืืขื ืืืืืข ืืืืคึผืก ืคืื ืงืึธื ืืจืึธืืืจืื ื ืืื ืขื ืฉืืจ ืึทื ืืื ืงืืืึทืื ืืขื ืื ืืึทืื, ืกืคึผืขืฆืืขื ืืืขื ืึท ืืืกื ืขื ืืื ืืจืื ืืขืืืืจืคื. ืขืก ืืึธื ืืืื ืืืืึทืื ืื ื ืืืืืง ืึทืคึผื ืขื ืืคึผืึธืื ืฅ ืืืึธืก ืฆืืฉืืขืื ืื ืืึธื ืืืึธืจืื ื ืกืืกืืขื (ืคึผืจืึธืืขืืืขืืก) ืืื ืืืืืืืง ืืขืืื ื ืืขืืจืืงืก.
ืืงืืจ: www.habr.com