ืืื ืึท ืืขืจืฉื, ืขืก ืืื ืฉืืขื ืืืง ืึท ื ืืื ืฆื ืฆืืฉืืขืื ืึท ืืขืืึทืงืืืืึทื ืืขืงื ืคืื ืจืขืกืืจืกื ืฆื ืึท ืึทืคึผืืึทืงืืืฉืึทื ืคึฟืึทืจ ืืืึทื ืจืืืืืง ืืื ืกืืึทืืื ืึธืคึผืขืจืึทืฆืืข. ืึธืืขืจ ืืืึธืก ืืืื ืขืืืขืืข ืึทืคึผืืึทืงืืืฉืึทื ื ืืืืคื ืืืืฃ ืืขืจ ืืขืืืืงืขืจ ืืึทืื? ืืื ืฆื ืฆืืฉืืขืื ืืขืืขืจ ืคืื ืืื ืื ืืื ืืืื ื ืืืืืง ืจืขืกืืจืกื? ืืื ืงืขื ืขื ืืืจ ืืึทืืจืขื ืขืฆื ืืืื ืงืึทื ืกืึทืืฉืึทื? ืืื ืฆื ืจืืืืืง ืคืึทืจืฉืคึผืจืืืื ืื ืืึทืกืข ืฆืืืืฉื ื ืึธืืื? ืืื ืฆื ืขื ืฉืืจ ืึทื ืื ืืึธืจืืืึธื ืืึทื ืกืงืืืืื ื ืืขืงืึทื ืืืึทื ืึทืจืืขื ืืืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืืึทืกืข ืื ืงืจืืกืื?
ืืืจ ืืึทืจืคึฟื ืฆื ืึธื ืืืืื ืืื ืืืึธืก ืืืืคึผื ืืืืคึผืก ืคืื ืจืขืกืืจืกื ืขืงืกืืกืืืจื ืืื ืื ืกืืกืืขื - ืืึธืก, ืคืื ืงืืจืก, ืืื ืคึผืจืึทืกืขืกืขืจ ืฆืืื ืืื ืืึทืจืึทื. ืืื ืง8ืก ืืึทื ืึทืคืขืกืืื ืื ืืืื ืืืืคึผืก ืืขื ืขื ืืขืืืกืื ืืื ืื ืคืืืืขื ืืข ืื ืืฅ:
- ืงืคึผื - ืืื ืงืึธืจืขืก
- ืืึทืจืึทื - ืืื ืืืืขืก
ืืขืจืฆื, ืคึฟืึทืจ ืืขืืขืจ ืืืื ืขืก ืืื ืืขืืืขื ืฆื ืฉืืขืื ืฆืืืื ืืืืคึผืก ืคืื ืจืขืงืืืืจืขืืขื ืฅ - requests ะธ ืืืืึทืฅ. ืจืืงืืืขืก - ืืืฉืจืืืื ืื ืืื ืืืื ืจืขืงืืืืจืขืืขื ืฅ ืคึฟืึทืจ ืคืจืื ืจืขืกืืจืกื ืคืื ืึท ื ืึธืืข ืฆื ืืืืคื ืึท ืงืึทื ืืืื ืขืจ (ืืื ืคึผืึธื ืืื ืึท ืืึทื ืฅ), ืืฉืขืช ืืืืึทืฅ ืฉืืขืื ืึท ืฉืืืขืจ ืฉืืขืืจ ืืืืฃ ืื ืจืขืกืืจืกื ืื ืืืฆื ืฆื ืืขื ืงืึทื ืืืื ืขืจ.
ืขืก ืืื ืืืืืืืง ืฆื ืคึฟืึทืจืฉืืืื ืึทื ืื ืืึทื ืึทืคืขืกืืืืฉืึทื ืืื ื ืืฉื ืืึธืื ืฆื ืืคืืจืืฉ ืืขืคืื ืืจื ืืืืืข ืืืืคึผืก, ืึธืืขืจ ืื ื ืึทืืืจ ืืืขื ืืืื ืืื ืืืื:
- ืืืื ืืืืื ืื ืืืืึทืฅ ืคืื ืึท ืืืื ืืขื ืขื ืืคืืจืืฉ ืกืคึผืขืกืืคืืขื, ืจืืงืืืขืก ืคึฟืึทืจ ืืขื ืืืื ืืืืืึธืืึทืืืฉ ื ืขืืขื ืึท ืืืขืจื ืืืืึทื ืฆื ืืืืึทืฅ (ืืืจ ืงืขื ืขื ืืึทืฉืืขืืืงื ืืขื ืืืจื ืจืืคื ืืึทืฉืจืืึทืื ืขื ืืืืื). ืืขื ืข. ืืื ืคืึทืงื, ืืขืจ ืงืึทื ืืืื ืขืจ ืืืขื ืืืื ืืืืืืขื ืฆื ืืขืจ ืืขืืืืงืขืจ ืกืืืข ืคืื โโโโืจืืกืึธืจืกืื ืืืึธืก ืขืก ืืึทืจืฃ ืฆื ืืืืคื.
- ืืืื ืืืืื ืจืืงืืืขืก ืืขื ืขื ืืคืืจืืฉ ืกืคึผืขืกืืคืืขื ืคึฟืึทืจ ืึท ืืืื, ืงืืื ืืืืืขืจืฉืืขืจ ืจืืกืืจืืงืฉืึทื ื ืืขื ืขื ืืึทืฉืืืื ืืืืฃ ืืขื ืืืื - ื.ื. ืืขืจ ืงืึทื ืืืื ืขืจ ืืื ืืืืืืขื ืืืืื ืืืจื ืื ืจืขืกืืจืกื ืคืื ืื ื ืึธืืข ืืื.
ืขืก ืืื ืืืื ืืขืืืขื ืฆื ืงืึทื ืคืืืืขืจ ืจืืกืึธืจืก ืคืึทืจืืืึทืืืื ื ื ืื ืืืืื ืืืืฃ ืืขืจ ืืืจืื ืคืื ืึท ืกืคึผืขืฆืืคืืฉ ืงืึทื ืืืื ืขืจ, ืึธืืขืจ ืืืื ืืืืฃ ืื ื ืึทืืขืกืคึผืืืก ืืืจืื ื ืืฆื ืื ืคืืืืขื ืืข ืขื ืืืืื:
- LimitRange - ืืืฉืจืืืื ืื ืจืืกืืจืืงืฉืึทื ืคึผืึธืืืืืง ืืืืฃ ืื ืงืึทื ืืืื ืขืจ / ืคึผืึธื ืืืจืื ืืื ns ืืื ืืื ืืืจืฃ ืฆื ืืึทืฉืจืืึทืื ืื ืคืขืืืงืืึทื ืืืืึทืฅ ืืืืฃ ืืขื ืงืึทื ืืืื ืขืจ / ืคึผืึธื, ืืื ืืขืืื ื ืืื ืฆื ืคืึทืจืืืึทืื ืื ืฉืึทืคืื ื ืคืื ืืึธื ืคืขื ืงืึทื ืืืื ืขืจื / ืคึผืึธืืก (ืึธืืขืจ ืืืืฆืข ืืืขืจืกืึท), ืืึทืืจืขื ืขืฆื ืืืืขืจ ื ืืืขืจ ืืื ืืึทืฉืืืืขื ืื ืืขืืืขื ืืืืืง ืืื ืื ืืืึทืืืขืก ืืื ืืืืึทืฅ ืืื ืจืืงืืืขืก
- ืจืืกืึธืจืกืงืืืึธืืึทืก - ืืึทืฉืจืืึทืื ืื ืจืืกืืจืืงืฉืึทื ืคึผืึธืืืืืง ืืื ืึทืืืขืืืื ืคึฟืึทืจ ืึทืืข ืงืึทื ืืืื ืขืจื ืืื ns ืืื ืืื ืืขื ืืฆื, ืืื ืึท ืืขืจืฉื, ืฆื ืืขืืืืืืืจื ืจืขืกืืจืกื ืฆืืืืฉื ืื ืืืืืจืึทื ืืึทื ืฅ (ื ืืฆืืง ืืืขื ืื ืืืืืจืึทื ืืึทื ืฅ ืืขื ืขื ื ืืฉื ืฉืืจืขื ื ืืขืืึทืจืงืืืืื ืืืืฃ ืื ื ืึธืืข ืืืจืื)
ืื ืคืืืืขื ืืข ืืขื ืขื ืืืืฉืคืืื ืคืื ืืึทื ืึทืคืขืกืืืืฉืึทื ื ืืืึธืก ืฉืืขืื ืืืื ืืืืึทืฅ:
-
ืืืืฃ ืืขืจ ืกืคึผืขืฆืืคืืฉ ืงืึทื ืืืื ืขืจ ืืืจืื:
containers: - name: app-nginx image: nginx resources: requests: memory: 1Gi limits: cpu: 200m
ืืขื ืข. ืืื ืืขื ืคืึทื, ืฆื ืืืืคื ืึท ืงืึทื ืืืื ืขืจ ืืื nginx, ืืืจ ืืืขื ืืึทืจืคึฟื ืืืึท ืืื ืืกืืขืจ 1 ื ืคืื ืคืจืื ืืึทืจืึทื ืืื 0.2 ืงืคึผื ืืืืฃ ืื ื ืึธืืข, ืืฉืขืช ืืขืจ ืงืึทื ืืืื ืขืจ ืงืขื ืขื ืคืึทืจื ืืฆื 0.2 ืงืคึผื ืืื ืึทืืข ืื ืืืฆื ืืึทืจืึทื ืืืืฃ ืื ื ืึธืืข.
-
ืืืืฃ ืื ืืึทื ืฅ ื ืืืขืจ ืืืจืื ns:
apiVersion: v1 kind: ResourceQuota metadata: name: nxs-test spec: hard: requests.cpu: 300m requests.memory: 1Gi limits.cpu: 700m limits.memory: 2Gi
ืืขื ืข. ืื ืกืึทืืึทืงื ืคืื ืึทืืข ืืขืื ืงืึทื ืืืื ืขืจื ืืื ืื ืคืขืืืงืืึทื ns ืงืขื ืขื ื ืืฉื ืืงืกืื 300m ืคึฟืึทืจ ืื ืงืคึผื ืืื 1G ืคึฟืึทืจ ืื OP, ืืื ืื ืกืึทืืึทืงื ืคืื ืึทืืข ืฉืืขืืจ ืืื 700m ืคึฟืึทืจ ืื ืงืคึผื ืืื 2G ืคึฟืึทืจ ืื OP.
-
ืคืขืืืงืืึทื ืืืืึทืฅ ืคึฟืึทืจ ืงืึทื ืืืื ืขืจื ืืื ns:
apiVersion: v1 kind: LimitRange metadata: name: nxs-limit-per-container spec: limits: - type: Container defaultRequest: cpu: 100m memory: 1Gi default: cpu: 1 memory: 2Gi min: cpu: 50m memory: 500Mi max: cpu: 2 memory: 4Gi
ืืขื ืข. ืืื ืื ืคืขืืืงืืึทื ื ืึทืืขืกืคึผืึทืกืข ืคึฟืึทืจ ืึทืืข ืงืึทื ืืืื ืขืจื, ืื ืืขืื ืืืขื ืืืื ืืึทืฉืืืื ืฆื 100 ื ืคึฟืึทืจ ืงืคึผื ืืื 1 ื ืคึฟืึทืจ OP, ืฉืืขืืจ - 1 ืงืคึผื ืืื 2 ื. ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืื, ืึท ืฉืืขืืจ ืืื ืืืื ืืึทืฉืืืื ืืืืฃ ืื ืืขืืืขื ืืืึทืืืขืก ืืื ืืขืื / ืฉืืขืืจ ืคึฟืึทืจ ืงืคึผื (50 ื < ืจืขื ืืืขื < 2) ืืื ืืึทืจืึทื (500 ื < ืจืขื ืืืขื < 4 ื).
-
ืคึผืึธื-ืืืจืื ืจืืกืืจืืงืฉืึทื ื ns:
apiVersion: v1 kind: LimitRange metadata: name: nxs-limit-pod spec: limits: - type: Pod max: cpu: 4 memory: 1Gi
ืืขื ืข. ืคึฟืึทืจ ืืขืืขืจ ืคึผืึธื ืืื ืื ืคืขืืืงืืึทื ns ืขืก ืืืขื ืืืื ืึท ืฉืืขืืจ ืคืื 4 ืืืงืคึผื ืืื 1 ื.
ืืืฆื ืืื ืืืึธืื ืืื ืฆื ืืึธืื ืืืจ ืืืึธืก ืึทืืืืึทื ืืืืืฉืื ืื ืจืืกืืจืืงืฉืึทื ื ืงืขื ืขื ืืขืื ืืื ืื.
ืืึทืกืข ืืึทืืึทื ืกืื ื ืืขืงืึทื ืืืึทื ืฆืืืืฉื ื ืึธืืื
ืืื ืืืจ ืืืืกื, ืื k8s ืงืึธืืคึผืึธื ืขื ื ืืื ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืื ืคืึทืจืฉืคึผืจืืืืื ื ืคืื ืคึผืึธืืก ืฆืืืืฉื ื ืึธืืื, ืึทืืึท ืืื scheduler, ืืืึธืก ืึทืจืืขื ืืืื ืึท ืกืคึผืขืฆืืคืืฉ ืึทืืืขืจืืืึทื. ืืขืจ ืึทืืืขืจืืืึทื ืืืื ืืืจื ืฆืืืื ืกืืึทืืขืก ืืืขื ืกืขืืื ื ืื ืึธืคึผืืืืึทื ื ืึธืืข ืฆื ืงืึทืืขืจ:
- ืคืืืืจืืืฉืึทื
- ืจืืื ืืืฉืื ื
ืืขื ืข. ืืืื ืื ืืืกืงืจืืืื ืคึผืึธืืืืืง, ื ืึธืืื ืืขื ืขื ืืืืืขืก ืืืืกืืขืงืืืื ืืืืฃ ืืืึธืก ืขืก ืืื ืืขืืืขื ืฆื ืงืึทืืขืจ ืึท ืคึผืึธื ืืืืืจื ืืืืฃ ืึท ืืึทื ื ืคึผืจืขืืืงืึทืืขืก (ืึทืจืืึทื ืืขืจืขืื ื ืงืึธื ืืจืึธืืืจื ืฆื ืื ื ืึธืืข ืืื ืืขื ืื ืจืขืกืืจืกื ืฆื ืืืืคื ืื ืคึผืึธื - PodFitsResources), ืืื ืืขืจื ืึธื ืคึฟืึทืจ ืืขืืขืจ ืคืื ืื ื ืึธืืื, ืืืื ืฆื ืคึผืจืืืึธืจืึทืืื ืืืืืื ืืขื ืขื ืึทืืืึธืจืืื (ืึทืจืืึทื ืืขืจืขืื ื, ืื ืืขืจ ืคืจืื ืจืขืกืืจืกื ืึท ื ืึธืืข ืืื, ืื ืืขืจ ืืืืืื ืขืก ืืื ืึทืกืืื ื - LeastResourceAllocation/LeastRequestedPriority/BalancedResourceAllocation) ืืื ืื ืคึผืึธื ืืื ืืึธื ืืฉื ืืืืฃ ืื ื ืึธืืข ืืื ืื ืืขืจืกื ืคืื ืงืื (ืืืื ืขืืืขืืข ื ืึธืืื ืืึทืคืจืืืืงื ืืขื ืฆืืฉืืึทื ื ืืื ืึทืืึธื, ืืขืืึธืื ืึท ืืจืึทืค - ืืื ืืืืกืืขืงืืืื).
ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืื, ืืืจ ืืึทืจืคึฟื ืฆื ืคึฟืึทืจืฉืืืื ืึทื ืื ืกืงืขืืืฉืืืขืจ, ืืืขื ืึทืกืกืขืกืก ืื ืื ืืืฆื ืจืขืกืืจืกื ืคืื ืึท ื ืึธืืข, ืืื ืืืืืื ืืืจื ืื ืืึทืื ืกืืึธืจื ืืื ืขืืง - ื.ื. ืคึฟืึทืจ ืื ืกืืืข ืคืื โโืื ืืขืืขืื / ืฉืืขืืจ ืืืื ืคืื ืืขืืขืจ ืคึผืึธื ืคืืืกื ืืืง ืืืืฃ ืืขื ื ืึธืืข, ืึธืืขืจ ื ืืฉื ืคึฟืึทืจ ืื ืคืึทืงืืืฉ ืืืื ืงืึทื ืกืึทืืฉืึทื. ืื ืืื ืคึฟืึธืจืืึทืฆืืข ืงืขื ืขื ืืืื ืืืงืืืขื ืคืื ืื ืืึทืคึฟืขื ืจืขืืืืืึทื kubectl describe node $NODE
, ืคึฟืึทืจ ืืืึทืฉืคึผืื:
# kubectl describe nodes nxs-k8s-s1
..
Non-terminated Pods: (9 in total)
Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits AGE
--------- ---- ------------ ---------- --------------- ------------- ---
ingress-nginx nginx-ingress-controller-754b85bf44-qkt2t 0 (0%) 0 (0%) 0 (0%) 0 (0%) 233d
kube-system kube-flannel-26bl4 150m (0%) 300m (1%) 64M (0%) 500M (1%) 233d
kube-system kube-proxy-exporter-cb629 0 (0%) 0 (0%) 0 (0%) 0 (0%) 233d
kube-system kube-proxy-x9fsc 0 (0%) 0 (0%) 0 (0%) 0 (0%) 233d
kube-system nginx-proxy-k8s-worker-s1 25m (0%) 300m (1%) 32M (0%) 512M (1%) 233d
nxs-monitoring alertmanager-main-1 100m (0%) 100m (0%) 425Mi (1%) 25Mi (0%) 233d
nxs-logging filebeat-lmsmp 100m (0%) 0 (0%) 100Mi (0%) 200Mi (0%) 233d
nxs-monitoring node-exporter-v4gdq 112m (0%) 122m (0%) 200Mi (0%) 220Mi (0%) 233d
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
Resource Requests Limits
-------- -------- ------
cpu 487m (3%) 822m (5%)
memory 15856217600 (2%) 749976320 (3%)
ephemeral-storage 0 (0%) 0 (0%)
ืืึธ ืืืจ ืืขื ืึทืืข ืื ืคึผืึธืืก ืคืืืกื ืืืง ืืืืฃ ืึท ืกืคึผืขืฆืืคืืฉ ื ืึธืืข, ืืื ืืขืืื ื ืืื ืื ืจืขืกืืจืกื ืึทื ืืขืืขืจ ืคึผืึธื ืจืืงืืืขืก. ืืื ืืึธ ืก ืืื ืื ืกืงืขืืืฉืืืขืจ ืืึธืืก ืงืืง ืืื ืื cronjob-cron-events-1573793820-xt6q9 ืคึผืึธื ืืื ืืึธื ืืฉื (ืื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืขื ืืขืจืฉืืึทื ืขื ืืื ืื ืกืงืขืืืฉืืืขืจ ืงืืึธืฅ ืืืขื ืืืจ ืฉืืขืื ืื 10 ืืึธืืื ื ืืืจืื ืืื ืื ืกืืึทืจืืึทืคึผ ืืึทืคึฟืขืื ืึทืจืืืืขื ืื -v = 10):
ืงืืึธืฅ
I1115 07:57:21.637791 1 scheduling_queue.go:908] About to try and schedule pod nxs-stage/cronjob-cron-events-1573793820-xt6q9
I1115 07:57:21.637804 1 scheduler.go:453] Attempting to schedule pod: nxs-stage/cronjob-cron-events-1573793820-xt6q9
I1115 07:57:21.638285 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s5 is allowed, Node is running only 16 out of 110 Pods.
I1115 07:57:21.638300 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s6 is allowed, Node is running only 20 out of 110 Pods.
I1115 07:57:21.638322 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s3 is allowed, Node is running only 20 out of 110 Pods.
I1115 07:57:21.638322 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s4 is allowed, Node is running only 17 out of 110 Pods.
I1115 07:57:21.638334 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s10 is allowed, Node is running only 16 out of 110 Pods.
I1115 07:57:21.638365 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s12 is allowed, Node is running only 9 out of 110 Pods.
I1115 07:57:21.638334 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s11 is allowed, Node is running only 11 out of 110 Pods.
I1115 07:57:21.638385 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s1 is allowed, Node is running only 19 out of 110 Pods.
I1115 07:57:21.638402 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s2 is allowed, Node is running only 21 out of 110 Pods.
I1115 07:57:21.638383 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s9 is allowed, Node is running only 16 out of 110 Pods.
I1115 07:57:21.638335 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s8 is allowed, Node is running only 18 out of 110 Pods.
I1115 07:57:21.638408 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s13 is allowed, Node is running only 8 out of 110 Pods.
I1115 07:57:21.638478 1 predicates.go:1369] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s10 is allowed, existing pods anti-affinity terms satisfied.
I1115 07:57:21.638505 1 predicates.go:1369] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s8 is allowed, existing pods anti-affinity terms satisfied.
I1115 07:57:21.638577 1 predicates.go:1369] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s9 is allowed, existing pods anti-affinity terms satisfied.
I1115 07:57:21.638583 1 predicates.go:829] Schedule Pod nxs-stage/cronjob-cron-events-1573793820-xt6q9 on Node nxs-k8s-s7 is allowed, Node is running only 25 out of 110 Pods.
I1115 07:57:21.638932 1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s10: BalancedResourceAllocation, capacity 39900 millicores 66620178432 memory bytes, total request 2343 millicores 9640186880 memory bytes, score 9
I1115 07:57:21.638946 1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s10: LeastResourceAllocation, capacity 39900 millicores 66620178432 memory bytes, total request 2343 millicores 9640186880 memory bytes, score 8
I1115 07:57:21.638961 1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s9: BalancedResourceAllocation, capacity 39900 millicores 66620170240 memory bytes, total request 4107 millicores 11307422720 memory bytes, score 9
I1115 07:57:21.638971 1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s8: BalancedResourceAllocation, capacity 39900 millicores 66620178432 memory bytes, total request 5847 millicores 24333637120 memory bytes, score 7
I1115 07:57:21.638975 1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s9: LeastResourceAllocation, capacity 39900 millicores 66620170240 memory bytes, total request 4107 millicores 11307422720 memory bytes, score 8
I1115 07:57:21.638990 1 resource_allocation.go:78] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s8: LeastResourceAllocation, capacity 39900 millicores 66620178432 memory bytes, total request 5847 millicores 24333637120 memory bytes, score 7
I1115 07:57:21.639022 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s10: TaintTolerationPriority, Score: (10)
I1115 07:57:21.639030 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s8: TaintTolerationPriority, Score: (10)
I1115 07:57:21.639034 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s9: TaintTolerationPriority, Score: (10)
I1115 07:57:21.639041 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s10: NodeAffinityPriority, Score: (0)
I1115 07:57:21.639053 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s8: NodeAffinityPriority, Score: (0)
I1115 07:57:21.639059 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s9: NodeAffinityPriority, Score: (0)
I1115 07:57:21.639061 1 interpod_affinity.go:237] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s10: InterPodAffinityPriority, Score: (0)
I1115 07:57:21.639063 1 selector_spreading.go:146] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s10: SelectorSpreadPriority, Score: (10)
I1115 07:57:21.639073 1 interpod_affinity.go:237] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s8: InterPodAffinityPriority, Score: (0)
I1115 07:57:21.639077 1 selector_spreading.go:146] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s8: SelectorSpreadPriority, Score: (10)
I1115 07:57:21.639085 1 interpod_affinity.go:237] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s9: InterPodAffinityPriority, Score: (0)
I1115 07:57:21.639088 1 selector_spreading.go:146] cronjob-cron-events-1573793820-xt6q9 -> nxs-k8s-s9: SelectorSpreadPriority, Score: (10)
I1115 07:57:21.639103 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s10: SelectorSpreadPriority, Score: (10)
I1115 07:57:21.639109 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s8: SelectorSpreadPriority, Score: (10)
I1115 07:57:21.639114 1 generic_scheduler.go:726] cronjob-cron-events-1573793820-xt6q9_nxs-stage -> nxs-k8s-s9: SelectorSpreadPriority, Score: (10)
I1115 07:57:21.639127 1 generic_scheduler.go:781] Host nxs-k8s-s10 => Score 100037
I1115 07:57:21.639150 1 generic_scheduler.go:781] Host nxs-k8s-s8 => Score 100034
I1115 07:57:21.639154 1 generic_scheduler.go:781] Host nxs-k8s-s9 => Score 100037
I1115 07:57:21.639267 1 scheduler_binder.go:269] AssumePodVolumes for pod "nxs-stage/cronjob-cron-events-1573793820-xt6q9", node "nxs-k8s-s10"
I1115 07:57:21.639286 1 scheduler_binder.go:279] AssumePodVolumes for pod "nxs-stage/cronjob-cron-events-1573793820-xt6q9", node "nxs-k8s-s10": all PVCs bound and nothing to do
I1115 07:57:21.639333 1 factory.go:733] Attempting to bind cronjob-cron-events-1573793820-xt6q9 to nxs-k8s-s10
ืืึธ ืืืจ ืืขื ืึทื ืืืืืขืก ืื ืกืงืขืืืฉืืืขืจ ืคืืืืขืจืก ืืื ืืืฉืขื ืขืจืืืฅ ืึท ืจืฉืืื ืคืื 3 ื ืึธืืื ืืืืฃ ืืืึธืก ืขืก ืงืขื ืขื ืืืื ืืึธื ืืฉื (nxs-k8s-s8, nxs-k8s-s9, nxs-k8s-s10). ืืขืจื ืึธื ืขืก ืงืึทืืงืืึทืืืืฅ ืกืงืึธืจื ืืืืืจื ืืืืฃ ืขืืืขืืข ืคึผืึทืจืึทืืขืืขืจืก (ืึทืจืืึทื ืืขืจืขืื ื BalancedResourceAllocation, LeastResourceAllocation) ืคึฟืึทืจ ืืขืืขืจ ืคืื ืื ื ืึธืืื ืืื ืกืืจ ืฆื ืืึทืฉืืืกื ืื ืืขืจืกื ืคึผืึทืกืืง ื ืึธืืข. ืืขืกืึธืฃ, ืื ืคึผืึธื ืืื ืกืงืขืืืฉืืื ืืืืฃ ืื ื ืึธืืข ืืื ืื ืืขืืกืื ื ืืืขืจ ืคืื ืคืื ืงืื (ืืึธ ืฆืืืื ื ืึธืืื ืืื ืึทืืึธื ืืึธืื ืื ืืขืืืข ื ืืืขืจ ืคืื ืืืืืื 100037, ืึทืืื ืึท ืืจืึทืค - ืืื ืืืืกืืขืงืืืื - nxs-k8s-s10).
ืจืขืืืืืึทื: ืืืื ืึท ื ืึธืืข ืืืืคื ืคึผืึธืืก ืคึฟืึทืจ ืืืึธืก ืงืืื ืจืืกืืจืืงืฉืึทื ื ืืขื ืขื ืืึทืฉืืืื, ืืขืืึธืื ืคึฟืึทืจ k8s (ืคึฟืื ืื ืคืื ื ืคืื ืืืื ืื ื ืคืื ืืืื ืงืึทื ืกืึทืืฉืึทื) ืืึธืก ืืืขื ืืืื ืขืงืืืืืืึทืืขื ื ืฆื ืืื ืืืื ืขืก ืืขื ืขื ืงืืื ืึทืืึท ืคึผืึธืืก ืืืืฃ ืืขื ื ืึธืืข. ืืขืจืืืขืจ, ืืืื ืืืจ, ืงืึทื ืืืฉืึทื ืึทืื, ืืึธืื ืึท ืคึผืึธื ืืื ืึท ืคืจืขืกืขืจ ืคึผืจืึธืฆืขืก (ืืืฉื, wowza) ืืื ืงืืื ืจืืกืืจืืงืฉืึทื ื ืืขื ืขื ืืึทืฉืืืื ืคึฟืึทืจ ืขืก, ืขืก ืงืขื ืืืื ืึท ืกืืืืึทืฆืืข ืืืขื ืืขืจ ืคึผืึธื ืึทืงืฉืื ืืขืืขืกื ืึทืืข ืื ืจืขืกืืจืกื ืคืื ืื ื ืึธืืข, ืึธืืขืจ ืคึฟืึทืจ ืง8ืก ืืขื ื ืึธืืข. ืืื ืืขืจืขืื ื ืืื ืึทื ืืึธืืืึทื ืืื ืขืก ืืืขื ืืืื ืึทืืืึธืจืืื ืื ืืขืืืข ื ืืืขืจ ืคืื ืคืื ืงืื ืืืขื ืื ืจืึทื ื (ืืืืงื ืืื ืืืืืื ืึทืกืกืขืกืกืื ื ืื ืื ืืืฆื ืจืขืกืืจืกื) ืืื ืึท ื ืึธืืข ืืืึธืก ืืื ื ืืฉื ืืึธืื ืืจืืขืื ืคึผืึธืืก, ืืืึธืก ืืขืกืึธืฃ ืงืขื ืขื ืคืืจื ืฆื ืึทื ืืืืึทื ืคืึทืจืฉืคึผืจืืืืื ื ืคืื ืื ืืึทืกืข ืฆืืืืฉื ื ืึธืืื.
ืคึผืึธื ืก ืืืืืงืฉืึทื
ืืื ืืืจ ืืืืกื, ืืขืืขืจ ืคึผืึธื ืืื ืึทืกืืื ื ืืืื ืขืจ ืคืื 3 QoS ืงืืืกื:
- ืืขืจืึทื ืืื - ืืื ืึทืกืืื ื ืืืขื ืคึฟืึทืจ ืืขืืขืจ ืงืึทื ืืืื ืขืจ ืืื ืื ืคึผืึธื ืึท ืืงืฉื ืืื ืืืืื ืืขื ืขื ืกืคึผืขืกืืคืืขื ืคึฟืึทืจ ืืึผืจืื ืืื ืงืคึผื, ืืื ืื ืืืึทืืืขืก ืืืื ืืืืึทืื
- ืืืจืกืืึทืืืข - ืืื ืืื ืืกืืขืจ ืืืื ืงืึทื ืืืื ืขืจ ืืื ืื ืคึผืึธื ืืื ืึท ืืงืฉื ืืื ืึท ืฉืืขืืจ, ืืื ืืขืื <ืืืืื
- ืืขืกืืขืจ ืื - ืืืขื ืงืืื ืืืื ืงืึทื ืืืื ืขืจ ืืื ืื ืคึผืึธื ืืื ืืืืืืขื ืืื ืึท ืืืื
ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืื, ืืืขื ืึท ื ืึธืืข ืืงืกืคึผืืจืืึทื ืกืื ืึท ืคืขืื ืคืื ืจืขืกืืจืกื (ืืืกืง, ืืึผืจืื), ืงืืืขืืขื ืืืืื ืฆื ืจืื ืืื ืืืืืงื ืคึผืึธืืก ืืืื ืึท ืกืคึผืขืฆืืคืืฉ ืึทืืืขืจืืืึทื ืืืึธืก ื ืขืื ืืื ืืฉืืื ืื ืืืืืขืจืงืืึทื ืคืื ืื ืคึผืึธื ืืื ืืืึทื QoS ืงืืึทืก. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืื ืืืจ ืืขื ืขื ืืขืจืขืื ืืืขืื ืืึทืจืึทื, ืืืืืจื ืืืืฃ ืื QoS ืงืืึทืก, ืืืืืื ืืขื ืขื ืึทืืืึธืจืืื ืืืื ืื ืคืืืืขื ืืข ืคึผืจืื ืฆืืคึผ:
- ืืืึทืจืึทื ืืขืขื:-998
- BestEffort: ืงืกื ืืืงืก
- ืืืจืกืืึทืืืข: ืืื (ืืึทืงืก (2, 1000 - (1000 * ืืึผืจืื ืจืขืงืืืขืกืืืืืขืก) / ืืึทืฉืื ืืขืืึธืจื ืงืึทืคึผืึทืกืืื ืืืืืขืก), 999)
ืืขื ืข. ืืื ืืขืจ ืืขืืืืงืขืจ ืืืืืขืจืงืืึทื, ืื ืงืืืขืืขื ืืืขื ืขืจืฉืืขืจ ืืืืืงื ืคึผืึธืืก ืืื ืื ืืขืกืืขืจ ืื QoS ืงืืึทืก ืคืื ืื ื ืึธืืข.
ืจืขืืืืืึทื: ืืืื ืืืจ ืืืืื ืฆื ืจืขืืืฆืืจื ืื ืืืงืขืืืืึธืึธื ืึทื ืื ืืขืืขืื ืคึผืึธื ืืื ืืืืืงืืื ืคืื ืื ื ืึธืืข ืืื ืคืึทื ืคืื ืึท ืคืขืื ืคืื ืจืขืกืืจืกื ืืืืฃ ืขืก, ืฆืืืึทืืขื ืืื ืื ืืืืืขืจืงืืึทื, ืืืจ ืืืื ืืึทืจืคึฟื ืฆื ื ืขืืขื ืงืขืืจ ืคืื ืืึทืฉืืขืืืงื ืื ืืขืื / ืฉืืขืืจ ืคึฟืึทืจ ืขืก.
ืืขืงืึทื ืืืึทื ืคึฟืึทืจ ืืึธืจืืืึธื ืืึทื ืึทืืืึธืกืงืึทืืื ื ืคืื ืึทืคึผืืึทืงืืืฉืึทื ืคึผืึธืืก (HPA)
ืืืขื ืื ืึทืจืืขื ืืื ืฆื ืืืืืึธืืึทืืืฉ ืคืึทืจืืจืขืกืขืจื ืืื ืคืึทืจืืื ืขืจื ืื ื ืืืขืจ ืคืื ืคึผืึธืืก ืืืคึผืขื ืืื ื ืืืืฃ ืื ื ืืฆื ืคืื ืจืขืกืืจืกื (ืกืืกืืขื - ืงืคึผื / ืืึทืจืึทื ืึธืืขืจ ืืึทื ืืฆืขืจ - ืจืคึผืก), ืึทืืึท ืึท ืง8ืก ืขื ืืืื ืืื HPA (ืืึธืจืืืึธื ืืึทื ืคึผืึธื ืึทืืืึธืกืงืึทืืขืจ). ืื ืึทืืืขืจืืืึทื ืคืื ืืืึธืก ืืื ืืื ืืืื:
- ืื ืงืจืึทื ื ืจืืืื ืื ืคืื ืื ืืืืขืจืงื ืืืื ืืขื ืขื ืืืฉืืืกื (currentMetricValue)
- ืื ืืขืืขืื ืืืึทืืืขืก ืคึฟืึทืจ ืื ืืืื ืืขื ืขื ืืืฉืืืกื (ืืขืกืืจืขืืืขืืจืืงืืืึทืืืข), ืืืึธืก ืคึฟืึทืจ ืกืืกืืขื ืจืขืกืืจืกื ืืขื ืขื ืืึทืฉืืืื ืืื ืืขืื
- ืื ืงืจืึทื ื ื ืืืขืจ ืคืื ืจืขืคึผืืึทืงืึทื ืืื ืืืฉืืืกื (CurrentReplicas)
- ืื ืคืืืืขื ืืข ืคืึธืจืืืืข ืงืึทืืงืืึทืืืืฅ ืื ืืขืืขืื ื ืืืขืจ ืคืื ืจืขืคึผืืึทืงืึทื (ืืขืืืืื ืจืขืคึผืืึทืงืึทื)
wishedReplicas = [ currentReplicas * ( currentMetricValue / wantedMetricValue )]
ืืื ืืขื ืคืึทื, ืกืงืืืืื ื ืืืขื ื ืืฉื ืคึผืึทืกืืจื ืืืขื ืื ืงืึธืืึทืคืืฉืึทื ื (currentMetricValue / wantedMetricValue) ืืื ื ืึธืขื ื ืฆื 1 (ืืื ืืขื ืคืึทื, ืืืจ ืงืขื ืขื ืฉืืขืื ืื ืขืจืืืืื ืืขืืช ืืื; ืืืจื ืคืขืืืงืืึทื ืขืก ืืื 0.1).
ืืึธืืืจ ืืขื ืืื hpa ืึทืจืืขื ืืื ืืขื ืืืืฉืคึผืื ืคืื ืื ืึทืคึผ-ืคึผืจืืืืจื ืึทืคึผืืึทืงืืืฉืึทื (ืืืกืงืจืืืื ืืื ืืืคึผืืืืืึทื ื), ืืื ืขืก ืืื ื ืืืืืง ืฆื ืืืืฉื ืื ื ืืืขืจ ืคืื ืจืขืคึผืืึทืงืึทื ืืืคึผืขื ืืื ื ืืืืฃ ืงืคึผื ืงืึทื ืกืึทืืฉืึทื:
-
ืึทืคึผืคึผืืืงืึทืืืึธื ืืึทืฉืืึทืืคึผืขืจืืขื
kind: Deployment apiVersion: apps/v1beta2 metadata: name: app-test spec: selector: matchLabels: app: app-test replicas: 2 template: metadata: labels: app: app-test spec: containers: - name: nginx image: registry.nixys.ru/generic-images/nginx imagePullPolicy: Always resources: requests: cpu: 60m ports: - name: http containerPort: 80 - name: nginx-exporter image: nginx/nginx-prometheus-exporter resources: requests: cpu: 30m ports: - name: nginx-exporter containerPort: 9113 args: - -nginx.scrape-uri - http://127.0.0.1:80/nginx-status
ืืขื ืข. ืืืจ ืืขื ืึทื ืื ืึทืคึผืืึทืงืืืฉืึทื ืคึผืึธื ืืื ืืืืืขืก ืืึธื ืืฉื ืืื ืฆืืืื ืื ืกืืึทื ืกืื, ืืขืืขืจ ืคืื ืืืึธืก ืึผืืื ืฆืืืื nginx ืืื nginx-ืขืงืกืคึผืึธืจืืขืจ ืงืึทื ืืืื ืขืจื, ืคึฟืึทืจ ืืขืืขืจ ืคืื ืืืึธืก ืึท ืกืคึผืขืกืืคืืขื requests ืคึฟืึทืจ ืงืคึผื.
-
HPA ืืึทื ืืคืขืกืืึธ
apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata: name: app-test-hpa spec: maxReplicas: 10 minReplicas: 2 scaleTargetRef: apiVersion: extensions/v1beta1 kind: Deployment name: app-test metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 30
ืืขื ืข. ืืืจ ืืึธืื ืืืฉืืคื ืึทื ืืคึผืึท ืืืึธืก ืืืขื ืืึธื ืืืึธืจ ืื ืืืคึผืืืืืึทื ื ืึทืคึผ ืคึผืจืึธืืข ืืื ืกืืจืืืขืจื ืื ื ืืืขืจ ืคืื ืคึผืึธืืก ืืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืืืืืจื ืืืืฃ ืื ืงืคึผื ืืจืืื (ืืืจ ืืขืจืืืึทืจืื ืึทื ืื ืคึผืึธื ืืึธื ืคืึทืจื ืืฆื 30% ืคืื ืื ืงืคึผื ืขืก ืจืืงืืืขืก), ืืื ืื ื ืืืขืจ ืคืื ืจืขืคึผืืึทืงืึทื. ืื ืงืืื ืคืื 2-10.
ืืืฆื, ืืึธืืืจ ืงืืงื ืืื ืื ืืขืงืึทื ืืืึทื ืคืื ืืคึผืึท ืึธืคึผืขืจืึทืฆืืข ืืืื ืืืจ ืฆืืืืืื ืึท ืืึทืกืข ืฆื ืืืื ืขืจ ืคืื ืื ืืึทืจืื:
# kubectl top pod NAME CPU(cores) MEMORY(bytes) app-test-78559f8f44-pgs58 101m 243Mi app-test-78559f8f44-cj4jz 4m 240Mi
ืืื ืึทืืืขืืืื ืืืจ ืืึธืื ืื ืคืืืืขื ืืข:
- ืืขืจ ืืขืืืืื ืืืขืจื (ืืขืกืืจืขืืืขืืจืืงืืืึทืืืข) - ืืืื ืื ืืคึผืึท ืกืขืืืื ืืก, ืืืจ ืืึธืื 30%
- ืงืจืึทื ื ืืืขืจื (currentMetricValue) - ืคึฟืึทืจ ืืขืืฉืื, ืงืึธื ืืจืึธืืืขืจ-ืคืึทืจืืืึทืืืขืจ ืงืึทืืงืืึทืืืืฅ ืื ืืืจืืฉื ืืืืขื ืืืขืจื ืคืื ืืืื ืงืึทื ืกืึทืืฉืึทื ืืื %, ื.ื. ืงืึทื ืืืฉืึทื ืึทืื ืืื ืื ืคืืืืขื ืืข:
- ืจืืกืืืื ืึทืืกืึธืืื ืืืึทืืืขืก ืคืื ืคึผืึธื ืืขืืจืืงืก ืคืื ืื ืืขืืจืืง ืกืขืจืืืขืจ, ื.ื. 101 ืขื ืืื 4 ืขื
- ืงืึทืืงืืึทืืืืฅ ืื ืืืจืืฉื ืืืืขื ืึทืืกืึธืืื ืืืขืจื, ื.ื. (101ื + 4ื) / 2 = 53ื
- ืืขืฅ ืื ืึทืืกืึธืืื ืืืขืจื ืคึฟืึทืจ ืื ืืขืืขืื ืืืื ืงืึทื ืกืึทืืฉืึทื (ืคึฟืึทืจ ืืขื, ืื ืจืืงืืืขืก ืคืื ืึทืืข ืงืึทื ืืืื ืขืจื ืืขื ืขื ืกืึทืื ืึทืจืืืฃ) 60m + 30m = 90m
- ืงืึทืืงืืึทืืืืฅ ืื ืืืจืืฉื ืืืืขื ืคึผืจืึธืฆืขื ื ืคืื ืงืคึผื ืงืึทื ืกืึทืืฉืึทื ืงืึธืจืขืื ืฆื ืื ืืขืื ืคึผืึธื, ื.ืข. 53 ื / 90 ื * 100% = 59%
ืืืฆื ืืืจ ืืึธืื ืึทืืฅ ืืืจ ืืึทืจืคึฟื ืฆื ืืึทืฉืืืกื ืฆื ืืืจ ืืึทืจืคึฟื ืฆื ืืืืฉื ืื ื ืืืขืจ ืคืื ืจืขืคึผืืึทืงืึทื; ืฆื ืืึธื ืืึธืก, ืืืจ ืจืขืืขื ืขื ืื ืงืึธืืึทืคืืฉืึทื ื:
ratio = 59% / 30% = 1.96
ืืขื ืข. ืื ื ืืืขืจ ืคืื ืจืขืคึผืืึทืงืึทื ืืึธื ืืืื ืืขืืืืงืกื ืืื ~ 2 ืืื ืืื ืกืืืข ืฆื [2 * 1.96] = 4.
ืืกืงื ื: ืืื ืืืจ ืงืขื ืขื ืืขื, ืืื ืกืืจ ืคึฟืึทืจ ืืขื ืืขืงืึทื ืืืึทื ืฆื ืึทืจืืขืื, ืึท ื ืืืืืง ืฆืืฉืืึทื ื ืืื ืื ืืืึทืืืึทื ืคืื ืจืืงืืืขืก ืคึฟืึทืจ ืึทืืข ืงืึทื ืืืื ืขืจื ืืื ืื ืืืืขืจืงื ืคึผืึทื.
ืืขืงืึทื ืืืึทื ืคึฟืึทืจ ืืึธืจืืืึธื ืืึทื ืึทืืืึธืกืงืึทืืื ื ืคืื ื ืึธืืื (ืงืืืกืืขืจ ืึทืืืึธืกืงืึทืืขืจ)
ืืื ืกืืจ ืฆื ื ืืืจืึทืืืื ืื ื ืขืืึทืืืื ืคึผืจืึทื ืืืืฃ ืื ืกืืกืืขื ืืขืฉืึทืก ืืึทืกืข ืกืขืจืืืฉืึทื, ืึท ืงืึทื ืคืืืืขืจื ืืคึผืึท ืืื ื ืืฉื ืืขื ืื. ืฆืื ืืืืฉืคึผืื, ืืืื ืื ืกืขืืืื ืืก ืืื ืื hpa ืงืึธื ืืจืึธืืืขืจ ืคืึทืจืืืึทืืืขืจ, ืขืก ืืืกืืืื ืึทื ืื ื ืืืขืจ ืคืื ืจืขืคึผืืึทืงืึทื ืืึทืจืฃ ืืืื ืืขืืืืงืกื ืืื 2 ืืื, ืึธืืขืจ ืื ื ืึธืืื ืืึธื ื ืื ืืึธืื ืคืจืื ืจืขืกืืจืกื ืฆื ืืืืคื ืึทืืึท ืึท ื ืืืขืจ ืคืื ืคึผืึธืืก (ื"ื ืื ื ืึธืืข ืงืขื ื ืืฉื ืฆืืฉืืขืื ืืขืืขืื ืจืขืกืืจืกื ืฆื ืื ืจืืงืืืขืก ืคึผืึธื) ืืื ืื ืคึผืึธืืก ืกืืืืืฉืื ืฆื ืื ืคึผืขื ืืื ื ืฉืืึทื.
ืืื ืืขื ืคืึทื, ืืืื ืืขืจ ืฉืคึผืืึทืืขืจ ืืื ืึท ืงืึธืจืึทืกืคึผืึทื ืืื ื IaaS / PaaS (ืืืฉื, GKE / GCE, AKS, EKS, ืขืืง.), ืึท ืืขืฆืืึทื ืืื ื ืึธืืข ืึทืืืึธืกืงืึทืืขืจ. ืขืก ืึทืืึทืื ืืืจ ืฆื ืฉืืขืื ืื ืืึทืงืกืืืื ืืื ืืื ืืืื ื ืืืขืจ ืคืื ื ืึธืืื ืืื ืืขื ืงื ืืื ืืื ืืืืืึธืืึทืืืฉ ืกืืจืืืขืจื ืื ืงืจืึทื ื ื ืืืขืจ ืคืื ื ืึธืืื (ืืืจื ืจืืคื ืื ืืืึธืืงื ืฉืคึผืืึทืืขืจ ืึทืคึผื ืฆื ืกืืจ / ืึทืจืึธืคึผื ืขืืขื ืึท ื ืึธืืข) ืืืขื ืขืก ืืื ืึท ืคืขืื ืคืื ืจืขืกืืจืกื ืืื ืื ืงื ืืื ืืื ืื ืคึผืึธืืก. ืงืขื ืขื ื ืื ืืืื ืกืงืขืืืฉืืื (ืืขื ืขื ืืื ืื ืคึผืขื ืืื ื ืฉืืึทื).
ืืกืงื ื: ืฆื ืงืขื ืขื ืฆื ืึทืืืึธืกืงืึทืืข ื ืึธืืื, ืขืก ืืื ื ืืืืืง ืฆื ืฉืืขืื ืจืืงืืืขืก ืืื ืื ืคึผืึธื ืงืึทื ืืืื ืขืจื ืึทืืื ืึทื ืง8ืก ืงืขื ืขื ืจืืืืืง ืึทืกืกืขืกืก ืื ืืึทืกืข ืืืืฃ ืื ื ืึธืืื ืืื ืึทืงืึธืจืืื ืืื ืืึทืจืืื ืึทื ืขืก ืืขื ืขื ืงืืื ืจืขืกืืจืกื ืืื ืืขื ืงื ืืื ืฆื ืงืึทืืขืจ ืื ืืืืึทืืขืจ ืคึผืึธื.
ืกืึธืฃ
ืขืก ืืึธื ืืืื ืื ืืขืืืืื ืึทื ืืึทืฉืืขืืืงื ืงืึทื ืืืื ืขืจ ืืืื ืืืืึทืฅ ืืื ื ืืฉื ืึท ืคืึธืืขืจืื ื ืคึฟืึทืจ ืื ืึทืคึผืืึทืงืืืฉืึทื ืฆื ืืืืคื ืืฆืืื, ืึธืืขืจ ืขืก ืืื ื ืึธื ืืขืกืขืจ ืฆื ืืึธื ืืึธืก ืคึฟืึทืจ ืื ืคืืืืขื ืืข ืกืืืืช:
- ืคึฟืึทืจ ืืขืจ ืคึผืื ืืืขื ืึธืคึผืขืจืึทืฆืืข ืคืื โโืื ืกืงืขืืืฉืืืขืจ ืืื ืืขืจืืื ืขื ืคืื ืืึทืกืข ืืึทืืึทื ืกืื ื ืฆืืืืฉื ืง8 ืก ื ืึธืืื
- ืฆื ืจืขืืืฆืืจื ืื ืืืงืขืืืืึธืึธื ืคืื ืึท "ืคึผืึธื ืืืืืงืฉืึทื" ืืขืฉืขืขื ืืฉ
- ืคึฟืึทืจ ืืึธืจืืืึธื ืืึทื ืึทืืืึธืกืงืึทืืื ื ืคืื ืึทืคึผืืึทืงืืืฉืึทื ืคึผืึธืืก (HPA) ืฆื ืึทืจืืขืื
- ืคึฟืึทืจ ืืึธืจืืืึธื ืืึทื ืึทืืืึธืกืงืึทืืื ื ืคืื ื ืึธืืื (ืงืืืกืืขืจ ืึทืืืึธืกืงืึทืืื ื) ืคึฟืึทืจ ืืืึธืืงื ืคึผืจืึทืืืืืืขืจื
ืืืืขื ืขื ืืืื ืื ืืขืจืข ืึทืจืืืงืืขื ืืืืฃ ืืื ืืืขืจ ืืืึธื:
Tekton Pipeline - ืงืืืขืจื ืขืืขืก-ืืขืืืืจื ืคึผืืืคึผืืืื ื ืืืืขื ืืื ืึทืืืฉ ืืึทืืืฉืืื ืคึฟืึทืจ Nginx ืืืึธืก ืืื ืื ืืืืืจืืืฉืึทื ืคืื ืงืืืงืงืืึทืืก ืึธื ืืขืจืืืืืขื ืืฉ ืฆื ืงืืืงืืึธืืกืข ืืื ืืขืจืืืืืขื ืืฉ ืคืืจื ืฆื? ืคึฟืึทืจืฉืืืื ืืขื ืงืึธื ืืขืงืกื ืคึผืขืงื ืืื Golang ืืจืื ืคึผืฉืื ืืจืืงืก ืฆื ืืึทื ืฉืจืืืคึผื ืืึธืงืงืขืจ ืืืืืขืจ ืืึทืงืงืืคึผ ืคืื ืึท ืืจืืืก ื ืืืขืจ ืคืื ืืขืืขืจืึทืืืฉืื ืืึทืก ืืืขื ืคึผืจืึทืืืฉืขืงืก
ืืงืืจ: www.habr.com