แ แแแแ แช แฌแแกแ, แงแแแแแแแแก แแ แแก แกแแญแแ แ แแแแแแแชแแแกแแแแก แ แแกแฃแ แกแแแแก แแแแแงแแคแแแ แแฃแแแก แแแฌแแแแแ แแแกแ แกแฌแแ แ แแ แกแขแแแแแฃแ แ แแฃแจแแแแแกแแแแก. แแแแ แแ แ แ แแแฎแแแแ, แแฃ แ แแแแแแแแ แแแแแแแชแแ แแฃแจแแแแก แแแแแ แกแแแซแแแแ แแแ? แ แแแแ แแแแแฌแแแแ แแแแแแฃแ แแแแแแแก แแแแแแแแฃแ แ แกแแญแแ แ แ แแกแฃแ แกแแแ? แ แแแแ แจแแแแซแแแแ แจแแแฆแฃแแแ แ แแกแฃแ แกแแแแก แแแฎแแแ แแแ? แ แแแแ แกแฌแแ แแ แแแแแแแฌแแแแ แแแขแแแ แแแ แแแแแซแแแก แจแแ แแก? แ แแแแ แฃแแ แฃแแแแแแงแแ แฐแแ แแแแแขแแแฃแ แ แกแแแแแ แแแแก แแแฅแแแแแแแก แแฃแจแแแแ, แแฃ แแแแแชแฎแแแแก แแแขแแแ แแแ แแแ แแแแ?
แแฅแแแ แฃแแแ แแแแฌแงแแ แแแแ, แแฃ แ แ แซแแ แแแแแ แขแแแแก แ แแกแฃแ แกแแแ แแ แกแแแแแก แกแแกแขแแแแจแ - แแก, แ แ แแฅแแ แฃแแแ, แแ แแก แแ แแชแแกแแ แแก แแ แ แแ แแแแ แแขแแฃแแ แแแฎแกแแแ แแแ. k8s แแแแแคแแกแขแแแจแ แ แแกแฃแ แกแแแแก แแก แขแแแแแ แแแแแแแ แจแแแแแ แแ แแแฃแแแแจแ:
- CPU - แแแ แแแแแจแ
- แแแแ แแขแแฃแแ แแแฎแกแแแ แแแ - แแแแขแแแจแ
แฃแคแ แ แแแขแแช, แแแแแแฃแแ แ แแกแฃแ แกแแกแแแแก แจแแกแแซแแแแแแแ แแแฌแแกแแแก แแ แ แกแแฎแแก แแแแฎแแแแ - แแแแแฎแแแก ะธ แแแแแขแแแ. แแแแฎแแแแแแ - แแฆแฌแแ แก แแแแแแแแฃแ แแแแฎแแแแแแก แแแแแซแแก แแแแแกแฃแคแแแ แ แแกแฃแ แกแแแแก แแแแแ แ แแแแขแแแแแ แแก (แแ แแแแแแแแ pod) แแแกแแจแแแแแ, แฎแแแ แแแแแขแแแ แแแแแแก แแแแชแ แแแแแขแก แแแแขแแแแแ แแก แฎแแแแแกแแฌแแแแ แ แแกแฃแ แกแแแแ.
แแแแจแแแแแแแแแแ แแแแกแแแแแก, แ แแ แแแแแคแแกแขแแ แแ แฃแแแ แแแแกแแแฆแแ แแก แแ แแแ แขแแแ, แแแแ แแ แฅแชแแแ แแฅแแแแ แจแแแแแแ:
- แแฃ แชแแแกแแฎแแ แแ แแก แแแแแแแแฃแแ แแฎแแแแ แ แแกแฃแ แกแแก แแแแแขแแแ, แแแจแแ แแ แ แแกแฃแ แกแแก แแแแฎแแแแ แแแขแแแแขแฃแ แแ แแฆแแแก แแแแแขแแแแก แขแแ แแแแจแแแแแแแแก (แจแแแแซแแแแ แแแแแแแแฌแแแ แแฆแฌแแ แแก แแ แแแฃแแแแแก แแแแแซแแฎแแแแ). แแแแ. แคแแฅแขแแแ แแแแ, แแแแขแแแแแ แ แจแแแแแคแแ แแแแแ แแแแแ แ แแแแแแแแแก แ แแกแฃแ แกแแแแ, แ แแช แแแก แกแญแแ แแแแ.
- แแฃ แ แแกแฃแ แกแแ แชแแแกแแฎแแ แแ แแก แแแแแแแแฃแแ แแฎแแแแ แแแแฎแแแแแแ, แแแจแแ แแ แ แแกแฃแ แกแแ แแแแ แจแแแฆแฃแแแแแ แแ แแ แแก แแแฌแแกแแแฃแแ - แ.แ. แแแแขแแแแแ แ แจแแแแแคแแ แแแแแ แแฎแแแแ แแแแแ แแแแแซแแก แ แแกแฃแ แกแแแแ.
แแกแแแ แจแแกแแซแแแแแแแ แ แแกแฃแ แกแแแแก แแแ แแแแก แแแแคแแแฃแ แแชแแ แแ แ แแฎแแแแ แแแแแ แแขแฃแแ แแแแขแแแแแ แแก แแแแแแ, แแ แแแแ แกแแฎแแแแ แกแแแ แชแแก แแแแแแ แจแแแแแแ แแ แแแฃแแแแแก แแแแแงแแแแแแ:
- แแแแแขแแก แแแแแแแแแ โ แแฆแฌแแ แก แจแแแฆแฃแแแแก แแแแแขแแแแก แแแแขแแแแแ แแก/แแแแแก แแแแแแ ns-แจแ แแ แกแแญแแ แแ แแแแขแแแแแ แแ/แแแแแ แแแแฃแแแกแฎแแแแ แจแแแฆแฃแแแแแแก แแฆแกแแฌแแ แแ, แแกแแแ แแจแแแ แแ แชแฎแแแแแแแ แแแแขแแแแแ แแแแก/แแแแแแแก แจแแฅแแแแก แแแแแแแ แแกแแชแแแแแแแ (แแ แแแ แแฅแแ), แแแแ แ แแแแแแแแแก แจแแแฆแฃแแแแกแแแแก. แแ แแแแกแแแฆแแ แแ แจแแกแแซแแ แแแแกแฎแแแแแแ แแแแจแแแแแแแแแจแ แแแแแขแแแกแ แแ แแแแฎแแแแแแจแ
- แ แแกแฃแ แกแแก แแแแขแแแ โ แแฆแฌแแ แแ แจแแแฆแฃแแแแก แแแแแขแแแ แแแแแแแ แงแแแแ แแแแขแแแแแ แแกแแแแก ns-แจแ แแ แแแแแแงแแแแแ, แ แแแแ แช แฌแแกแ, แ แแกแฃแ แกแแแแก แกแแแฆแแ แแแแกแแแแก แแแ แแแแจแ (แกแแกแแ แแแแแแ, แ แแแแกแแช แแแ แแแ แแ แแ แแก แแแแชแ แแ แแแแแงแแคแแแ แแแแแซแแก แแแแแแ)
แฅแแแแแ แแแชแแแฃแแแ แแแแแคแแกแขแแแแก แแแแแแแแแแ, แ แแแแแแแช แแแแแแแ แ แแกแฃแ แกแแแแก แแแแแขแแแก:
-
แแแแแ แแขแฃแแ แแแแขแแแแแ แแก แแแแแแ:
containers: - name: app-nginx image: nginx resources: requests: memory: 1Gi limits: cpu: 200m
แแแแ. แแ แจแแแแฎแแแแแจแ, nginx-แแ แแแแขแแแแแ แแก แแแกแแจแแแแแ, แแแแญแแ แแแแแ แแแแแแฃแ 1 แ แแแแแกแฃแคแแแ แแแแ แแขแแฃแแ แแแฎแกแแแ แแแ แแ 0.2 CPU แแแแแซแแ, แฎแแแ แแแฅแกแแแฃแ แแแแขแแแแแ แก แจแแฃแซแแแ แแแแฎแแแ แแก 0.2 CPU แแ แงแแแแ แฎแแแแแกแแฌแแแแแ แแแแ แแขแแฃแแ แแแฎแกแแแ แแแ แแแแแซแแ.
-
แแแแ แแแแแแ ns:
apiVersion: v1 kind: ResourceQuota metadata: name: nxs-test spec: hard: requests.cpu: 300m requests.memory: 1Gi limits.cpu: 700m limits.memory: 2Gi
แแแแ. แงแแแแ แแแแฎแแแแแก แแแแขแแแแแ แแแแก แฏแแแ แแแแฃแแแกแฎแแแ ns-แจแ แแ แฃแแแ แแฆแแแแขแแแแแแก 300 แ-แก CPU-แกแแแแก แแ 1G-แก OP-แแกแแแแก แแ แงแแแแ แแแแแขแแก แฏแแแ แแ แแก 700m CPU-แกแแแแก แแ 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 แ CPU-แกแแแแก แแ 1G OP-แแกแแแแก, แแแแแขแ - 1 CPU แแ 2G. แแแแแแ แแฃแแแ, แแกแแแ แแแฌแแกแแแฃแแแ แแแแแขแ แแแแฎแแแแแก/แแแแแขแแก แจแแกแแซแแ แแแแจแแแแแแแแแแ CPU (50m < x <2) แแ แแแแ แแขแแฃแแ แแแฎแกแแแ แแแ (500M < x < 4G).
-
แแแ แแแแแก แจแแแฆแฃแแแแแ ns:
apiVersion: v1 kind: LimitRange metadata: name: nxs-limit-pod spec: limits: - type: Pod max: cpu: 4 memory: 1Gi
แแแแ. แแแแฃแแแกแฎแแแแ ns-แแก แแแแแแฃแแ แแแแแกแแแแก แแฅแแแแ แแแแแขแ 4 vCPU แแ 1G.
แแฎแแ แแแแแ แแแแฎแ แแ, แ แ แฃแแแ แแขแแกแแแแแ แจแแแซแแแแ แแแแแชแแก แแ แจแแแฆแฃแแแแแแก แแแฌแแกแแแแ.
แแแแแซแแแก แจแแ แแก แแแขแแแ แแแแก แแแแแแแแกแแแแก แแแฅแแแแแแ
แแแแแฎแกแแแแแแ, k8s แแแแแแแแแขแ แแแกแฃแฎแแกแแแแแแแแ แแแแแซแแแแก แแแแแฌแแแแแแแ แแแแแซแแแก แจแแ แแก, แแแ scheduler, แ แแแแแแช แแฃแจแแแแก แแแแแ แแขแฃแแ แแแแแ แแแแแก แแแฎแแแแแ. แแก แแแแแ แแแแ แแแแแก แแ แแขแแแก แแแกแแจแแแแแ แแแขแแแแแฃแ แ แแแแแซแแก แแ แฉแแแแกแแก:
- แคแแแขแ แแชแแ
- แ แแแแแ แแแ
แแแแ. แแฆแฌแแ แแแ แแแแแขแแแแก แแแฎแแแแแ, แแแแแแแแ แแแแแ แจแแแ แฉแแแ แแแแแซแแแ, แ แแแแแแแแช แจแแกแแซแแแแแแแ แแแแ แแแแก แกแแคแฃแซแแแแแ แแแจแแแแ แแ แแแแแแขแแแ (แแแ แจแแ แแก, แจแแแแฌแแแแแก, แแฅแแก แแฃ แแ แ แแแแแซแก แกแแแแแ แแกแ แ แแกแฃแ แกแ แแแแแก แแแกแแจแแแแแ - PodFitsResources), แแ แจแแแแแ แแแแแแฃแแ แแ แแแแแซแแกแแแแก, แจแแกแแแแแแกแแ แแ แแแ แแขแแขแแแ แฅแฃแแแแ แแแแญแแแ (แแแ แจแแ แแก, แ แแช แฃแคแ แ แแแขแ แแแแแกแฃแคแแแ แ แแกแฃแ แกแ แแฅแแก แแแแแซแก, แแแ แแแขแ แฅแฃแแ แแแแญแแแ แแแก - LeastResourceAllocation/LeastRequestedPriority/BalancedResourceAllocation) แแ แแแแ แแแจแแแแฃแแแ แงแแแแแแ แแแขแ แฅแฃแแแก แแฅแแแ แแแแแซแแ (แแฃ แ แแแแแแแแ แแแแแซแ แแ แแแ แแฃแแแ แแแแแงแแคแแแแแก แแ แแแ แแแแก, แแแจแแ แจแแ แฉแแฃแแแ แจแแแแฎแแแแแแ).
แแแแแแ แแฃแแแ, แแฅแแแ แฃแแแ แแแกแแแแแ, แ แแ แแแแแแแแแแ, แแแแแซแแก แฎแแแแแกแแฌแแแแแ แ แแกแฃแ แกแแแแก แจแแคแแกแแแแกแแก, แฎแแแแซแฆแแแแแแแแก แแแแแชแแแแแแ, แ แแแแแแแช แแแแฎแแแ etcd-แจแ - แ.แ. แแ แแแแแซแแ แแแจแแแแฃแแ แแแแแแฃแแ แแแแแก แแแแฎแแแแแแ/แแแแแขแฃแ แ แ แแกแฃแ แกแแก แแแแแแแแกแแแแก, แแแแ แแ แแ แ แ แแกแฃแ แกแแก แคแแฅแขแแแ แแแ แแแฎแแแ แแแแกแแแแก. แแ แแแคแแ แแแชแแแก แแแฆแแแ แจแแกแแซแแแแแแแ แแ แซแแแแแแก แแแแแกแแแแแแ 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 pod แแแจแแแแฃแแแ (แแก แแแคแแ แแแชแแ แแแแแฉแแแแแ แแแแ แแแแก แแฃแ แแแแจแ, แ แแแแกแแช แแแแงแแแแแ แแ-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).
แแแแแงแแแแแก: แแฃ แแแแแซแ แแฌแแ แแแแแก แแแแแแก, แ แแแแแแแกแแแแกแแช แแ แแ แแก แแแฌแแกแแแฃแแ แจแแแฆแฃแแแแแ, แแแจแแ k8-แแแแกแแแแก (แ แแกแฃแ แกแแแแก แแแฎแแแ แแแแก แแแแแกแแแ แแกแแ) แแก แแฅแแแแ แแฅแแแแแแแแขแฃแ แ, แแแแฅแแก แแ แแแแแซแแ แกแแแ แแแ แแ แแ แกแแแแแแแก แแกแแแ แแแแแซแแแ. แแแจแแกแแแแแ, แแฃ แแฅแแแ, แแแ แแแแแแ, แแแฅแแ แแแฃแขแฃแแฃแ แ แแ แแชแแกแแก แแฅแแแ แแแแ (แแแแแแแแแ, wowza) แแ แแแกแแแแก แแ แแแแแ แ แจแแแฆแฃแแแ แแ แแ แแก แแแฌแแกแแแฃแแ, แแแจแแ แจแแแซแแแแ แจแแแฅแแแแก แกแแขแฃแแชแแ, แ แแแแกแแช แแ แแแแแ แ แแแแฃแ แแ แจแแญแแแ แแแแแซแแก แงแแแแ แ แแกแฃแ แกแ, แแแแ แแ k8-แแแแกแแแแก แแก แแแแแซแ แแแแแฎแแแแแ แแแขแแแ แแฃแแ แแ แแแก แแแแแแญแแแ แแแแแ แ แแแแแแแแแก แฅแฃแแแแ แ แแแแแ แแแแกแแก (แแฃแกแขแแ แแ แกแแแฃแแ แ แแกแฃแ แกแแแแก แจแแคแแกแแแแกแแก), แ แแแแ แช แแแแแซแก, แ แแแแแกแแช แแ แแฅแแก แกแแแฃแจแแ แแแแแซแแแ, แ แแแแช แกแแแแแแแ แจแแแซแแแแ แแแแแแฌแแแแก แแแขแแแ แแแแก แแ แแแแแแแแ แ แแแแแฌแแแแแ แแแแแซแแแก แจแแ แแก.
แแแแแก แแแแแกแแฎแแแแ
แ แแแแ แช แแแแแฎแกแแแแแแ, แแแแแแฃแ แแแแก แแแแญแแแ 3 QoS แแแแกแแแแ แแ แ-แแ แแ:
- แแแ แแแขแแ แแแฃแแ - แแแแญแแแ, แ แแแแกแแช แแแแจแ แแแแแแฃแแ แแแแขแแแแแ แแกแแแแก แแแแแแแแฃแแแ แแแแฎแแแแ แแ แแแแแขแ แแแฎแกแแแ แแแแกแ แแ แแ แแชแแกแแ แแกแแแแก, แแ แแก แแแแจแแแแแแแแแ แฃแแแ แแแแฎแแแแแแก
- แแคแแแฅแแแแแ โ แแแแจแ แแแแแแฃแ แแ แ แแแแขแแแแแ แก แแฅแแก แแแแฎแแแแ แแ แแแแแขแ, แแแแฎแแแแแ < แแแแแขแ
- แกแแฃแแแแแกแ แซแแแแกแฎแแแแ - แ แแแแกแแช แญแฃแ แญแแแจแ แแ แช แแ แแ แแแแขแแแแแ แ แแ แแ แแก แจแแแฆแฃแแฃแแ แ แแกแฃแ แกแแ
แแแแแแ แแฃแแแ, แ แแแแกแแช แแแแแซแ แแแแแชแแแก แ แแกแฃแ แกแแแแก แแแแแแแแแแก (แแแกแแ, แแแฎแกแแแ แแแ), kubelet แแฌแงแแแก แแแแแแแก แ แแแแแ แแแแก แแ แแแแแแแแแแก แแแแแ แแขแฃแแ แแแแแ แแแแแก แแแฎแแแแแ, แ แแแแแแช แแแแแแแกแฌแแแแแก แแแแแก แแ แแแ แแขแแขแก แแ แแแก QoS แแแแกแก. แแแแแแแแแ, แแฃ แแกแแฃแแ แแแ RAM-แแ, แแแจแแ QoS แแแแกแแแแ แแแแแแแแแแ แ, แฅแฃแแแแ แแแแญแแแ แจแแแแแแ แแ แแแชแแแแก แแแฎแแแแแ:
- แแแ แแแขแแ แแแฃแแ: -998
- แฒกแแฃแแแแแกแ แซแแแ: 1000
- แแแแแแแฃแแ: min(max(2, 1000 - (1000 * memoryRequestBytes) / machineMemoryCapacityBytes), 999)
แแแแ. แแแแแ แแ แแแ แแขแแขแแ, แแฃแแแแแขแ แแแ แแแ แ แแแจแ แแแแแแกแแฎแแแแก แแแแแแก แกแแฃแแแแแกแ แซแแแแกแฎแแแแแ QoS แแแแกแแก แแแแแซแแแแ.
แแแแแงแแแแแก: แแฃ แแกแฃแ แ แจแแแแชแแ แแ แกแแกแฃแ แแแแ แแแแแก แแแแแซแแแแ แแแแแแแแแแก แแแแแแแแ แแแกแแ แ แแกแฃแ แกแแแแก แแแแแแแแแแก แจแแแแฎแแแแแจแ, แแแจแแ แแ แแแ แแขแแขแแแ แแ แแแ แฃแแแ แแแ แฃแแแ แแแกแแ แแแแฎแแแแแก/แแแแแขแแก แแแงแแแแแแแแช.
แแแแแแแชแแแก แแแแแแแก แฐแแ แแแแแขแแแฃแ แ แแแขแแกแแแแแ แแแแก แแแฅแแแแแแ (HPA)
แ แแแแกแแช แแแแชแแแแ แแแแแแแก แ แแแแแแแแแก แแแขแแแแขแฃแ แแ แแแแ แแ แแ แจแแแชแแ แแแ แ แแกแฃแ แกแแแแก แแแแแงแแแแแแก แแแฎแแแแแ (แกแแกแขแแแ - CPU/RAM แแ แแแแฎแแแ แแแแแ - rps), k8s แแ แแแฃแแ, แ แแแแ แแชแแ HPA (Horizontal Pod Autoscaler). แ แแแแแก แแแแแ แแแแ แจแแแแแแแ:
- แแแแแแ แแแแฃแแ แ แแกแฃแ แกแแก แแแแแแแแ แ แฌแแแแแฎแแแแ แแแแแกแแแฆแแ แแแ (currentMetricValue)
- แแแแกแแแฆแแ แฃแแแ แ แแกแฃแ แกแแกแแแแก แกแแกแฃแ แแแแ แแแแจแแแแแแแแแ (desiredMetricValue), แ แแแแแแแช แกแแกแขแแแแก แ แแกแฃแ แกแแแแกแแแแก แแแงแแแแแฃแแแ แแแแฎแแแแแก แแแแแงแแแแแแ
- แ แแแแแแแแแก แแแแแแแแ แ แ แแแแแแแแ แแแแแกแแแฆแแ แแแ (currentReplicas)
- แจแแแแแแ แคแแ แแฃแแ แแแแแแก แ แแแแแแแแแก แกแแกแฃแ แแแ แ แแแแแแแแแก (แกแแกแฃแ แแแแ แ แแแแแแ)
แกแแกแฃแ แแแแแ แแแแแแ = [แแแแแแแแ แ แ แแแแแแ * (แแแแแแแแ แแแแขแ แแแฃแแ แแแแจแแแแแแแ / แกแแกแฃแ แแแแ แแแขแ แฃแแ แแแแจแแแแแแแ)]
แแ แจแแแแฎแแแแแจแ แกแแแแแ แแแ แแ แแแฎแแแแ, แ แแชแ แแแแคแแชแแแแขแ (currentMetricValue / แกแแกแฃแ แแแแMetricValue) 1-แก แแแฃแแฎแแแแแแแ (แแ แจแแแแฎแแแแแจแ แแแกแแจแแแแ แจแแชแแแแ แฉแแแ แแแแแแ แจแแแแแซแแแ แแแแแงแแแแ; แแแแฃแแแกแฎแแแแแ แแ แแก 0.1).
แแแแแ แจแแแฎแแแแ, แแฃ แ แแแแ แแฃแจแแแแก hpa แแแแแแแชแแแก แขแแกแขแแก แแแแแแแชแแแก แแแแแแแแแก แแแแแงแแแแแแ (แแฆแฌแแ แแแแ แ แแแแ แช Deployment), แกแแแแช แแฃแชแแแแแแแแ แ แแแแแแแแแก แ แแแแแแแแแก แจแแชแแแ CPU แแแฎแแแ แแแแก แแแฎแแแแแ:
-
แแแแแชแฎแแแแก แแแแแคแแกแขแ
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-แแฅแกแแแ แขแแแ แแก แแแแขแแแแแ แแแก, แ แแแแแแแแแ แแแแแแฃแแแกแแแแก แแแแแแแแฃแแแ แแแแแฎแแแก CPU-แกแแแแก.
-
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
แแแแ. แฉแแแ แจแแแฅแแแแแ hpa, แ แแแแแแช แแแแแขแแ แแแแก แแแฃแฌแแแก แแแแแแแแแแก แแแแแแแชแแแก แขแแกแขแก แแ แแแแ แแแฃแแแ แแแก แแแแแแแก แ แแแแแแแแแก แแแแแแแชแแแกแแแ แแ แแแ, Cpu แแแแแแแขแแ แแก แกแแคแฃแซแแแแแ (แแแแแแแ, แ แแ แแแแ แฃแแแ แแแแฎแแแ แแก แแแก แแแแ แแแแฎแแแแแแ CPU-แแก 30%-แก), แแกแแแแแก แ แแแแแแแแแกแแแ แแ แแแ. แแแแแแแแแ 2-10.
แแฎแแ แแแแแแฎแแแแ hpa แแแฅแแแแแแแก แแแฅแแแแแแก, แแฃ แแ แ-แแ แ แแแ แแแ แแแขแแแ แแแแก แแแแแแ แแแแ:
# kubectl top pod NAME CPU(cores) MEMORY(bytes) app-test-78559f8f44-pgs58 101m 243Mi app-test-78559f8f44-cj4jz 4m 240Mi
แกแแแ แแ แฏแแแจแ แแแแฅแแก แจแแแแแแ:
- แกแแกแฃแ แแแแ แแแแจแแแแแแแ (desiredMetricValue) - hpa แแแ แแแแขแ แแแแก แแแฎแแแแแ แแแแฅแแก 30%
- แแแแแแแแ แ แแแแจแแแแแแแ (currentMetricValue) - แแแแแแแแแแแกแแแแก แแแแขแ แแแแ -แแแแแฏแแ แ แแแแแแก แ แแกแฃแ แกแแแแก แแแฎแแแ แแแแก แกแแจแฃแแแ แแแแจแแแแแแแแก %-แจแ, แ.แ. แแแ แแแแแแ แแแแแแแก แจแแแแแแก:
- แแฆแแแก pod แแแขแ แแแแก แแแกแแแฃแขแฃแ แแแแจแแแแแแแแแก แแแขแ แฃแแ แกแแ แแแ แแแแ, แ.แ. 101แ แแ 4แ
- แแแแแแก แกแแจแฃแแแ แแแกแแแฃแขแฃแ แแแแจแแแแแแแแก, แ.แ. (101 แ + 4 แ) / 2 = 53 แ
- แแฆแแแก แแแกแแแฃแขแฃแ แแแแจแแแแแแแแก แกแแกแฃแ แแแแ แ แแกแฃแ แกแแก แแแฎแแแ แแแแกแแแแก (แแแแกแแแแก แจแแฏแแแแแฃแแแ แงแแแแ แแแแขแแแแแ แแก แแแแฎแแแแ) 60 แ + 30 แ = 90 แ
- แแแแแแก CPU แแแฎแแแ แแแแก แกแแจแฃแแแ แแ แแชแแแขแก แแแแฎแแแแแก แแแแแแ แแแแแ แแแแแจแ, แ.แ. 53 แ / 90 แ * 100% = 59%
แแฎแแ แฉแแแ แแแแฅแแก แงแแแแแคแแ แ, แ แแช แแแญแแ แแแแ แแแแก แแแกแแแแแแแ, แแแญแแ แแแแ แแฃ แแ แ แแกแแแแแก แ แแแแแแแแแก แจแแชแแแ; แแแแกแแแแแก แฉแแแ แแแแแแแแแแแ แแแแคแแชแแแแขแ:
ratio = 59% / 30% = 1.96
แแแแ. แ แแแแแแแแแก แ แแแแแแแแ แฃแแแ แแแแแแ แแแก ~ 2-แฏแแ แแ แจแแแแแแแแก [2 * 1.96] = 4.
แแแกแแแแ: แ แแแแ แช แฎแแแแแ, แแแแกแแแแก, แ แแ แแ แแแฅแแแแแแแ แแแฃแจแแแก, แแฃแชแแแแแแแ แแแ แแแแ แงแแแแ แแแแขแแแแแ แแกแแแแก แแแแฎแแแแแก แแ แกแแแแแ แแแแแแ แแแแฃแ แแแแจแ.
แแแแแซแแแแก แฐแแ แแแแแขแแแฃแ แ แแแขแแกแแแแแ แแแแก แแแฅแแแแแแ (Cluster Autoscaler)
แแแขแแแ แแแแก แแฌแแแแก แแ แแก แกแแกแขแแแแแ แฃแแ แงแแคแแแ แแแแแฅแแแแแแแก แแแแแแขแ แแแแแแก แแแแแแ, แแแแคแแแฃแ แแ แแแฃแแ hpa แแ แแ แแก แกแแแแแ แแกแ. แแแแแแแแแ, hpa แแแแขแ แแแแ แแก แแแแแฏแแ แแก แแแ แแแแขแ แแแแก แแแฎแแแแแ, แแก แฌแงแแแขแก, แ แแ แ แแแแแแแแแก แ แแแแแแแแ แฃแแแ แแแแแแ แแแก 2-แฏแแ , แแแแ แแ แแแแแซแแแก แแ แแฅแแ แแแแแกแฃแคแแแ แ แแกแฃแ แกแแแ แแ แ แแแแแแแแแก แแแแแแแก แแแกแแจแแแแแ (แแแฃ แแแแแซแ แแแ แฃแแ แฃแแแแแงแแคแก แแแแฎแแแแแแ แ แแกแฃแ แกแแแ แแแแฎแแแแแก แแแแจแ) แแ แแก แแแแ แแแแแแแก แแแแแแแแแ แแแแแแแ แแแแแจแ.
แแ แจแแแแฎแแแแแจแ, แแฃ แแ แแแแแแแ แก แแฅแแก แจแแกแแแแแแกแ IaaS/PaaS (แแแแแแแแแ, GKE/GCE, AKS, EKS แแ แ.แจ.), แแแกแขแ แฃแแแแขแ, แ แแแแ แแชแแ แแแแแซแแก แแแขแแกแแแแแ แ. แแก แกแแจแฃแแแแแแก แแแซแแแแ แแแแงแแแแ แแแแกแขแแ แจแ แแแแแซแแแแก แแแฅแกแแแแแฃแ แ แแ แแแแแแแแฃแ แ แ แแแแแแแแ แแ แแแขแแแแขแฃแ แแ แแแแ แแแฃแแแ แแ แแแแแซแแแแก แแแแแแแแแแแ แ แแแแแแแแ (แฆแ แฃแแแแแแแ แแ แแแแแแแ แแก API-แแก แแแแแซแแฎแแแแ แแแแแซแแก แจแแแแแแแก/แฌแแจแแแก แแแแแแ), แ แแแแกแแช แแแแกแขแแ แกแ แแ แแแแแแจแ แ แแกแฃแ แกแแแแก แแแแแแแแแแ. แแแ แแแแแแแแแแ (แแแแแแแแจแแ).
แแแกแแแแ: แแแแกแแแแแก, แ แแ แจแแซแแแ แแแแแซแแแแก แแแขแแแแขแฃแ แ แแแกแจแขแแแแ แแแ, แแฃแชแแแแแแแแ แแแแฎแแแแแก แแแงแแแแแ แแแ แแแแขแแแแแ แแแจแ, แ แแแ k8-แแแแ แกแฌแแ แแ แจแแแคแแกแแ แแแขแแแ แแแ แแแแแซแแแแ แแ แจแแกแแแแแแกแแ แจแแแขแงแแแแแแ, แ แแ แแแแกแขแแ แจแ แแ แแ แแก แ แแกแฃแ แกแแแ แจแแแแแแ แแแแแก แแแกแแจแแแแแ.
แแแกแแแแ
แฃแแแ แแฆแแแแจแแแก, แ แแ แแแแขแแแแแ แแก แ แแกแฃแ แกแแก แแแแแขแแแแก แแแงแแแแแ แแ แแ แแก แแแแฎแแแแ แแแแแชแฎแแแแก แฌแแ แแแขแแแแ แแแกแแจแแแแแ, แแแแ แแ แแแแแช แฃแแแแแกแแ แแแแก แแแแแแแแ แจแแแแแแ แแแแแแแแแก แแแแ:
- แแ แแคแแแแก แฃแคแ แ แแฃแกแขแ แแฃแจแแแแแกแแแแก k8s แแแแแซแแแก แจแแ แแก แแแขแแแ แแแแก แแแแแแแแกแแแแก แแแแแกแแแ แแกแแ
- แจแแแชแแ แแแก โแแแแแก แแแแแกแแฎแแแแแกโ แแแแแแแแก แแแแแแแแ
- แแแแแแแชแแแก แแแแแแแก (HPA) แฐแแ แแแแแขแแแฃแ แ แแแขแแแแขแฃแ แ แกแแแแแ แแแแก แแฃแจแแแแแกแแแแก
- แฆแ แฃแแแแแแแ แแ แแแแแแแ แแแแกแแแแก แแแแแซแแแแก แฐแแ แแแแแขแแแฃแ แ แแแขแแกแแแแแแแแกแแแแก (Cluster Autoscaling).
แแกแแแ แฌแแแแแแฎแแ แกแฎแแ แกแขแแขแแแแ แฉแแแแก แแแแแแ:
Tekton Pipeline - Kubernetes-แแก แแจแแแแแฃแ แ แแแแกแแแแแแแ แแแแแแแฃแ แ แแแแฃแแแแแก แแแแแ Nginx-แแกแแแแก แ แแก แแแฐแงแแ แแแแ แแชแแ ClickHouse-แแแ แแแขแแ แแแแชแแแก แแแ แแจแ ClickHouse-แจแ แแแขแแ แแแแชแแแก แแฅแแแ? แแแแขแแฅแกแขแฃแ แ แแแแแขแแก แแแแแแ Golang-แจแ แกแแแ แแแ แขแแแ แฎแ แแแ แแแแแ แแก แกแฃแ แแแแแแก แจแแกแแแชแแ แแแแแ แแแแ แ แแแแแแแแแ แฐแแขแแ แแแแแฃแแ แแแ แแ แแแฅแขแแแแก แกแแ แแแแ แแ แแกแแ
แฌแงแแ แ: www.habr.com