ื ื™ื™ึทืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืคืึธืจืฉื˜ืขืœื•ื ื’ ืขืฆื•ืช

ื ื™ื™ึทืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืคืึธืจืฉื˜ืขืœื•ื ื’ ืขืฆื•ืช

ื ื’ื•ื˜ืŸ ื™ืขื“ืขืจ! ืžื™ื™ึทืŸ ื ืึธืžืขืŸ ืื™ื– ืึธืœืขื’ ืกื™ื“ืึธืจืขื ืงืึธ, ืื™ืš ืึทืจื‘ืขื˜ ืื™ืŸ DomClick ื•ื•ื™ ื“ืขืจ ื”ื•ื™ืคึผื˜ ืคื•ืŸ ื“ื™ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืžืึทื ืฉืึทืคึฟื˜. ืžื™ืจ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ื ื™ืฆืŸ Kubik ืื™ืŸ ืคึผืจืึธื“ื•ืงืฆื™ืข ืคึฟืึทืจ ืžืขืจ ื•ื•ื™ ื“ืจื™ื™ ื™ืึธืจ, ืื•ืŸ ืื™ืŸ ื“ืขื ืฆื™ื™ึทื˜ ืžื™ืจ ื”ืึธื‘ืŸ ื™ืงืกืคึผื™ืจื™ืึทื ืกื˜ ืคื™ืœืข ืคืึทืจืฉื™ื“ืขื ืข ื˜ืฉื™ืงืึทื•ื•ืข ืžืึธื•ืžืึทื ืฅ ืžื™ื˜ ืื™ื. ื”ื™ื™ึทื ื˜ ืื™ืš ื•ื•ืขื˜ ื–ืึธื’ืŸ ืื™ืจ ื•ื•ื™, ืžื™ื˜ ื“ื™ ืจืขื›ื˜ ืฆื•ื’ืึทื ื’, ืื™ืจ ืงืขื ืขืŸ ืงื•ื•ืขื˜ืฉืŸ ืืคื™ืœื• ืžืขืจ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ื•ื•ืึทื ื™ืœ ืงื•ื‘ืขืจื ืขื˜ืขืก ืคึฟืึทืจ ื“ื™ื™ืŸ ืงื ื•ื™ืœ. ื’ืจื™ื™ื˜ ืฉื˜ืขื ื“ื™ืง ื’ื™ื™ืŸ!

ืื™ืจ ืึทืœืข ื•ื•ื™ืกืŸ ื–ื™ื™ืขืจ ื’ื•ื˜ ืึทื– Kubernetes ืื™ื– ืึท ืกืงืึทืœืึทื‘ืœืข ืขืคึฟืขื ืขืŸ ืžืงื•ืจ ืกื™ืกื˜ืขื ืคึฟืึทืจ ืงืึทื ื˜ื™ื™ื ืขืจ ืึธืจืงืขืกื˜ืจืึทื˜ื™ืึธืŸ; ื ื•, ืึธื“ืขืจ 5 ื‘ื™ื ืึทืจื™ืขืก ื•ื•ืึธืก ืึทืจื‘ืขื˜ ืžืึทื’ื™ืฉ ื“ื•ืจืš ืึธื ืคื™ืจื•ื ื’ ื“ื™ ืœืขื‘ืŸ ืฆื™ืงืœ ืคื•ืŸ ื“ื™ื™ืŸ ืžื™ืงืจืึธืกืขืจื•ื•ื™ืกืขืก ืื™ืŸ ืึท ืกืขืจื•ื•ืขืจ ืกื•ื•ื™ื•ื•ืข. ืื™ืŸ ืึทื“ื™ืฉืึทืŸ, ืขืก ืื™ื– ืึท ืคืขืจืœื™ ืคืœืขืงืกืึทื‘ืึทืœ ื’ืขืฆื™ื™ึทื’ ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืคืืจื–ืืžืœื˜ ื•ื•ื™ ืœืขื’ืึธ ืคึฟืึทืจ ืžืึทืงืกื™ืžื•ื ืงื•ืกื˜ืึธืžื™ื–ืึทื˜ื™ืึธืŸ ืคึฟืึทืจ ืคืึทืจืฉื™ื“ืขื ืข ื˜ืึทืกืงืก.

ืื•ืŸ ืึทืœืฅ ืžื™ื™ื ื˜ ืฆื• ื–ื™ื™ืŸ ืคื™ื™ึทืŸ: ื•ื•ืึทืจืคืŸ ืกืขืจื•ื•ืขืจืก ืื™ืŸ ื“ื™ ืงื ื•ื™ืœ ื•ื•ื™ ื‘ืจืขื ื”ืึธืœืฅ ืื™ืŸ ืึท ืคื™ื™ืขืจื‘ืึธืงืก, ืื•ืŸ ืื™ืจ ื•ื•ืขื˜ ื ื™ืฉื˜ ื•ื•ื™ืกืŸ ืงื™ื™ืŸ ื˜ืจื•ื™ืขืจ. ืื‘ืขืจ ืื•ื™ื‘ ืื™ืจ ื–ืขื ื˜ ืคึฟืึทืจ ื“ื™ ืกื•ื•ื™ื•ื•ืข, ืื™ืจ ื•ื•ืขื˜ ื˜ืจืึทื›ื˜ืŸ: "ื•ื•ื™ ืงืขื ืขืŸ ืื™ืš ื”ืึทืœื˜ืŸ ื“ื™ ืคื™ื™ึทืขืจ ื‘ืจืขื ืขืŸ ืื•ืŸ ืฉืขืจืŸ ื“ื™ ื•ื•ืึทืœื“?" ืื™ืŸ ืื ื“ืขืจืข ื•ื•ืขืจื˜ืขืจ, ื•ื•ื™ ืฆื• ื’ืขืคึฟื™ื ืขืŸ ื•ื•ืขื’ืŸ ืฆื• ืคึฟืึทืจื‘ืขืกืขืจืŸ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืื•ืŸ ืจืขื“ื•ืฆื™ืจืŸ ืงืึธืก.

1. ืžืึธื ื™ื˜ืึธืจ ืžืึทื ืฉืึทืคึฟื˜ ืื•ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืจืขืกื•ืจืกืŸ

ื ื™ื™ึทืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืคืึธืจืฉื˜ืขืœื•ื ื’ ืขืฆื•ืช

ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืžืขืจืกื˜ ืคึผืจืึธืกื˜, ืึธื‘ืขืจ ืขืคืขืงื˜ื™ื•ื• ืžืขื˜ื”ืึธื“ืก ืื™ื– ื“ื™ ื”ืงื“ืžื” ืคื•ืŸ ืจื™ืงื•ื•ืขืก / ืœื™ืžืึทืฅ. ื˜ื™ื™ืœืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื“ื•ืจืš ื ืึทืžืขืกืคึผืึทืกืขืก ืื•ืŸ ื ืึทืžืขืกืคึผืึทืกืขืก ื“ื•ืจืš ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ื˜ื™ืžื–. ืื™ื™ื“ืขืจ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜, ืฉื˜ืขืœืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื•ื•ืึทืœื•ืขืก ืคึฟืึทืจ ื“ื™ ืงืึทื ืกืึทืžืฉืึทืŸ ืคื•ืŸ ืคึผืจืึทืกืขืกืขืจ ืฆื™ื™ื˜, ื–ื›ึผืจื•ืŸ ืื•ืŸ ื™ืคืขืžืขืจืึทืœ ืกื˜ืึธืจื™ื“ื–ืฉ.

resources:
   requests:
     memory: 2Gi
     cpu: 250m
   limits:
     memory: 4Gi
     cpu: 500m

ื“ื•ืจืš ื“ืขืจืคืึทืจื•ื ื’, ืžื™ืจ ื’ืขืงื•ืžืขืŸ ืฆื• ื“ื™ ืžืกืงื ื: ืื™ืจ ื–ืึธืœ ื ื™ืฉื˜ ื™ื ืคืœื™ื™ื˜ ืจื™ืงื•ื•ืขืก ืคื•ืŸ ื“ื™ ืœื™ืžืึทืฅ ืžืขืจ ื•ื•ื™ ืฆื•ื•ื™ื™ ืžืึธืœ. ื“ืขืจ ื‘ืึทื ื“ ืคื•ืŸ ื“ืขื ืงื ื•ื™ืœ ืื™ื– ืงืึทืœืงื™ืึทืœื™ื™ื˜ื™ื“ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืจื™ืงื•ื•ืขืก, ืื•ืŸ ืื•ื™ื‘ ืื™ืจ ื’ืขื‘ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืึท ื—ื™ืœื•ืง ืื™ืŸ ืจืขืกื•ืจืกืŸ, ืœืžืฉืœ, 5-10 ืžืืœ, ื™ืžืึทื“ื–ืฉืึทืŸ ื•ื•ืึธืก ื•ื•ืขื˜ ืคึผืึทืกื™ืจืŸ ืžื™ื˜ ื“ื™ื™ืŸ ื ืึธื“ืข ื•ื•ืขืŸ ืขืก ืื™ื– ืึธื ื’ืขืคื™ืœื˜ ืžื™ื˜ ืคึผืึธื“ืก ืื•ืŸ ืคึผืœื•ืฆืœื™ื ื’ ื‘ืึทืงื•ืžืขืŸ ืžืึทืกืข. ื’ืึธืจื ื™ืฉื˜ ื’ื•ื˜. ืื™ืŸ ืึท ืžื™ื ื™ืžื•ื, ื’ืขืจื’ืœ ืื•ืŸ ืื™ืŸ ืึท ืžืึทืงืกื™ืžื•ื, ืื™ืจ ื•ื•ืขื˜ ื–ืึธื’ืŸ ื–ื™ื™ึท ื’ืขื–ื•ื ื˜ ืฆื• ื“ืขืจ ืึทืจื‘ืขื˜ืขืจ ืื•ืŸ ื‘ืึทืงื•ืžืขืŸ ืึท ืกื™ื™ืงืœื™ืง ืžืึทืกืข ืื•ื™ืฃ ื“ื™ ืจื•ืขืŸ ื ืึธื•ื“ื– ื ืึธืš ื“ื™ ืคึผืึธื“ืก ืึธื ื”ื™ื™ื‘ืŸ ืžืึธื•ื•ื™ื ื’.

ืื™ืŸ ื“ืขืจืฆื•, ืžื™ื˜ ื“ื™ ื”ื™ืœืฃ limitranges ืื™ืŸ ื“ื™ ืึธื ื”ื™ื™ื‘, ืื™ืจ ืงืขื ืขืŸ ืฉื˜ืขืœืŸ ืžื™ื˜ืœ ื•ื•ืึทืœื•ืขืก ืคึฟืึทืจ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ - ืžื™ื ื™ืžื•ื, ืžืึทืงืกื™ืžื•ื ืื•ืŸ ืคืขืœื™ืงื™ื™ึทื˜:

โžœ  ~ kubectl describe limitranges --namespace ops
Name:       limit-range
Namespace:  ops
Type        Resource           Min   Max   Default Request  Default Limit  Max Limit/Request Ratio
----        --------           ---   ---   ---------------  -------------  -----------------------
Container   cpu                50m   10    100m             100m           2
Container   ephemeral-storage  12Mi  8Gi   128Mi            4Gi            -
Container   memory             64Mi  40Gi  128Mi            128Mi          2

ื“ื• ื–ืืœืกื˜ ื ื™ืฉื˜ ืคืึทืจื’ืขืกืŸ ืฆื• ื‘ืึทื’ืจืขื ืขืฆืŸ ื ืึทืžืขืกืคึผืึทืกืข ืจืขืกื•ืจืกืŸ ืึทื–ื•ื™ ืึทื– ืื™ื™ืŸ ืžืึทื ืฉืึทืคึฟื˜ ืงืขืŸ ื ื™ืฉื˜ ื ืขืžืขืŸ ืื™ื‘ืขืจ ืึทืœืข ื“ื™ ืจืขืกื•ืจืกืŸ ืคื•ืŸ ื“ืขื ืงื ื•ื™ืœ:

โžœ  ~ kubectl describe resourcequotas --namespace ops
Name:                   resource-quota
Namespace:              ops
Resource                Used          Hard
--------                ----          ----
limits.cpu              77250m        80
limits.memory           124814367488  150Gi
pods                    31            45
requests.cpu            53850m        80
requests.memory         75613234944   150Gi
services                26            50
services.loadbalancers  0             0
services.nodeports      0             0

ื•ื•ื™ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื–ืขืŸ ืคื•ืŸ ื“ื™ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ resourcequotas, ืื•ื™ื‘ ื“ื™ ืึธืคึผืก ืžืึทื ืฉืึทืคึฟื˜ ื•ื•ื™ืœ ืฆื• ืฆืขื•ื•ื™ืงืœืขืŸ ืคึผืึธื“ืก ื•ื•ืึธืก ื•ื•ืขื˜ ืคืึทืจื ื•ืฆืŸ ื ืึธืš 10 ืงืคึผื•, ื“ื™ ืกืงืขื“ื–ืฉื•ืœืขืจ ื•ื•ืขื˜ ื ื™ืฉื˜ ืœืึธื–ืŸ ื“ืขื ืื•ืŸ ื•ื•ืึทืจืคืŸ ืึท ื˜ืขื•ืช:

Error creating: pods "nginx-proxy-9967d8d78-nh4fs" is forbidden: exceeded quota: resource-quota, requested: limits.cpu=5,requests.cpu=5, used: limits.cpu=77250m,requests.cpu=53850m, limited: limits.cpu=10,requests.cpu=10

ืฆื• ืกืึธืœื•ื•ืข ืึทื–ืึท ืึท ืคึผืจืึธื‘ืœืขื, ืื™ืจ ืงืขื ืขืŸ ืฉืจื™ื™ึทื‘ืŸ ืึท ื’ืขืฆื™ื™ึทื’, ืœืžืฉืœ, ื•ื•ื™ this, ืงืขื ืขืŸ ืฆื• ืงืจืึธื ืื•ืŸ ื™ื‘ืขืจื’ืขื‘ืŸ ื“ื™ ืฉื˜ืึทื˜ ืคื•ืŸ ื‘ืึทืคึฟืขืœืŸ ืจืขืกื•ืจืกืŸ.

2. ืงืœื™ื™ึทื‘ืŸ ื“ื™ ืึธืคึผื˜ื™ืžืึทืœ ื˜ืขืงืข ืกื˜ืึธืจื™ื“ื–ืฉ

ื ื™ื™ึทืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืคืึธืจืฉื˜ืขืœื•ื ื’ ืขืฆื•ืช

ื“ืึธ ืื™ืš ื•ื•ืึธืœื˜ ื•ื•ื™ ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ื“ื™ ื˜ืขืžืข ืคื•ืŸ โ€‹โ€‹ืคึผืขืจืกื™ืกื˜ืขื ื˜ ื•ื•ืึทืœื™ื•ืžื– ืื•ืŸ ื“ื™ ื“ื™ืกืง ืกืึทื‘ืกื™ืกื˜ืึทื ืคื•ืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืึทืจื‘ืขื˜ ื ืึธื•ื“ื–. ืื™ืš ื”ืึธืคึฟืŸ ืึทื– ืงื™ื™ืŸ ืื™ื™ื ืขืจ ื ื™ืฆื˜ ื“ื™ "ืงื•ื‘ืข" ืื•ื™ืฃ ืึท ื”ื“ื“ ืื™ืŸ ืคึผืจืึธื“ื•ืงืฆื™ืข, ืึธื‘ืขืจ ืžืืœ ืึท ืจืขื’ื•ืœืขืจ ืกืกื“ ืื™ื– ื ื™ื˜ ืžืขืจ ื’ืขื ื•ื’. ืžื™ืจ ื’ืขืคึผืœืึธื ื˜ืขืจื˜ ืึท ืคึผืจืึธื‘ืœืขื ื•ื•ื• ื“ื™ ืœืึธื’ืก ื–ืขื ืขืŸ ืžืึธืจื“ ื“ืขื ื“ื™ืกืง ืจืขื›ื˜ ืฆื• I / O ืึทืคึผืขืจื™ื™ืฉืึทื ื–, ืื•ืŸ ืขืก ื–ืขื ืขืŸ ื ื™ืฉื˜ ืคื™ืœืข ืกืึทืœื•ืฉืึทื ื–:

  • ื ื™ืฆืŸ ื”ื•ื™ืš-ืคืึธืจืฉื˜ืขืœื•ื ื’ SSDs ืึธื“ืขืจ ื‘ืึทืฉื˜ื™ืžืขืŸ ืฆื• NVMe (ืื•ื™ื‘ ืื™ืจ ืคื™ืจืŸ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื™ื™ึทื–ื ื•ื•ืึทืจื’).

  • ืจืขื“ื•ืฆื™ืจืŸ ืœืึธื’ื™ื ื’ ืžื“ืจื’ื”.

  • ื˜ืึธืŸ "ืงืœื•ื’" ื‘ืึทืœืึทื ืกื™ื ื’ ืคื•ืŸ ืคึผืึธื“ืก ื•ื•ืึธืก ืฉืขื ื“ื•ื ื’ ื“ื™ ื“ื™ืกืง (podAntiAffinity).

ื“ืขืจ ืขืงืจืึทืŸ ืื•ื™ื‘ืŸ ื•ื•ื™ื™ื–ื˜ ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ืื•ื ื˜ืขืจ nginx-ingress-controller ืฆื• ื“ื™ ื“ื™ืกืง ื•ื•ืขืŸ ืึทืงืกืขืก_ืœืึธื’ืก ืœืึธื’ื™ื ื’ ืื™ื– ืขื ื™ื™ื‘ืึทืœื“ (~12 ื˜ื•ื™ื–ื ื˜ ืœืึธื’ืก / ืกืขืง). ื“ืขื ืฆื•ืฉื˜ืึทื ื“, ืคื•ืŸ ืงื•ืจืก, ืงืขื ืขืŸ ืคื™ืจืŸ ืฆื• ื“ืขืจ ื“ืขืจื ื™ื“ืขืจื™ืงื•ื ื’ ืคื•ืŸ ืึทืœืข ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื•ื™ืฃ ื“ืขื ื ืึธื“ืข.

ื•ื•ื™ ืคึฟืึทืจ ืคึผื•ื•, ื•ื•ื™ื™, ืื™ืš ื”ืึธื‘ืŸ ื ื™ืฉื˜ ื’ืขืคืจื•ื•ื•ื˜ ืึทืœืฅ ืžื™ื ื™ื ืคึผืขืจืกื™ืกื˜ืขื ื˜ ื•ื•ืึทืœื™ื•ืžื–. ื ื™ืฆืŸ ื“ื™ ื‘ืขืกื˜ืขืจ ืึธืคึผืฆื™ืข ื•ื•ืึธืก ืกื•ืฅ ืื™ืจ. ื”ื™ืกื˜ืึธืจื™ืฉ, ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืื™ืŸ ืื•ื ื“ื–ืขืจ ืœืึทื ื“ ืึทื– ืึท ืงืœื™ื™ืŸ ื˜ื™ื™ืœ ืคื•ืŸ ืกืขืจื•ื•ื™ืกืขืก ื“ืึทืจืคืŸ ืจื•ื•ืงืก ื•ื•ืึทืœื™ื•ืžื–, ืื•ืŸ ืึท ืœืึทื ื’ ืฆื™ื™ึทื˜ ืฆื•ืจื™ืง ื–ื™ื™ ืื ื’ืขื”ื•ื™ื‘ืŸ ืฆื• ื ื•ืฆืŸ NFS ืกื˜ืึธืจื™ื“ื–ืฉ ืคึฟืึทืจ ื“ืขื ืึทืจื‘ืขื˜. ื‘ื™ืœื™ืง ืื•ืŸ... ื’ืขื ื•ื’. ืคึฟืึทืจืฉื˜ืฒื˜ ื–ื™ืš, ืึทื– ืื™ืš ืื•ืŸ ืขืจ ื”ืึธื‘ืŸ ื’ืขื’ืขืกืŸ ื“ืจืขืง โ€• ื‘ืจื•ืšึพื”ืฉื, ืึธื‘ืขืจ ืžื™ืจ ื”ืึธื‘ืŸ ื–ื™ืš ืืฑืกื’ืขืœืขืจื ื˜ ื“ืึธืก ืืฑืกืฆื•ื˜ืึธืŸ, ืื•ืŸ ืžืฒึทืŸ ืงืึธืคึผ ื˜ื•ื˜ ืฉืฑืŸ ื ื™ื˜ ืฐืฒ. ืื•ืŸ ืื•ื™ื‘ ืžืขื’ืœืขืš, ืžืึทืš ืฆื• S3 ื›ื™ื™ืคืขืฅ ืกื˜ืึธืจื™ื“ื–ืฉ.

3. ืงืœื™ื™ึทื‘ืŸ ืึธืคึผื˜ื™ืžื™ื–ืขื“ ื‘ื™ืœื“ืขืจ

ื ื™ื™ึทืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืคืึธืจืฉื˜ืขืœื•ื ื’ ืขืฆื•ืช

ืขืก ืื™ื– ื‘ืขืกื˜ืขืจ ืฆื• ื ื•ืฆืŸ ืงืึทื ื˜ื™ื™ื ืขืจ-ืึธืคึผื˜ื™ืžื™ื–ืขื“ ื‘ื™ืœื“ืขืจ ืึทื–ื•ื™ ืึทื– Kubernetes ืงืขื ืขืŸ ื‘ืจืขื ื’ืขืŸ ื–ื™ื™ ืคืึทืกื˜ืขืจ ืื•ืŸ ื•ื™ืกืคื™ืจืŸ ื–ื™ื™ ืžืขืจ ื™ืคื™ืฉืึทื ื˜ืœื™. 

ืึธืคึผื˜ื™ืžื™ื–ืขื“ ืžื™ื˜ืœ ืึทื– ื“ื™ ื‘ื™ืœื“ืขืจ:

  • ืึทื ื˜ื”ืึทืœื˜ืŸ ื‘ืœื•ื™ื– ืื™ื™ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืึธื“ืขืจ ื“ื•ืจื›ืคื™ืจืŸ ื‘ืœื•ื™ื– ืื™ื™ืŸ ืคึฟื•ื ืงืฆื™ืข;

  • ืงืœื™ื™ืŸ ืื™ืŸ ื’ืจื™ื™ืก, ื•ื•ื™ื™ึทืœ ื’ืจื•ื™ืก ื‘ื™ืœื“ืขืจ ื–ืขื ืขืŸ ื˜ืจืึทื ืกืžื™ื˜ื˜ืขื“ ืขืจื’ืขืจ ืื™ื‘ืขืจ ื“ื™ ื ืขืฅ;

  • ื”ืึธื‘ืŸ ื’ืขื–ื•ื ื˜ ืื•ืŸ ื’ืจื™ื™ื˜ืงื™ื™ึทื˜ ืขื ื“ืคึผืึธื™ื ืฅ ื•ื•ืึธืก ืœืึธื–ืŸ Kubernetes ืฆื• ื ืขืžืขืŸ ืงืึทืžืฃ ืื™ืŸ ื“ื™ ืคืึทืœ ืคื•ืŸ ื“ืึทื•ื ื˜ื™ื™ื;

  • ื ื™ืฆืŸ ืงืึทื ื˜ื™ื™ื ืขืจ-ืคืจื™ื™ึทื ื“ืœืขืš ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขืžืขืŸ (ื•ื•ื™ ืึทืœืคึผื™ื™ืŸ ืึธื“ืขืจ ืงืึธืจืขืึธืก), ื•ื•ืึธืก ื–ืขื ืขืŸ ืžืขืจ ืงืขื’ื ืฉื˜ืขืœื™ืง ืฆื• ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืขืจืจืึธืจืก;

  • ื ื™ืฆืŸ ืžื•ืœื˜ื™-ื‘ื™ื ืข ื‘ื•ื™ืขืŸ ืึทื–ื•ื™ ืึทื– ืื™ืจ ืงืขื ืขืŸ ื‘ืœื•ื™ื– ืฆืขื•ื•ื™ืงืœืขืŸ ืงืึทืžืคึผื™ื™ืœื“ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื•ืŸ ื ื™ืฉื˜ ื“ื™ ืึทืงืึทืžืคึผืึทื ื™ื™ื ื’ ืงื•ื•ืืœืŸ.

ืขืก ื–ืขื ืขืŸ ืคื™ืœืข ืžื›ืฉื™ืจื™ื ืื•ืŸ ื‘ืึทื“ื™ื ื•ื ื’ืก ื•ื•ืึธืก ืœืึธื–ืŸ ืื™ืจ ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืื•ืŸ ืึทืคึผื˜ืึทืžื™ื™ื– ื‘ื™ืœื“ืขืจ ืื•ื™ืฃ ื“ื™ ืคืœื™ืขืŸ. ืขืก ืื™ื– ื•ื•ื™ื›ื˜ื™ืง ืฆื• ืฉื˜ืขื ื“ื™ืง ื”ืึทืœื˜ืŸ ื–ื™ื™ ืึทืจื•ื™ืฃ-ืฆื•-ื˜ืึธื’ ืื•ืŸ ื˜ืขืกื˜ืขื“ ืคึฟืึทืจ ื–ื™ื›ืขืจืงื™ื™ึทื˜. ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜ ืื™ืจ ื‘ืึทืงื•ืžืขืŸ:

  1. ืจื™ื“ื•ืกื˜ ื ืขืฅ ืžืึทืกืข ืื•ื™ืฃ ื“ื™ ื’ืื ืฆืข ืงื ื•ื™ืœ.

  2. ืจื™ื“ื•ืกื™ื ื’ ืงืึทื ื˜ื™ื™ื ืขืจ ืกื˜ืึทืจื˜ืึทืคึผ ืฆื™ื™ื˜.

  3. ืกืžืึธืœืขืจ ื’ืจื™ื™ืก ืคื•ืŸ ื“ื™ื™ืŸ ื’ืึทื ืฅ ื“ืึธืงืงืขืจ ืจืขื’ื™ืกื˜ืจื™.

4. ื ื™ืฆืŸ ื“ื ืก ืงืึทืฉ

ื ื™ื™ึทืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืคืึธืจืฉื˜ืขืœื•ื ื’ ืขืฆื•ืช

ืื•ื™ื‘ ืžื™ืจ ืจืขื“ืŸ ื•ื•ืขื’ืŸ ื”ื•ื™ืš ืœืึธื•ื“ื–, ื“ืึธืก ืœืขื‘ืŸ ืื™ื– ื’ืึทื ืฅ ื’ืขืžื™ื™ืŸ ืึธืŸ ื˜ื•ื ื™ื ื’ ื“ื™ ื“ื ืก ืกื™ืกื˜ืขื ืคื•ืŸ ื“ื™ ืงื ื•ื™ืœ. ืึทืžืึธืœ, ื“ื™ ืงื•ื‘ืขืจื ืขื˜ืขืก ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ื’ืขืฉื˜ื™ืฆื˜ ื–ื™ื™ืขืจ kube-dns ืœื™ื™ื–ื•ื ื’. ืขืก ืื™ื– ืื•ื™ืš ื™ืžืคึผืœืึทืžืขื ืึทื“ ื“ืึธ, ืึธื‘ืขืจ ื“ื™ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ืื™ื– ื ื™ืฉื˜ ื“ืขืจ ื”ื•ื™ืคึผื˜ ื˜ื•ื ื“ ืื•ืŸ ื”ืื˜ ื ื™ืฉื˜ ืคึผืจืึธื“ื•ืฆื™ืจืŸ ื“ื™ ืคืืจืœืื ื’ื˜ ืคืึธืจืฉื˜ืขืœื•ื ื’, ื›ืึธื˜ืฉ ืขืก ื’ืขื•ื•ืขืŸ ืึท ืคึผืฉื•ื˜ ืึทืจื‘ืขื˜. ื“ืขืจื ืึธืš, ืงืึธืจืขื“ื ืก ืืจื•ื™ืก, ื•ื•ืึธืก ืžื™ืจ ืกื•ื•ื™ื˜ืฉื˜ ืฆื• ืื•ืŸ ื”ืึธื‘ืŸ ืงื™ื™ืŸ ื˜ืจื•ื™ืขืจ; ืขืก ืฉืคึผืขื˜ืขืจ ื’ืขื•ื•ืืจืŸ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ื“ื ืก ื“ื™ื ืกื˜ ืื™ืŸ K8s. ืื™ืŸ ืขื˜ืœืขื›ืข ืคื•ื ื˜, ืžื™ืจ ื’ืขื•ื•ืืงืกืŸ ืฆื• 40 ื˜ื•ื™ื–ื ื˜ ืจืคึผืก ืฆื• ื“ื™ ื“ื ืก ืกื™ืกื˜ืขื, ืื•ืŸ ื“ื™ ืœื™ื™ื–ื•ื ื’ ืื™ื– ืื•ื™ืš ื ื™ื˜ ื’ืขื ื•ื’ื™ืง. ืึธื‘ืขืจ, ืžื™ื˜ ื’ืœื™ืง, Nodelocaldns ื’ืขืงื•ืžืขืŸ ืื•ื™ืก, ืึทืงืึท ื ืึธื“ืข ื”ื™ื’ืข ืงืึทืฉ, ืึทืงืึท NodeLocal DNSCache.

ืคืืจื•ื•ืืก ื˜ืึธืŸ ืžื™ืจ ื ื•ืฆืŸ ื“ืขื? ืขืก ืื™ื– ืึท ื–ืฉื•ืง ืื™ืŸ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ืึทื–, ื•ื•ืขืŸ ืงื™ื™ืคืœ ืจื•ืคื˜ ื“ื•ืจืš ืงืึทื ื˜ืจืึทืงืง NAT ืื™ื‘ืขืจ UDP, ืคื™ืจืŸ ืฆื• ืึท ืจืึทืกืข ืฆื•ืฉื˜ืึทื ื“ ืคึฟืึทืจ ืื™ื™ื ืกืŸ ืื™ืŸ ืงืึทื ื˜ืจืึทืงืง ื˜ื™ืฉืŸ, ืื•ืŸ ื˜ื™ื™ืœ ืคื•ืŸ ื“ื™ ืคืึทืจืงืขืจ ื“ื•ืจืš NAT ืื™ื– ืคืึทืจืคืึทืœืŸ (ื™ืขื“ืขืจ ื™ืึทื–ื“ืข ื“ื•ืจืš ื“ื™ ืกืขืจื•ื•ื™ืก ืื™ื– NAT). Nodelocaldns ืกืึทืœื•ื•ื– ื“ืขื ืคึผืจืึธื‘ืœืขื ื“ื•ืจืš ื‘ืึทืงื•ืžืขืŸ ื‘ืึทืคืจื™ื™ึทืขืŸ ืคื•ืŸ NAT ืื•ืŸ ืึทืคึผื’ืจื™ื™ื“ื™ื ื’ ื“ื™ ืงืฉืจ ืฆื• TCP ืฆื• ืึทืคึผืกื˜ืจื™ื ื“ื ืก, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืœืึธื•ืงืึทืœื™ ืงืึทื˜ืฉื™ื ื’ ืึทืคึผืกื˜ืจื™ื ื“ื ืก ืคึฟืจืื’ืŸ (ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืึท ืงื•ืจืฅ 5-ืจื’ืข ื ืขื’ืึทื˜ื™ื•ื• ืงืึทืฉ).

5. ื•ื•ืึธื’ ืคึผืึธื“ืก ื›ืึธืจื™ื–ืึทื ื˜ืึทืœื™ ืื•ืŸ ื•ื•ืขืจื˜ื™ืงืœื™ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ

ื ื™ื™ึทืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืคืึธืจืฉื˜ืขืœื•ื ื’ ืขืฆื•ืช

ืงืขื ืขืŸ ืื™ืจ ื–ืึธื’ืŸ ืžื™ื˜ ื‘ื˜ื—ื•ืŸ ืึทื– ืึทืœืข ื“ื™ื™ืŸ ืžื™ืงืจืึธ ืกืขืจื•ื•ื™ืกืขืก ื–ืขื ืขืŸ ื’ืจื™ื™ื˜ ืคึฟืึทืจ ืึท ืฆื•ื•ื™ื™ ืฆื• ื“ืจื™ื™ึท-ืคืึธื•ืœื“ ืคืึทืจื’ืจืขืกืขืจืŸ ืื™ืŸ ืžืึทืกืข? ื•ื•ื™ ืฆื• ืจืขื›ื˜ ืึทืœืึทืงื™ื™ื˜ ืจืขืกื•ืจืกืŸ ืฆื• ื“ื™ื™ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–? ื‘ืขื›ืขืกืงืขื ืึท ืคึผืึธืจ ืคื•ืŸ ืคึผืึธื“ืก ืคืœื™ืกื ื“ื™ืง ื•ื•ื™ื™ึทื˜ืขืจ ืคื•ืŸ ื“ื™ ื•ื•ืขืจืงืœืึธื•ื“ ืงืขืŸ ื–ื™ื™ืŸ ื™ื‘ืขืจื™ืง, ืึธื‘ืขืจ ื‘ืขื›ืขืกืงืขื ื–ื™ื™ ืฆื•ืจื™ืง ืฆื• ืฆื•ืจื™ืง ืœื•ื™ืคื˜ ื“ื™ ืจื™ื–ื™ืงื™ืจืŸ ืคื•ืŸ ื“ืึทื•ื ื˜ื™ื™ื ืคื•ืŸ ืึท ืคึผืœื•ืฆืขืžื“ื™ืง ืคืึทืจื’ืจืขืกืขืจืŸ ืื™ืŸ ืคืึทืจืงืขืจ ืฆื• ื“ื™ ืกืขืจื•ื•ื™ืก. ืกืขืจื•ื•ื™ืกืขืก ืึทื–ืึท ื•ื•ื™ ื”ืึธืจื™ื–ืึธื ื˜ืึทืœ ืคึผืึธื“ ืึทื•ื˜ืึธืกืงืึทืœืขืจ ะธ ื•ื•ืขืจื˜ื™ืงืึทืœ ืคึผืึธื“ ืึทื•ื˜ืึธืกืงืึทืœืขืจ.

VPA ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ื›ืึทืคึผืŸ ืจื™ืงื•ื•ืขืก / ืœื™ืžืึทืฅ ืคื•ืŸ ื“ื™ื™ืŸ ืงืึทื ื˜ื™ื™ื ืขืจื– ืื™ืŸ ื“ื™ ืคึผืึธื“ ื“ื™ืคึผืขื ื“ื™ื ื’ ืื•ื™ืฃ ืคืึทืงื˜ื™ืฉ ื‘ืึทื ื™ืฅ. ื•ื•ื™ ืงืขืŸ ืขืก ื–ื™ื™ืŸ ื ื•ืฆื™ืง? ืื•ื™ื‘ ืื™ืจ ื”ืึธื‘ืŸ ืคึผืึธื“ืก ื•ื•ืึธืก ืงืขื ืขืŸ ื ื™ื˜ ื–ื™ื™ืŸ ืกืงื™ื™ืœื“ ื›ืึธืจื™ื–ืึทื ื˜ืึทืœื™ ืคึฟืึทืจ ืขื˜ืœืขื›ืข ืกื™ื‘ื” (ื•ื•ืึธืก ืื™ื– ื ื™ืฉื˜ ืœืขื’ืึทืžืจืข ืคืึทืจืœืึธื–ืœืขืš), ืื™ืจ ืงืขื ืขืŸ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ืขื ื˜ืจืึทืกื˜ื™ื ื’ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื–ื™ื™ึทืŸ ืจืขืกื•ืจืกืŸ ืฆื• VPA. ื“ืขืจ ืฉื˜ืจื™ืš ืื™ื– ืึท ืจืขืงืึธืžืขื ื“ืึทืฆื™ืข ืกื™ืกื˜ืขื ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื”ื™ืกื˜ืืจื™ืฉืข ืื•ืŸ ืงืจืึทื ื˜ ื“ืึทื˜ืŸ ืคื•ืŸ ื“ื™ ืžืขื˜ืจื™ืง ืกืขืจื•ื•ืขืจ, ืึทื–ื•ื™ ืื•ื™ื‘ ืื™ืจ ื˜ืึธืŸ ื ื™ืฉื˜ ื•ื•ืขืœืŸ ืฆื• ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ื˜ื•ื™ืฉืŸ ืจื™ืงื•ื•ืขืก / ืœื™ืžืึทืฅ, ืื™ืจ ืงืขื ื˜ ืคืฉื•ื˜ ืžืึธื ื™ื˜ืึธืจ ื“ื™ ืจืขืงืึทืžืขื ื“ื™ื“ ืจืขืกื•ืจืกืŸ ืคึฟืึทืจ ื“ื™ื™ืŸ ืงืึทื ื˜ื™ื™ื ืขืจื– ืื•ืŸ ืึทืคึผื˜ืึทืžื™ื™ื– ื“ื™ ืกืขื˜ื˜ื™ื ื’ืก ืฆื• ืจืึทื˜ืขื•ื•ืขืŸ ืงืคึผื• ืื•ืŸ ื–ื›ึผืจื•ืŸ ืื™ืŸ ื“ืขื ืงื ื•ื™ืœ.

ื ื™ื™ึทืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืคืึธืจืฉื˜ืขืœื•ื ื’ ืขืฆื•ืชื‘ื™ืœื“ ื’ืขื ื•ืžืขืŸ ืคื•ืŸ https://levelup.gitconnected.com/kubernetes-autoscaling-101-cluster-autoscaler-horizontal-pod-autoscaler-and-vertical-pod-2a441d9ad231

ื“ื™ ืกืงืขื“ื–ืฉื•ืœืขืจ ืื™ืŸ Kubernetes ืื™ื– ืฉื˜ืขื ื“ื™ืง ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืจื™ืงื•ื•ืขืก. ื•ื•ืขืœื›ืขืจ ื•ื•ืขืจื˜ ืื™ืจ ืฉื˜ืขืœืŸ ื“ืึธืจื˜, ื“ื™ ืกืงืขื“ื–ืฉื•ืœืขืจ ื•ื•ืขื˜ ื–ื•ื›ืŸ ืคึฟืึทืจ ืึท ืคึผืึทืกื™ืง ื ืึธื“ืข ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืขืก. ื“ื™ ืœื™ืžืึทืฅ ื•ื•ืึทืœื•ืขืก ื–ืขื ืขืŸ ื“ืืจืฃ ืคึฟืึทืจ ื“ื™ ืงื•ื‘ืขืœืขื˜ ืฆื• ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื•ื•ืขืŸ ืฆื• ื’ืขืจื’ืœ ืึธื“ืขืจ ื˜ื™ื™ื˜ืŸ ื“ื™ ืคึผืึธื“. ืื•ืŸ ื–ื™ื ื˜ ื“ืขืจ ื‘ืœื•ื™ื– ื•ื•ื™ื›ื˜ื™ืง ืคึผืึทืจืึทืžืขื˜ืขืจ ืื™ื– ื“ื™ ืจื™ืงื•ื•ืขืก ื•ื•ืขืจื˜, VPA ื•ื•ืขื˜ ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ืื™ื. ื•ื•ืขืŸ ืื™ืจ ื•ื•ืึธื’ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื•ื•ืขืจื˜ื™ืงืœื™, ืื™ืจ ื“ืขืคื™ื ื™ืจืŸ ื•ื•ืึธืก ื“ื™ ืจื™ืงื•ื•ืขืก ื–ืึธืœ ื–ื™ื™ืŸ. ื•ื•ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืžื™ื˜ ื“ื™ ืœื™ืžืึทืฅ ื“ืขืžืึธืœื˜? ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ ื•ื•ืขื˜ ืื•ื™ืš ื–ื™ื™ืŸ ืกืงื™ื™ืœื“ ืคึผืจืึทืคึผืึธืจืฉืึทื ืึทืœื™.

ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื“ืึธ ื–ืขื ืขืŸ ื“ื™ ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš ืคึผืึธื“ ืกืขื˜ื˜ื™ื ื’ืก:

resources:
   requests:
     memory: 250Mi
     cpu: 200m
   limits:
     memory: 500Mi
     cpu: 350m

ื“ืขืจ ืจืขืงืึธืžืขื ื“ืึทืฆื™ืข ืžืึธื˜ืึธืจ ื“ื™ื˜ืขืจืžืึทื ื– ืึทื– ื“ื™ื™ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืจื™ืงื•ื•ื™ื™ืขืจื– 300 ื ืงืคึผื• ืื•ืŸ 500 ืžื™ ืฆื• ืœื•ื™ืคืŸ ืจืขื›ื˜. ืื™ืจ ื•ื•ืขื˜ ื‘ืึทืงื•ืžืขืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ืกืขื˜ื˜ื™ื ื’ืก:

resources:
   requests:
     memory: 500Mi
     cpu: 300m
   limits:
     memory: 1000Mi
     cpu: 525m

ื•ื•ื™ ื“ืขืจืžืื ื˜ ืื•ื™ื‘ืŸ, ื“ืึธืก ืื™ื– ืคึผืจืึทืคึผืึธืจืฉืึทื ืึทืœ ืกืงื™ื™ืœื™ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ืจื™ืงื•ื•ืขืก / ืœื™ืžืึทืฅ ืคืึทืจื”ืขืœื˜ืขื ื™ืฉ ืื™ืŸ ื“ื™ ื‘ืึทืฉื™ื™ึทืžืคึผืขืจืœืขืš:

  • ืงืคึผื•: 200ื โ†’ 300ื: ืคืึทืจื”ืขืœื˜ืขื ื™ืฉ 1:1.75;

  • ื–ื›ึผืจื•ืŸ: 250ืžื™ โ†’ 500ืžื™: ืคืึทืจื”ืขืœื˜ืขื ื™ืฉ 1:2.

ื•ื•ื™ ื’ืจื•ืก HPA, ื“ืขืžืึธืœื˜ ื“ืขืจ ืžืขืงืึทื ื™ื–ืึทื ืคื•ืŸ ืึธืคึผืขืจืึทืฆื™ืข ืื™ื– ืžืขืจ ื˜ืจืึทื ืกืคึผืขืจืึทื ื˜. ืžืขื˜ืจื™ืงืก ืึทื–ืึท ื•ื•ื™ ืงืคึผื• ืื•ืŸ ื–ื›ึผืจื•ืŸ ื–ืขื ืขืŸ ืฉื•ื•ืขืœืžื“, ืื•ืŸ ืื•ื™ื‘ ื“ื™ ื“ื•ืจื›ืฉื ื™ื˜ืœืขืš ืคื•ืŸ ืึทืœืข ืจืขืคึผืœืึทืงืึทื– ื™ืงืกื™ื“ื– ื“ื™ ืฉื•ื•ืขืœ, ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ื– ืกืงื™ื™ืœื“ ื“ื•ืจืš +1 ืกืึทื‘ ื‘ื™ื– ื“ื™ ื•ื•ืขืจื˜ ืคืืœืŸ ืื•ื ื˜ืขืจ ื“ื™ ืฉื•ื•ืขืœ ืึธื“ืขืจ ื‘ื™ื– ื“ื™ ืžืึทืงืกื™ืžื•ื ื ื•ืžืขืจ ืคื•ืŸ ืจืขืคึผืœืึทืงืึทื– ืื™ื– ืจื™ื˜ืฉื˜.

ื ื™ื™ึทืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืคืึธืจืฉื˜ืขืœื•ื ื’ ืขืฆื•ืชื‘ื™ืœื“ ื’ืขื ื•ืžืขืŸ ืคื•ืŸ https://levelup.gitconnected.com/kubernetes-autoscaling-101-cluster-autoscaler-horizontal-pod-autoscaler-and-vertical-pod-2a441d9ad231

ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ื“ื™ ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš ืžืขื˜ืจื™ืงืก ื•ื•ื™ ืงืคึผื• ืื•ืŸ ื–ื›ึผืจื•ืŸ, ืื™ืจ ืงืขื ืขืŸ ืฉื˜ืขืœืŸ ื˜ืจืขืฉื›ืึธื•ืœื“ื– ืื•ื™ืฃ ื“ื™ื™ืŸ ืžื ื”ื’ ืžืขื˜ืจื™ืงืก ืคึฟื•ืŸ ืคึผืจืึธืžืขื˜ื”ืขื•ืก ืื•ืŸ ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ื–ื™ื™ ืื•ื™ื‘ ืื™ืจ ื˜ืจืึทื›ื˜ืŸ ืึทื– ื“ืึธืก ืื™ื– ื“ื™ ืžืขืจืกื˜ ืคึผื™ื ื˜ืœืขืš ืึธื ื•ื•ื™ื™ึทื– ืคื•ืŸ ื•ื•ืขืŸ ืฆื• ื•ื•ืึธื’ ื“ื™ื™ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ. ืึทืžืึธืœ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืกื˜ื™ื™ื‘ืึทืœื™ื™ื–ื™ื– ืื•ื ื˜ืขืจ ื“ื™ ืกืคึผืขืกื™ืคื™ืขื“ ืžืขื˜ืจื™ืง ืฉื•ื•ืขืœ, HPA ื•ื•ืขื˜ ืึธื ื”ื™ื™ื‘ืŸ ืฆื• ื•ื•ืึธื’ ืคึผืึธื“ืก ืึทืจืึธืคึผ ืฆื• ื“ื™ ืžื™ื ื™ืžื•ื ื ื•ืžืขืจ ืคื•ืŸ ืจืขืคึผืœืึทืงืึทื– ืึธื“ืขืจ ื‘ื™ื– ื“ื™ ืžืึทืกืข ืžื™ืฅ ื“ื™ ืกืคึผืขืกื™ืคื™ืขื“ ืฉื•ื•ืขืœ.

6. ื“ื• ื–ืืœืกื˜ ื ื™ืฉื˜ ืคืึทืจื’ืขืกืŸ ื•ื•ืขื’ืŸ Node Affinity ืื•ืŸ Pod Affinity

ื ื™ื™ึทืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืคืึธืจืฉื˜ืขืœื•ื ื’ ืขืฆื•ืช

ื ื™ื˜ ืึทืœืข ื ืึธื•ื“ื– ืœื•ื™ืคืŸ ืื•ื™ืฃ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ื™ื™ึทื–ื ื•ื•ืึทืจื’, ืื•ืŸ ื ื™ื˜ ืึทืœืข ืคึผืึธื“ืก ื“ืึทืจืคึฟืŸ ืฆื• ืœื•ื™ืคืŸ ืงืึทืžืคึผื™ื•ื˜ื™ื ื’-ืื™ื ื˜ืขื ืกื™ื•ื•ืข ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–. Kubernetes ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืฉื˜ืขืœืŸ ื“ื™ ืกืคึผืขืฉืึทืœืึทื–ื™ื™ืฉืึทืŸ ืคื•ืŸ ื ืึธื•ื“ื– ืื•ืŸ ืคึผืึธื“ืก ื ื™ืฆืŸ ื ืึธื“ืข ืึทืคื™ื ื™ื˜ื™ ะธ ืคึผืึธื“ ืึทืคื™ื ื™ื˜ื™.

ืื•ื™ื‘ ืื™ืจ ื”ืึธื‘ืŸ ื ืึธื•ื“ื– ื•ื•ืึธืก ื–ืขื ืขืŸ ืคึผืึทืกื™ืง ืคึฟืึทืจ ืงืึทืžืคึผื™ื•ื˜ื™ื ื’-ืื™ื ื˜ืขื ืกื™ื•ื•ืข ืึทืคึผืขืจื™ื™ืฉืึทื ื–, ืคึฟืึทืจ ืžืึทืงืกื™ืžื•ื ืขืคืขืงื˜ื™ื•ื•ืงื™ื™ึทื˜ ืขืก ืื™ื– ื‘ืขืกืขืจ ืฆื• ื‘ื™ื ื“ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืฆื• ื“ื™ ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ ื ืึธื•ื“ื–. ืฆื• ื˜ืึธืŸ ื“ืึธืก, ื ื•ืฆืŸ nodeSelector ืžื™ื˜ ืึท ื ืึธื“ืข ืคื™ืจืžืข.

ื–ืืœ ืก ื–ืึธื’ืŸ ืื™ืจ ื”ืึธื‘ืŸ ืฆื•ื•ื™ื™ ื ืึธื•ื“ื–: ืื™ื™ื ืขืจ ืžื™ื˜ CPUType=HIGHFREQ ืื•ืŸ ืึท ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ืฉื ืขืœ ืงืึธืจืขืก, ืื ื“ืขืจืŸ ืžื™ื˜ MemoryType=HIGHMEMORY ืžืขืจ ื–ื›ึผืจื•ืŸ ืื•ืŸ ืคืึทืกื˜ืขืจ ืคืึธืจืฉื˜ืขืœื•ื ื’. ื“ื™ ื™ื–ื™ืึทืกื˜ ื•ื•ืขื’ ืื™ื– ืฆื• ื‘ืึทืฉื˜ื™ืžืขืŸ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืฆื• ืึท ื ืึธื“ืข HIGHFREQื“ื•ืจืš ืึทื“ื™ื ื’ ืฆื• ื“ื™ ืึธืคึผื˜ื™ื™ืœื•ื ื’ spec ื“ืขื ืกืขืœืขืงื˜ืึธืจ:

โ€ฆ
nodeSelector:
	CPUType: HIGHFREQ

ื ืžืขืจ ื˜ื™ื™ึทืขืจ ืื•ืŸ ืกืคึผืขืฆื™ืคื™ืฉ ื•ื•ืขื’ ืฆื• ื˜ืึธืŸ ื“ืึธืก ืื™ื– ืฆื• ื ื•ืฆืŸ nodeAffinity ืื™ืŸ ืคืขืœื“ affinity ืึธืคึผื˜ื™ื™ืœื•ื ื’ spec. ืขืก ื–ืขื ืขืŸ ืฆื•ื•ื™ื™ ืึธืคึผืฆื™ืขืก:

  • requiredDuringSchedulingIgnoredDuringExecution: ืฉื•ื•ืขืจ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ (ื“ื™ ืกืงืขื“ื–ืฉื•ืœืขืจ ื•ื•ืขื˜ ืฆืขื•ื•ื™ืงืœืขืŸ ืคึผืึธื“ืก ื‘ืœื•ื™ื– ืื•ื™ืฃ ืกืคึผืขืฆื™ืคื™ืฉ ื ืึธื•ื“ื– (ืื•ืŸ ื™ื  ืขืจื’ืขืฆ ื ื™ื˜ ืึทื ื“ืขืจืฉ));

  • preferredDuringSchedulingIgnoredDuringExecution: ื•ื•ื™ื™ืš ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ (ื“ื™ ืกืงืขื“ื–ืฉื•ืœืขืจ ื•ื•ืขื˜ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ืฆืขื•ื•ื™ืงืœืขืŸ ืฆื• ืกืคึผืขืฆื™ืคื™ืฉ ื ืึธื•ื“ื–, ืื•ืŸ ืื•ื™ื‘ ื“ืึธืก ืคื™ื™ืœื–, ืขืก ื•ื•ืขื˜ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ืฆืขื•ื•ื™ืงืœืขืŸ ืฆื• ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ื‘ื ื™ืžืฆื ื ืึธื“ืข).

ืื™ืจ ืงืขื ืขืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึท ืกืคึผืขืฆื™ืคื™ืฉ ืกื™ื ื˜ืึทืงืก ืคึฟืึทืจ ืึธื ืคื™ืจื•ื ื’ ื ืึธื“ืข ืœืึทื‘ืขืœืก, ืึทื–ืึท ื•ื•ื™ In, NotIn, Exists, DoesNotExist, Gt ืึธื“ืขืจ Lt. ืึธื‘ืขืจ, ื’ืขื“ืขื ืงืขืŸ ืึทื– ืงืึธืžืคึผืœืขืงืก ืžืขื˜ื”ืึธื“ืก ืื™ืŸ ืœืึทื ื’ ืจืฉื™ืžื•ืช ืคื•ืŸ ืœืึทื‘ืขืœืก ื•ื•ืขื˜ ืคึผืึทืžืขืœืขืš ื“ื™ ื‘ืึทืฉืœื•ืก ื’ืขืžืื›ื˜ ืื™ืŸ ืงืจื™ื˜ื™ืฉ ืกื™ื˜ื•ืึทื˜ื™ืึธื ืก. ืื™ืŸ ืื ื“ืขืจืข ื•ื•ืขืจื˜ืขืจ, ื”ืึทืœื˜ืŸ ืขืก ืคึผืฉื•ื˜.

ื•ื•ื™ ื“ืขืจืžืื ื˜ ืื•ื™ื‘ืŸ, Kubernetes ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืฉื˜ืขืœืŸ ื“ื™ ืงื™ืจื‘ื•ืช ืคื•ืŸ ื“ื™ ืงืจืึทื ื˜ ืคึผืึธื“ืก. ืึทื– ืื™ื–, ืื™ืจ ืงืขื ืขืŸ ืžืึทื›ืŸ ื–ื™ื›ืขืจ ืึทื– ื–ื™ื›ืขืจ ืคึผืึธื“ืก ืึทืจื‘ืขื˜ ืฆื•ื–ืึทืžืขืŸ ืžื™ื˜ ืื ื“ืขืจืข ืคึผืึธื“ืก ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืึทื•ื•ื™ื™ืœืึทื‘ื™ืœืึทื˜ื™ ื–ืึธื ืข (ื‘ืึทื˜ื™ื™ึทื˜ื™ืง ืคึฟืึทืจ ื•ื•ืืœืงื ืก) ืึธื“ืขืจ ื ืึธื•ื“ื–.

ะ’ podAffinity ืคืขืœื“ืขืจ affinity ืึธืคึผื˜ื™ื™ืœื•ื ื’ spec ื“ื™ ื–ืขืœื‘ืข ืคืขืœื“ืขืจ ื–ืขื ืขืŸ ื‘ื ื™ืžืฆื ื•ื•ื™ ืื™ืŸ ื“ื™ ืคืึทืœ ืคื•ืŸ nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution ะธ preferredDuringSchedulingIgnoredDuringExecution. ื“ืขืจ ื‘ืœื•ื™ื– ื—ื™ืœื•ืง ืื™ื– ืึทื– matchExpressions ื•ื•ืขื˜ ื‘ื™ื ื“ืŸ ื“ื™ ืคึผืึธื“ืก ืฆื• ืึท ื ืึธื“ืข ื•ื•ืึธืก ืื™ื– ืฉื•ื™ืŸ ืคืœื™ืกื ื“ื™ืง ืึท ืคึผืึธื“ ืžื™ื˜ ื“ืขื ืคื™ืจืžืข.

Kubernetes ืื•ื™ืš ืึธืคืคืขืจืก ืึท ืคืขืœื“ podAntiAffinity, ื•ื•ืึธืก, ืื•ื™ืฃ ื“ื™ ืคืึทืจืงืขืจื˜, ื ื™ืฉื˜ ื‘ื™ื ื“ืŸ ื“ื™ ืคึผืึธื“ ืฆื• ืึท ื ืึธื“ืข ืžื™ื˜ ืกืคึผืขืฆื™ืคื™ืฉ ืคึผืึธื“ืก.

ื•ื•ืขื’ืŸ ืื•ื™ืกื“ืจื•ืงืŸ nodeAffinity ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืขืฆื” ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื’ืขื‘ืŸ: ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื”ืึทืœื˜ืŸ ื“ื™ ื›ึผืœืœื™ื ืคึผืฉื•ื˜ ืื•ืŸ ืœืึทื“ื–ืฉื™ืงืึทืœ, ื˜ืึธืŸ ื ื™ื˜ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ืึธื•ื•ืขืจืœืึธืึทื“ ื“ื™ ืคึผืึธื“ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืžื™ื˜ ืึท ืงืึธืžืคึผืœืขืงืก ื’ืึทื ื’ ืคื•ืŸ ื›ึผืœืœื™ื. ืขืก ืื™ื– ื–ื™ื™ืขืจ ื’ืจื™ื ื’ ืฆื• ืฉืึทืคึฟืŸ ืึท ื”ืขืจืฉืŸ ื•ื•ืึธืก ื•ื•ืขื˜ ื ื™ืฉื˜ ื’ืœื™ื™ึทื›ืŸ ื“ื™ ื‘ืื“ื™ื ื’ื•ื ื’ืขืŸ ืคื•ืŸ ื“ื™ ืงื ื•ื™ืœ, ืงืจื™ื™ื™ื˜ื™ื ื’ ื•ืžื ื™ื™ื˜ื™ืง ืžืึทืกืข ืื•ื™ืฃ ื“ื™ ืกืงืขื“ื–ืฉื•ืœืขืจ ืื•ืŸ ืจื™ื“ื•ืกื™ื ื’ ื“ื™ ืงื•ื™ืœืขืœื“ื™ืง ืคืึธืจืฉื˜ืขืœื•ื ื’.

7. ื˜ืึทื™ื ื˜ & ื˜ืึธืœืขืจืึทื ืฅ

ืขืก ืื™ื– ืืŸ ืื ื“ืขืจ ื•ื•ืขื’ ืฆื• ืคื™ืจืŸ ื“ื™ ืกืงืขื“ื–ืฉื•ืœืขืจ. ืื•ื™ื‘ ืื™ืจ ื”ืึธื‘ืŸ ืึท ื’ืจื•ื™ืก ืงื ื•ื™ืœ ืžื™ื˜ ื”ื•ื ื“ืขืจื˜ืขืจ ืคื•ืŸ ื ืึธื•ื“ื– ืื•ืŸ ื˜ื•ื™ื–ื ื˜ืขืจ ืคื•ืŸ ืžื™ืงืจืึธ ื‘ืึทื“ื™ื ื•ื ื’ืก, ืขืก ืื™ื– ื–ื™ื™ืขืจ ืฉื•ื•ืขืจ ืฆื• ืœืึธื–ืŸ ื–ื™ื›ืขืจ ืคึผืึธื“ืก ืฆื• ื–ื™ื™ืŸ ื›ืึธื•ืกื˜ื™ื“ ืื•ื™ืฃ ื–ื™ื›ืขืจ ื ืึธื•ื“ื–.

ื“ืขืจ ืžืขืงืึทื ื™ื–ืึทื ืคื•ืŸ ื˜ืึทื™ื ื˜ - ืคึผืจืึธื•ื›ื™ื‘ืึทื˜ื™ื ื’ ื›ึผืœืœื™ื - ื”ืขืœืคึผืก ืžื™ื˜ ื“ืขื. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื™ืŸ ื–ื™ื›ืขืจ ืกื™ื ืขืจื™ืึธื•ื– ืื™ืจ ืงืขื ืขืŸ ืคืึทืจื•ื•ืขืจืŸ ื–ื™ื›ืขืจ ื ืึธื•ื“ื– ืคื•ืŸ ืคืœื™ืกื ื“ื™ืง ืคึผืึธื“ืก. ืฆื• ืฆื•ืœื™ื™ื’ืŸ ืึท ื˜ืึทื ืฆื• ืึท ืกืคึผืขืฆื™ืคื™ืฉ ื ืึธื“ืข, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื ื•ืฆืŸ ื“ื™ ืึธืคึผืฆื™ืข taint ืื™ืŸ ืงื•ื‘ื•ืงื˜ืœ. ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ืฉืœื™ืกืœ ืื•ืŸ ื•ื•ืขืจื˜ ืื•ืŸ ื“ืึทืŸ ื˜ื™ื™ื˜ืŸ ื•ื•ื™ NoSchedule ืึธื“ืขืจ NoExecute:

$ kubectl taint nodes node10 node-role.kubernetes.io/ingress=true:NoSchedule

ืขืก ืื™ื– ืื•ื™ืš ื›ื“ืื™ ืฆื• ื‘ืืžืขืจืงืŸ ืึทื– ื“ื™ ืฉืžืขืงืŸ ืžืขืงืึทื ื™ื–ืึทื ืฉื˜ื™ืฆื˜ ื“ืจื™ื™ ื”ื•ื™ืคึผื˜ ื™ืคืขืงืฅ: NoSchedule, NoExecute ะธ PreferNoSchedule.

  • NoSchedule ืžื™ื˜ืœ ืึทื– ืคึฟืึทืจ ืื™ืฆื˜ ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืงื™ื™ืŸ ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ ืคึผืึธื–ื™ืฆื™ืข ืื™ืŸ ื“ื™ ืคึผืึธื“ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ tolerations, ืขืก ื•ื•ืขื˜ ื ื™ืฉื˜ ืงืขื ืขืŸ ืฆื• ื–ื™ื™ืŸ ื“ื™ืคึผืœื•ื™ื“ ืื•ื™ืฃ ื“ื™ ื ืึธื“ืข (ืื™ืŸ ื“ืขื ื‘ื™ื™ึทืฉืคึผื™ืœ node10).

  • PreferNoSchedule - ืกื™ืžืคึผืœืึทืคื™ื™ื“ ื•ื•ืขืจืกื™ืข NoSchedule. ืื™ืŸ ื“ืขื ืคืึทืœ, ื“ื™ ืกืงืขื“ื–ืฉื•ืœืขืจ ื•ื•ืขื˜ ืคึผืจื•ื‘ื™ืจืŸ ื ื™ืฉื˜ ืฆื• ืึทืœืึทืงื™ื™ื˜ ืคึผืึธื“ืก ื•ื•ืึธืก ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ืึท ื•ื•ืึธืก ืจื™ื›ื˜ืŸ ืคึผืึธื–ื™ืฆื™ืข tolerations ืคึผืขืจ ื ืึธื“ืข, ืึธื‘ืขืจ ื“ืึธืก ืื™ื– ื ื™ืฉื˜ ืึท ืฉื•ื•ืขืจ ื‘ืึทื’ืจืขื ืขืฆื•ื ื’. ืื•ื™ื‘ ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ืจืขืกื•ืจืกืŸ ืื™ืŸ ื“ืขื ืงื ื•ื™ืœ, ืคึผืึธื“ืก ื•ื•ืขืœืŸ ืึธื ื”ื™ื™ื‘ืŸ ืฆื• ืฆืขื•ื•ื™ืงืœืขืŸ ืื•ื™ืฃ ื“ืขื ื ืึธื“ืข.

  • NoExecute - ื“ื™ ื•ื•ื™ืจืงื•ื ื’ ื˜ืจื™ื’ืขืจื– ื“ื™ ื’ืœื™ื™ืš ื™ื•ื•ืึทืงื™ืึทื•ื•ื™ื™ืฉืึทืŸ ืคื•ืŸ ืคึผืึธื“ืก ื•ื•ืึธืก ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ืึท ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ ืคึผืึธื–ื™ืฆื™ืข tolerations.

ื™ื ื˜ืขืจืขืกื˜ื™ื ื’ืœื™, ื“ืขื ื ืึทื˜ื•ืจ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืงืึทื ืกืึทืœื“ ืžื™ื˜ ื“ื™ ื˜ืึธืœืขืจื™ื™ืฉืึทื ื– ืžืขืงืึทื ื™ื–ืึทื. ื“ืึธืก ืื™ื– ื‘ืึทืงื•ื•ืขื ื•ื•ืขืŸ ืขืก ืื™ื– ืึท "ืคืึทืจื‘ืึธื˜ืŸ" ื ืึธื“ืข ืื•ืŸ ืื™ืจ ื ืึธืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฉื˜ืขืœืŸ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ื‘ืึทื“ื™ื ื•ื ื’ืก ืื•ื™ืฃ ืขืก. ื•ื•ื™ ืฆื• ื˜ืึธืŸ ืขืก? ืœืึธื–ืŸ ื‘ืœื•ื™ื– ื“ื™ ืคึผืึธื“ืก ืคึฟืึทืจ ื•ื•ืึธืก ืขืก ืื™ื– ืึท ืคึผืึทืกื™ืง ื˜ืึธืœืขืจืึทื ืฅ.

ื“ืึธ ืก ื•ื•ื™ ื“ื™ ืคึผืึธื“ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ื•ื•ืึธืœื˜ ืงื•ืงืŸ ื•ื•ื™:

spec:
   tolerations:
     - key: "node-role.kubernetes.io/ingress"
        operator: "Equal"
        value: "true"
        effect: "NoSchedule"

ื“ืึธืก ื˜ื•ื˜ ื ื™ืฉื˜ ืžื™ื™ื ืขืŸ ืึทื– ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืจื™ื“ื™ืคึผืœื™ื™ ื•ื•ืขื˜ ืคืึทืœืŸ ืื•ื™ืฃ ื“ืขื ื‘ืึทื–ื•ื ื“ืขืจ ื ืึธื“ืข, ื“ืึธืก ืื™ื– ื ื™ืฉื˜ ื“ื™ Node Affinity ืžืขืงืึทื ื™ื–ืึทื ืื•ืŸ nodeSelector. ืึธื‘ืขืจ ื“ื•ืจืš ืงืึทืžื‘ื™ื™ื ื™ื ื’ ืขื˜ืœืขื›ืข ืคึฟืขื™ึดืงื™ื™ื˜ืŸ, ืื™ืจ ืงืขื ืขืŸ ื“ืขืจื’ืจื™ื™ื›ืŸ ื–ื™ื™ืขืจ ืคืœืขืงืกืึทื‘ืึทืœ ืกืงืขื“ื–ืฉื•ืœืขืจ ืกืขื˜ื˜ื™ื ื’ืก.

8. ืฉื˜ืขืœืŸ ืคึผืึธื“ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜

ื ืึธืจ ื•ื•ื™ื™ึทืœ ืื™ืจ ื”ืึธื‘ืŸ ืคึผืึธื“ืก ืึทืกื™ื™ื ื“ ืฆื• ื ืึธื•ื“ื– ื˜ื•ื˜ ื ื™ืฉื˜ ืžื™ื™ื ืขืŸ ืึทื– ืึทืœืข ืคึผืึธื“ืก ืžื•ื–ืŸ ื–ื™ื™ืŸ ื‘ืื”ืื ื“ืœื˜ ืžื™ื˜ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื™ืจ ื–ืืœ ื•ื•ืขืœืŸ ืฆื• ืฆืขื•ื•ื™ืงืœืขืŸ ืขื˜ืœืขื›ืข ืคึผืึธื“ืก ืื™ื™ื“ืขืจ ืื ื“ืขืจืข.

Kubernetes ืึธืคืคืขืจืก ืคืึทืจืฉื™ื“ืขื ืข ื•ื•ืขื’ืŸ ืฆื• ืงืึทื ืคื™ื’ื™ืขืจ ืคึผืึธื“ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜ ืื•ืŸ ืคึผืจืขืขืžืคึผื˜ื™ืึธืŸ. ื“ื™ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื‘ืืฉื˜ื™ื™ื˜ ืคื•ืŸ ืขื˜ืœืขื›ืข ื˜ื™ื™ืœืŸ: ื›ื™ื™ืคืขืฅ PriorityClass ืื•ืŸ ืคืขืœื“ ื“ื™ืกืงืจื™ืคึผืฉืึทื ื– priorityClassName ืื™ืŸ ื“ื™ ืคึผืึธื“ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’. ื–ืืœ ืก ืงื•ืง ื‘ื™ื™ึท ืึท ื‘ื™ื™ึทืฉืคึผื™ืœ:

apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
  name: high-priority
value: 99999
globalDefault: false
description: "This priority class should be used for very important pods only"

ืžื™ืจ ืžืึทื›ืŸ PriorityClass, ื’ืขื‘ืŸ ืขืก ืึท ื ืึธืžืขืŸ, ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืื•ืŸ ื•ื•ืขืจื˜. ื“ื™ ื”ืขื›ืขืจ value, ื“ื™ ื”ืขื›ืขืจ ื“ื™ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜. ื“ื™ ื•ื•ืขืจื˜ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืงื™ื™ืŸ 32-ื‘ื™ืกืœ ื™ื ื˜ืึทื“ื–ืฉืขืจ ื•ื•ื™ื™ื ื™ืงืขืจ ื•ื•ื™ ืึธื“ืขืจ ื’ืœื™ื™ึทืš ืฆื• 1. ื”ืขื›ืขืจ ื•ื•ืึทืœื•ืขืก ื–ืขื ืขืŸ ืจืขื–ืขืจื•ื•ื™ืจื˜ ืคึฟืึทืจ ืžื™ืกื™ืข-ืงืจื™ื˜ื™ืฉ ืกื™ืกื˜ืขื ืคึผืึธื“ืก ื•ื•ืึธืก ืงืขื ืขืŸ ื‘ื›ืœืœ ื ื™ืฉื˜ ื–ื™ื™ืŸ ืคึผืจื™ืขืžืคึผื˜ื™ื“. ื“ื™ืกืคึผืœื™ื™ืกืžืึทื ื˜ ื•ื•ืขื˜ ื ืึธืจ ืคึผืึทืกื™ืจืŸ ืื•ื™ื‘ ืึท ื”ื•ื™ืš-ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜ ืคึผืึธื“ ื”ืื˜ ืงื™ื™ืŸ ืึธืจื˜ ืฆื• ื“ืจื™ื™ืขืŸ ืึทืจื•ื, ื“ืขืžืึธืœื˜ ืขื˜ืœืขื›ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืคึผืึธื“ืก ืคื•ืŸ ืึท ื–ื™ื›ืขืจ ื ืึธื“ืข ื•ื•ืขื˜ ื–ื™ื™ืŸ ื™ื•ื•ืึทืงื™ืึทื•ื•ื™ื™ื˜ื™ื“. ืื•ื™ื‘ ื“ืขื ืžืขืงืึทื ื™ื–ืึทื ืื™ื– ืื•ื™ืš ืฉื˜ืจืขื ื’ ืคึฟืึทืจ ืื™ืจ, ืื™ืจ ืงืขื ืขืŸ ืœื™ื™ื’ืŸ ื“ืขื ืึธืคึผืฆื™ืข preemptionPolicy: Never, ืื•ืŸ ื“ืขืžืึธืœื˜ ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืงื™ื™ืŸ ืคึผืจื™ืขืžืคึผืฉืึทืŸ, ื“ื™ ืคึผืึธื“ ื•ื•ืขื˜ ืฉื˜ื™ื™ืŸ ืขืจืฉื˜ืขืจ ืื™ืŸ ื“ืขืจ ืจื™ื™ ืื•ืŸ ื•ื•ืึทืจื˜ืŸ ืคึฟืึทืจ ื“ื™ ืกืงืขื“ื–ืฉื•ืœืขืจ ืฆื• ื’ืขืคึฟื™ื ืขืŸ ืคืจื™ื™ ืจืขืกื•ืจืกืŸ ืคึฟืึทืจ ืขืก.

ื•ื•ื™ื™ึทื˜ืขืจ, ืžื™ืจ ืžืึทื›ืŸ ืึท ืคึผืึธื“ ืื™ืŸ ื•ื•ืึธืก ืžื™ืจ ืึธื ื•ื•ื™ื™ึทื–ืŸ ื“ืขื ื ืึธืžืขืŸ priorityClassName:

apiVersion: v1
kind: Pod
metadata:
  name: static-web
  labels:
    role: myrole
 spec:
  containers:
    - name: web
      image: nginx
      ports:
        - name: web
          containerPort: 80
          protocol: TCP
  priorityClassName: high-priority
          

ืื™ืจ ืงืขื ืขืŸ ืžืึทื›ืŸ ื•ื•ื™ ืคื™ืœืข ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜ ืงืœืืกืŸ ื•ื•ื™ ืื™ืจ ื•ื•ื™ืœื˜, ื›ืึธื˜ืฉ ืขืก ืื™ื– ืจืขืงืึทืžืขื ื“ื™ื“ ื ื™ืฉื˜ ืฆื• ื‘ืึทืงื•ืžืขืŸ ืึทื•ื•ืขืง ืžื™ื˜ ื“ืขื (ื–ืึธื’ืŸ, ื‘ืึทื’ืจืขื ืขืฆืŸ ื–ื™ืš ืฆื• ื ื™ื“ืขืจื™ืง, ืžื™ื˜ืœ ืื•ืŸ ื”ื•ื™ืš ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜).

ืื–ื•ื™, ืื•ื™ื‘ ื ื™ื™ื˜ื™ืง, ืื™ืจ ืงืขื ืขืŸ ืคืึทืจื’ืจืขืกืขืจืŸ ื“ื™ ืขืคืขืงื˜ื™ื•ื•ืงื™ื™ึทื˜ ืคื•ืŸ ื“ื™ืคึผืœื•ื™ื™ื ื’ ืงืจื™ื˜ื™ืฉ ื‘ืึทื“ื™ื ื•ื ื’ืก ืึทื–ืึท ื•ื•ื™ nginx-ingress-controller, coredns, ืขื˜ืง.

9. ืึธืคึผื˜ื™ืžื™ื–ื™ืจืŸ ื“ื™ ืขื˜ืงื“ ืงื ื•ื™ืœ

ื ื™ื™ึทืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืคืึธืจืฉื˜ืขืœื•ื ื’ ืขืฆื•ืช

ETCD ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืจื•ืคืŸ ื“ื™ ืžืึทืจืš ืคื•ืŸ ื“ื™ ื’ืื ืฆืข ืงื ื•ื™ืœ. ืขืก ืื™ื– ื–ื™ื™ืขืจ ื•ื•ื™ื›ื˜ื™ืง ืฆื• ื”ืึทืœื˜ืŸ ื“ื™ ืึธืคึผืขืจืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ืขื ื“ืึทื˜ืึทื‘ื™ื™ืก ืื•ื™ืฃ ืึท ื”ื•ื™ืš ืžื“ืจื’ื”, ื•ื•ื™ื™ึทืœ ื“ื™ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืื™ืŸ ืงื•ื‘ืข ื“ืขืคึผืขื ื“ืก ืื•ื™ืฃ ืขืก. ื ืคืขืจืœื™ ื ืึธืจืžืึทืœ, ืื•ืŸ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜, ื’ื•ื˜ ืœื™ื™ื–ื•ื ื’ ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ืฆื• ื”ืึทืœื˜ืŸ ื“ื™ ETCD ืงื ื•ื™ืœ ืื•ื™ืฃ ื“ื™ ื‘ืขืœ ื ืึธื•ื“ื– ืื™ืŸ ืกื“ืจ ืฆื• ื”ืึธื‘ืŸ ืึท ืžื™ื ื™ืžื•ื ืคืึทืจื”ืึทืœื˜ืŸ ืฆื• ื“ื™ ืงื•ื‘ืข-ืึทืคึผื™ืกืขืจื•ื•ืขืจ. ืื•ื™ื‘ ืื™ืจ ืงืขื ืขืŸ ื ื™ืฉื˜ ื˜ืึธืŸ ื“ืึธืก, ืฉื˜ืขืœืŸ ื“ื™ ETCD ื•ื•ื™ ื ืึธืขื ื˜ ื•ื•ื™ ืžืขื’ืœืขืš, ืžื™ื˜ ืึท ื’ื•ื˜ ื‘ืึทื ื“ื•ื•ื™ื“ื˜ ืฆื•ื•ื™ืฉืŸ ืคึผืึทืจื˜ื™ืกืึทืคึผืึทื ืฅ. ืื•ื™ืš ื‘ืึทืฆืึธืœืŸ ื•ืคืžืขืจืงื–ืึทืžืงื™ื™ึทื˜ ืฆื• ื•ื•ื™ ืคื™ืœืข ื ืึธื•ื“ื– ืคื•ืŸ ETCD ืงืขื ืขืŸ ืคืึทืœืŸ ืื•ื™ืก ืึธืŸ ืฉืึธื“ืŸ ืฆื• ื“ื™ ืงื ื•ื™ืœ

ื ื™ื™ึทืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืคืึธืจืฉื˜ืขืœื•ื ื’ ืขืฆื•ืช

ื”ืึทืœื˜ืŸ ืื™ืŸ ืžื™ื™ื ื•ื ื’ ืึทื– ื™ืงืกืขืกื™ื•ื•ืœื™ ื™ื ืงืจื™ืกื™ื ื’ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืžื™ื˜ื’ืœื™ื“ืขืจ ืื™ืŸ ืึท ืงื ื•ื™ืœ ืงืขื ืขืŸ ืคืึทืจื’ืจืขืกืขืจืŸ ืฉื•ืœื“ ื˜ืึธืœืขืจืึทื ืฅ ืื•ื™ืฃ ื“ื™ ืงืึธืกื˜ ืคื•ืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’, ืึทืœืฅ ื–ืึธืœ ื–ื™ื™ืŸ ืื™ืŸ ืžืึทื“ืขืจื™ื™ืฉืึทืŸ.

ืื•ื™ื‘ ืžื™ืจ ืจืขื“ืŸ ื•ื•ืขื’ืŸ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ื™ ื“ื™ื ืกื˜, ืขืก ื–ืขื ืขืŸ ืขื˜ืœืขื›ืข ืจืขืงืึทืžืึทื ื“ื™ื™ืฉืึทื ื–:

  1. ื”ืึธื‘ืŸ ื’ื•ื˜ ื™ื™ึทื–ื ื•ื•ืึทืจื’, ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ื’ืจื™ื™ืก ืคื•ืŸ ื“ืขื ืงื ื•ื™ืœ (ืื™ืจ ืงืขื ืขืŸ ืœื™ื™ืขื ืขืŸ ื“ืึธ).

  2. ื˜ื•ื•ื™ืง ืึท ื‘ื™ืกืœ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืื•ื™ื‘ ืื™ืจ ื”ืึธื˜ ืคืึทืจืฉืคึผืจื™ื™ื˜ืŸ ืึท ืงื ื•ื™ืœ ืฆื•ื•ื™ืฉืŸ ืึท ืคึผืึธืจ ืคื•ืŸ ื“ืงืก ืึธื“ืขืจ ื“ื™ื™ืŸ ื ืขืฅ ืื•ืŸ ื“ื™ืกืงืก ืœืึธื–ืŸ ืคื™ืœ ืฆื• ื–ื™ื™ืŸ ื’ืขื•ื•ืืœื˜ (ืื™ืจ ืงืขื ืขืŸ ืœื™ื™ืขื ืขืŸ ื“ืึธ).

ืกืึธืฃ

ื“ืขืจ ืึทืจื˜ื™ืงืœ ื‘ืืฉืจื™ื™ื‘ื˜ ื“ื™ ืคื•ื ืงื˜ืŸ ื•ื•ืึธืก ืื•ื ื“ื–ืขืจ ืžืึทื ืฉืึทืคึฟื˜ ืคืจื•ื•ื•ื˜ ืฆื• ื ืึธื›ืงื•ืžืขืŸ ืžื™ื˜. ื“ืึธืก ืื™ื– ื ื™ืฉื˜ ืึท ืฉืจื™ื˜-ื“ื•ืจืš-ืฉืจื™ื˜ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ ืึทืงืฉืึทื ื–, ืึธื‘ืขืจ ืึธืคึผืฆื™ืขืก ื•ื•ืึธืก ืงืขืŸ ื–ื™ื™ืŸ ื ื•ืฆื™ืง ืคึฟืึทืจ ืึธืคึผื˜ื™ืžื™ื–ื™ื ื’ ืงื ื•ื™ืœ ืึธื•ื•ื•ืขืจื›ืขื“. ืขืก ืื™ื– ืงืœืึธืจ ืึทื– ื™ืขื“ืขืจ ืงื ื•ื™ืœ ืื™ื– ื™ื™ื ืฆื™ืง ืื™ืŸ ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื•ื•ืขื’, ืื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืกืึทืœื•ืฉืึทื ื– ืงืขื ืขืŸ ื–ื™ื™ืŸ ื–ื™ื™ืขืจ ืึทื ื“ืขืจืฉ, ืึทื–ื•ื™ ืขืก ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ื˜ืฉื™ืงืึทื•ื•ืข ืฆื• ื‘ืึทืงื•ืžืขืŸ ื“ื™ื™ืŸ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ ื•ื•ืขื’ืŸ ื•ื•ื™ ืื™ืจ ืžืึธื ื™ื˜ืึธืจ ื“ื™ื™ืŸ Kubernetes ืงื ื•ื™ืœ ืื•ืŸ ื•ื•ื™ ืื™ืจ ืคึฟืึทืจื‘ืขืกืขืจืŸ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’. ื™ื™ึทื ื˜ื™ื™ืœืŸ ื“ื™ื™ืŸ ื“ืขืจืคืึทืจื•ื ื’ ืื™ืŸ ื“ื™ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ, ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื˜ืฉื™ืงืึทื•ื•ืข ืฆื• ื•ื•ื™ืกืŸ.

ืžืงื•ืจ: www.habr.com