เชฒเซเชเชจเซ เช
เชจเซเชตเชพเชฆ เชเซเชฐเซเชธเชจเซ เชถเชฐเซเชเชคเชจเซ เชชเซเชฐเซเชตเชธเชเชงเซเชฏเชพเช เชคเซเชฏเชพเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเชคเซ
เชเซเชฌเชฐเชจเซเชเซเชธ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชคเซ เชตเชเชคเซ เชเซเชฒเชพเชเชก เชเชฐเซเชเชฎเชพเช เชเซเชตเซ เชฐเซเชคเซ เชฌเชเชค เชเชฐเชตเซ? เชคเซเชฏเชพเช เชเซเช เชเช เช เชฏเซเชเซเชฏ เชเชเซเชฒ เชจเชฅเซ, เชชเชฐเชเชคเซ เช เชฒเซเช เชเชฃเชพ เชธเชพเชงเชจเซเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเซ เชเซ เชเซ เชคเชฎเชจเซ เชคเชฎเชพเชฐเชพ เชธเชเชธเชพเชงเชจเซเชจเซ เชตเชงเซ เช
เชธเชฐเชเชพเชฐเช เชฐเซเชคเซ เชธเชเชเชพเชฒเชฟเชค เชเชฐเชตเชพเชฎเชพเช เช
เชจเซ เชคเชฎเชพเชฐเชพ เชเซเชฒเชพเชเชก เชเชฎเซเชชเซเชฏเซเชเชฟเชเช เชเชฐเซเชเชจเซ เชเชเชพเชกเชตเชพเชฎเชพเช เชฎเชฆเชฆ เชเชฐเซ เชถเชเซ เชเซ.
เชฎเซเช เช เชฒเซเช AWS เชฎเชพเชเซ เชเซเชฌเชฐเชจเซเชเซเชธเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฐเชพเชเซเชจเซ เชฒเชเซเชฏเซ เชเซ, เชชเชฐเชเชคเซ เชคเซ เช
เชจเซเชฏ เชเซเชฒเชพเชเชก เชชเซเชฐเชฆเชพเชคเชพเชเชจเซ (เชฒเชเชญเช) เชฌเชฐเชพเชฌเชฐ เช เช เชฐเซเชคเซ เชฒเชพเชเซ เชฅเชถเซ. เชนเซเช เชงเชพเชฐเซ เชฐเชนเซเชฏเซ เชเซเช เชเซ เชคเชฎเชพเชฐเชพ เชเซเชฒเชธเซเชเชฐ(เช) เชชเชนเซเชฒเชพเชฅเซ เช เชเชเซเชธเซเชเซเชฒเชฟเชเช เชเซเช เชตเซเชฒ เชเซ (
เช เชฒเซเช เชเชตเชฐเซ เชฒเซเชถเซ:
- เชจ เชตเชชเชฐเชพเชฏเซเชฒ เชธเชเชธเชพเชงเชจเซเชจเซ เชธเชซเชพเช (
เชเซเชฌเซ-เชฆเชฐเชตเชพเชจ ) - เชฌเชฟเชจ-เชเชพเชฐเซเชฏเชเชพเชฐเซ เชเชฒเชพเชเซ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชธเซเชเซเชฒเชฟเชเช เชเชเชพเชกเซ (
เชเซเชฏเซเชฌเซ-เชกเชพเชเชจเชธเซเชเซเชฒเชฐ ) - เชนเซเชฐเซเชเซเชจเซเชเชฒ เชเชเซเชธเซเชเซเชฒเชฟเชเช (HPA) เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ,
- เช
เชคเชฟเชถเชฏ เชธเชเชธเชพเชงเชจ เชเชฐเชเซเชทเชฃเชฎเชพเช เชเชเชพเชกเซ (
kube-เชธเชเชธเชพเชงเชจ-เช เชนเซเชตเชพเชฒ , VPA) - เชธเซเชชเซเช เชเชฆเชพเชนเชฐเชฃเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ
เชจ เชตเชชเชฐเชพเชฏเซเชฒ เชธเชเชธเชพเชงเชจเซเชจเซ เชธเชซเชพเช
เชเชกเชชเซ เชเชคเชฟเชถเซเชฒ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช เชเชพเชฎ เชเชฐเชตเซเช เช เชฎเชนเชพเชจ เชเซ. เช
เชฎเชจเซ เชเซเช เชธเชเชธเซเชฅเชพเช เชเซเชเช เชเซ
(เชนเซเชจเชฟเชเช เชเซเชเซเชฌเซเชธ:
เชเซเชเชพ:
(เช
เชตเชคเชฐเชฃ) เชเซเชฐเซ เชเซเชตเชฟเชจ:
เชฎเชพเชจเซเชฏเชคเชพ: เชคเชฎเชพเชฐเซเช AWS เชเชเชพเชเชจเซเช เชคเชฎเชพเชฐเซ เชชเชพเชธเซเชจเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชเชจเซ เชธเชเชเซเชฏเชพเชจเซเช เชเชพเชฐเซเชฏ เชเซ.
เชนเชเซเชเชค: เชคเชฎเชพเชฐเซ AWS เชธเซเชเซเชฐ เช เชคเชฎเชพเชฐเซ เชชเชพเชธเซเชจเชพ เชเชจเซเชเชฟเชจเชฟเชฏเชฐเซเชจเซ เชธเชเชเซเชฏเชพเชจเซเช เชเชพเชฐเซเชฏ เชเซ.
เชเชตเชพเชจ เชเซเชฐเซเชจเซเชธเซเชต (เชเชตเชพเชฌเชฎเชพเช):
เชตเชพเชธเซเชคเชตเชฟเช เชนเชเซเชเชค: เชคเชฎเชพเชฐเซ AWS เชธเซเชเซเชฐ เช เชตเชธเซเชคเซเชเชจเซ เชธเชเชเซเชฏเชพเชจเซเช เชเชพเชฐเซเชฏ เชเซ เชเซ เชคเชฎเซ เช
เชเซเชทเชฎ/เชเชพเชขเซ เชจเชพเชเชตเชพเชจเซเช เชญเซเชฒเซ เชเชฏเชพ เชเซ.)
- เชเซเชฒเชธเซเชเชฐ-เชตเซเชฏเชพเชชเซ เชจเชฟเชฏเชฎเซ PR/เชเซเชธเซเช เชกเชฟเชชเซเชฒเซเชฏเชฎเซเชจเซเช เชฎเชพเชเซ เชฎเชนเชคเซเชคเชฎ เชธเชฎเชฏ-เชเซ-เชฒเชพเชเชต (TTL) เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเซ เชถเชเซ เชเซ.
- เชฆเชฐเชตเชพเชจ/ttl เชตเชกเซ เชตเซเชฏเชเซเชคเชฟเชเชค เชธเชเชธเชพเชงเชจเซเชจเซ เชเซเชเชพ เชเชฐเซ เชถเชเชพเชฏ เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ 7 เชฆเชฟเชตเชธ เชชเชเซ เชธเซเชชเชพเชเช/เชชเซเชฐเซเชเซเชเชพเชเชชเชจเซ เชเชชเชฎเซเชณเซ เชฆเซเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ.
เชธเชพเชฎเชพเชจเซเชฏ เชจเชฟเชฏเชฎเซ YAML เชซเชพเชเชฒเชฎเชพเช เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชฅเชฏเซเชฒ เชเซ. เชคเซเชจเซ เชฎเชพเชฐเซเช เชชเชฐเชฟเชฎเชพเชฃเชฎเชพเชเชฅเซ เชชเชธเชพเชฐ เชฅเชพเชฏ เชเซ --rules-file
เชเซเชฌเซ-เชฆเชฐเชตเชพเชจ เชฎเชพเช. เชธเชพเชฅเซเชจเซ เชคเชฎเชพเชฎ เชจเซเชฎเชธเซเชชเซเชธเชจเซ เชฆเซเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ เช
เชนเซเช เชเช เชเชฆเชพเชนเชฐเชฃ เชจเชฟเชฏเชฎ เชเซ -pr-
เชฌเซ เชฆเชฟเชตเชธ เชชเชเซ เชจเชพเชฎ เชชเชฐ:
- id: cleanup-resources-from-pull-requests
resources:
- namespaces
jmespath: "contains(metadata.name, '-pr-')"
ttl: 2d
เชจเซเชเซเชจเซเช เชเชฆเชพเชนเชฐเชฃ 2020 เชฎเชพเช เชคเชฎเชพเชฎ เชจเชตเชพ เชกเชฟเชชเซเชฒเซเชฏเชฎเซเชจเซเช/เชธเซเชเซเชเชซเซเชฒเชธเซเชเซเชธ เชฎเชพเชเซ เชกเชฟเชชเซเชฒเซเชฏเชฎเซเชจเซเช เช เชจเซ เชธเซเชเซเชเชซเซเชฒเชธเซเช เชชเซเชกเซเชธ เชชเชฐ เชเชชเซเชฒเชฟเชเซเชถเชจ เชฒเซเชฌเชฒเชจเชพ เชเชชเชฏเซเชเชจเซ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเซ เชเซ, เชชเชฐเชเชคเซ เชคเซ เช เชธเชฎเชฏเซ เชเช เช เช เชตเชพเชกเชฟเชฏเชพ เชฎเชพเชเซ เช เชฒเซเชฌเชฒ เชตเชฟเชจเชพ เชชเชฐเซเชเซเชทเชฃเซ เชเชฒเชพเชตเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ:
- id: require-application-label
# ัะดะฐะปะธัั deployments ะธ statefulsets ะฑะตะท ะผะตัะบะธ "application"
resources:
- deployments
- statefulsets
# ัะผ. http://jmespath.org/specification.html
jmespath: "!(spec.template.metadata.labels.application) && metadata.creationTimestamp > '2020-01-01'"
ttl: 7d
เชเซเชฌเซ-เชฆเชฐเชตเชพเชจ เชเชพเชฒเชคเชพ เชเซเชฒเชธเซเชเชฐ เชชเชฐ 30 เชฎเชฟเชจเชฟเช เชฎเชพเชเซ เชธเชฎเชฏ-เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชกเซเชฎเซ เชเชฒเชพเชตเซ:
kubectl run nginx-demo --image=nginx
kubectl annotate deploy nginx-demo janitor/ttl=30m
เชตเชงเชคเชพ เชเชฐเซเชเชจเซ เชฌเซเชเซ เชธเซเชคเซเชฐเซเชค เชชเชฐเซเชธเชฟเชธเซเชเชจเซเช เชตเซเชฒเซเชฏเซเชฎเซเชธ (AWS EBS) เชเซ. Kubernetes StatefulSet เชเชพเชขเซ เชจเชพเชเชตเชพเชฅเซ เชคเซเชจเชพ เชชเชฐเซเชธเชฟเชธเซเชเชจเซเช เชตเซเชฒเซเชฏเซเชฎเซเชธ (PVC - PersistentVolumeClaim) เชกเชฟเชฒเซเช เชฅเชคเชพ เชจเชฅเซ. เชฌเชฟเชจเชเชชเชฏเซเชเซ EBS เชตเซเชฒเซเชฏเซเชฎ เชธเชฐเชณเชคเชพเชฅเซ เชฆเชฐ เชฎเชนเชฟเชจเซ เชธเซเชเชเชกเซ เชกเซเชฒเชฐเชจเชพ เชเชฐเซเชเชฎเชพเช เชชเชฐเชฟเชฃเชฎเซ เชถเชเซ เชเซ. เชจ เชตเชชเชฐเชพเชฏเซเชฒ เชชเซเชตเซเชธเซเชจเซ เชธเชพเชซ เชเชฐเชตเชพ เชฎเชพเชเซ เชเซเชฌเชฐเชจเซเชเชธ เชฆเชฐเชตเชพเชจ เชชเชพเชธเซ เชธเซเชตเชฟเชงเชพ เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เช เชจเชฟเชฏเชฎ เชคเชฎเชพเชฎ PVC เชจเซ เชฆเซเชฐ เชเชฐเชถเซ เชเซ เชฎเซเชกเซเชฏเซเชฒ เชฆเซเชตเชพเชฐเชพ เชฎเชพเชเชจเซเช เชฅเชฏเซเชฒ เชจเชฅเซ เช เชจเซ เชเซ เชธเซเชเซเชเชซเซเชฒเชธเซเช เช เชฅเชตเชพ เชเซเชฐเซเชจเชเซเชฌ เชฆเซเชตเชพเชฐเชพ เชธเชเชฆเชฐเซเชญเชฟเชค เชจเชฅเซ:
# ัะดะฐะปะธัั ะฒัะต PVC, ะบะพัะพััะต ะฝะต ัะผะพะฝัะธัะพะฒะฐะฝั ะธ ะฝะฐ ะบะพัะพััะต ะฝะต ัััะปะฐัััั StatefulSets
- id: remove-unused-pvcs
resources:
- persistentvolumeclaims
jmespath: "_context.pvc_is_not_mounted && _context.pvc_is_not_referenced"
ttl: 24h
Kubernetes Janitor เชคเชฎเชจเซ เชคเชฎเชพเชฐเชพ เชเซเชฒเชธเซเชเชฐเชจเซ เชธเซเชตเชเซเช เชฐเชพเชเชตเชพเชฎเชพเช เช
เชจเซ เชเซเชฒเชพเชเชก เชเชฎเซเชชเซเชฏเซเชเชฟเชเช เชเชฐเซเชเชจเซ เชงเซเชฎเซ เชงเซเชฎเซ เชตเชงเชคเชพ เช
เชเชเชพเชตเชตเชพเชฎเชพเช เชฎเชฆเชฆ เชเชฐเซ เชถเชเซ เชเซ. เชเชฎเชพเชตเช เช
เชจเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชธเซเชเชจเชพเช เชฎเชพเชเซ, เช
เชจเซเชธเชฐเซ
เชฌเชฟเชจ-เชเชพเชฐเซเชฏเชเชพเชฐเซ เชเชฒเชพเชเซ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชธเซเชเซเชฒเชฟเชเช เชเชเชพเชกเซ
เชเซเชธเซเช เช เชจเซ เชธเซเชเซเชเซเชเช เชธเชฟเชธเซเชเชฎเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชเชพเชฎเชเชพเชเชจเชพ เชเชฒเชพเชเซ เชฆเชฐเชฎเชฟเชฏเชพเชจ เช เชเชชเชฐเซเชถเชจ เชฎเชพเชเซ เชเชฐเซเชฐเซ เชเซ. เชเซเชเชฒเซเช เชชเซเชฐเซเชกเชเซเชถเชจ เชเชชเซเชฒเชฟเชเซเชถเชจเซเชธ, เชเซเชฎ เชเซ เชฌเซเช เชเชซเชฟเชธ/เชเชกเชฎเชฟเชจ เชเซเชฒเซเชธเชจเซ เชชเชฃ เชฎเชพเชคเซเชฐ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชเชชเชฒเชฌเซเชงเชคเชพเชจเซ เชเชฐเซเชฐ เชนเซเชฏ เชเซ เช เชจเซ เชคเซ เชฐเชพเชคเซเชฐเชพเชค เช เชเซเชทเชฎ เชฅเช เชถเชเซ เชเซ.
image: hjacobs/kube-downscaler:20.4.3
args:
- --interval=30
# ะฝะต ะพัะบะปััะฐัั ะบะพะผะฟะพะฝะตะฝัั ะธะฝััะฐััััะบัััั
- --exclude-namespaces=kube-system,infra
# ะฝะต ะพัะบะปััะฐัั kube-downscaler, ะฐ ัะฐะบะถะต ะพััะฐะฒะธัั Postgres Operator, ััะพะฑั ะธัะบะปััะตะฝะฝัะผะธ ะะ ะผะพะถะฝะพ ะฑัะปะพ ัะฟัะฐะฒะปััั
- --exclude-deployments=kube-downscaler,postgres-operator
- --default-uptime=Mon-Fri 08:00-20:00 Europe/Berlin
- --include-resources=deployments,statefulsets,stacks,cronjobs
- --deployment-time-annotation=deployment-time
เช เชนเซเช เชธเชชเซเชคเชพเชนเชจเชพ เช เชเชคเซ เชเซเชฒเชธเซเชเชฐ เชตเชฐเซเชเชฐ เชจเซเชกเซเชธเชจเซ เชฎเชพเชชเชตเชพ เชฎเชพเชเซเชจเซ เชเซเชฐเชพเชซ เชเซ:
~13 เชฅเซ 4 เชตเชฐเซเชเชฐ เชจเซเชกเซเชธเชจเซ เชเชเชพเชกเชตเชพเชฅเซ เชคเชฎเชพเชฐเชพ AWS เชฌเชฟเชฒเชฎเชพเช เชเซเชเซเชเชธเชชเชฃเซ เชจเซเชเชงเชชเชพเชคเซเชฐ เชคเชซเชพเชตเชค เชเชตเซ เชเซ.
เชชเชฐเชเชคเซ เชเซ เชฎเชพเชฐเซ เชเซเชฒเชธเซเชเชฐ "เชกเชพเชเชจเชเชพเชเชฎ" เชฆเชฐเชฎเชฟเชฏเชพเชจ เชเชพเชฎ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชนเซเชฏ เชคเซ เชถเซเช? เช
เชฎเซเช เชเชฎเชพเชตเชเชจเซ เชกเชพเชเชจเชธเซเชเซเชฒเชฐ/เชฌเชพเชเชพเชค: เชธเชพเชเซ เชเซเชเชพ เชเชฎเซเชฐเซเชจเซ เชธเซเชเซเชฒเชฟเชเชเชฎเชพเชเชฅเซ เชเชพเชฏเชฎ เชฎเชพเชเซ เชฌเชพเชเชพเชค เชเชฐเซ เชถเชเชพเชฏ เชเซ. YYYY-MM-DD HH:MM (UTC). เชเซ เชเชฐเซเชฐเซ เชนเซเชฏ เชคเซ, เชเชจเซเชเซเชถเชจ เชธเชพเชฅเซ เชชเซเชก เชเซเช เชตเซเชจเซ เชธเชฎเชเซเชฐ เชเซเชฒเชธเซเชเชฐเชจเซ เชชเชพเชเซเช เชฎเชพเชชเซ เชถเชเชพเชฏ เชเซ downscaler/force-uptime
, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, nginx เชเชพเชฒเซ เชฒเซเชจเซเช เชเชฐเซเชจเซ:
kubectl run scale-up --image=nginx
kubectl annotate deploy scale-up janitor/ttl=1h # ัะดะฐะปะธัั ัะฐะทะฒะตัััะฒะฐะฝะธะต ัะตัะตะท ัะฐั
kubectl annotate pod $(kubectl get pod -l run=scale-up -o jsonpath="{.items[0].metadata.name}") downscaler/force-uptime=true
เชเซเช
เชเชกเซ เชเชเซเชธเซเชเซเชฒเชฟเชเชเชจเซ เชเชชเชฏเซเช เชเชฐเซ
เชเชฃเซ เชเชชเซเชฒเชฟเชเซเชถเชจเซเชธ/เชธเซเชตเชพเช เชเชคเชฟเชถเซเชฒ เชฒเซเชกเชฟเชเช เชชเซเชเชฐเซเชจ เชธเชพเชฅเซ เชตเซเชฏเชตเชนเชพเชฐ เชเชฐเซ เชเซ: เชเซเชเชฒเซเชเชตเชพเชฐ เชคเซเชฎเชจเชพ เชฎเซเชกเซเชฏเซเชฒเซ เชจเชฟเชทเซเชเซเชฐเชฟเชฏ เชนเซเชฏ เชเซ, เช
เชจเซ เชเซเชเชฒเซเชเชตเชพเชฐ เชคเซเช เชธเชเชชเซเชฐเซเชฃ เชเซเชทเชฎเชคเชพ เชชเชฐ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ. เชฎเชนเชคเซเชคเชฎ เชชเซเช เชฒเซเชกเชจเซ เชธเชพเชฎเชจเซ เชเชฐเชตเชพ เชฎเชพเชเซ เชชเซเชกเซเชธเชจเชพ เชเชพเชฏเชฎเซ เชเชพเชซเชฒเชพเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเชตเซเช เชเชฐเซเชฅเชฟเช เชจเชฅเซ. Kubernetes เชธเชฎเชเซเชฐ เชธเชเชธเชพเชงเชจเชฎเชพเช เชเชกเซ เชเชเซ-เชธเซเชเซเชฒเชฟเชเชเชจเซ เชธเชชเซเชฐเซเช เชเชฐเซ เชเซ
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: my-app
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: my-app
minReplicas: 3
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
averageUtilization: 100
type: Utilization
Zalando เช เชธเซเชเซเชฒเชฟเชเช เชฎเชพเชเซ เชเชธเซเชเชฎ เชฎเซเชเซเชฐเชฟเชเซเชธเชจเซ เชธเชฐเชณเชคเชพเชฅเซ เชเชจเซเชเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชเช เชเชเช เชฌเชจเชพเชตเซเชฏเซเช เชเซ:
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: myapp-hpa
annotations:
# metric-config.<metricType>.<metricName>.<collectorName>/<configKey>
metric-config.pods.requests-per-second.json-path/json-key: "$.http_server.rps"
metric-config.pods.requests-per-second.json-path/path: /metrics
metric-config.pods.requests-per-second.json-path/port: "9090"
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: myapp
minReplicas: 1
maxReplicas: 10
metrics:
- type: Pods
pods:
metric:
name: requests-per-second
target:
averageValue: 1k
type: AverageValue
เชธเซเชเซเชเชฒเซเชธ เชธเซเชตเชพเช เชฎเชพเชเซ เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพ เชธเซเชงเชพเชฐเชตเชพ เชฎเชพเชเซ เชเชเชชเซเช เชธเชพเชฅเซ เชเชกเซ เชเชเซเชธเซเชเซเชฒเชฟเชเชเชจเซ เชเซเช เชตเชตเซ เช เชกเชฟเชซเซเชฒเซเช เชเซเชฐเชฟเชฏเชพเชเชฎเชพเชเชจเซ เชเช เชนเซเชตเซ เชเซเชเช. Spotify เชชเชพเชธเซ เชคเซเชฎเชจเชพ เช
เชจเซเชญเชต เช
เชจเซ HPA เชฎเชพเชเซเชจเซ เชญเชฒเชพเชฎเชฃเซ เชธเชพเชฅเซ เชชเซเชฐเชธเซเชคเซเชคเชฟ เชเซ:
เชธเชเชธเชพเชงเชจ เชเชตเชฐเชฌเซเชเชฟเชเช เชเชเชพเชกเซ
เชเซเชฌเชฐเชจเซเชเซเชธ เชตเชฐเซเชเชฒเซเชก "เชธเชเชธเชพเชงเชจ เชตเชฟเชจเชเชคเซเช" เชฆเซเชตเชพเชฐเชพ เชคเซเชฎเชจเซ CPU/เชฎเซเชฎเชฐเซ เชเชฐเซเชฐเชฟเชฏเชพเชคเซ เชจเชเซเชเซ เชเชฐเซ เชเซ. CPU เชธเชเชธเชพเชงเชจเซ เชตเชฐเซเชเซเชฏเซเช
เชฒ เชเซเชฐเซเชฎเชพเช เช
เชฅเชตเชพ เชตเชงเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ "เชฎเชฟเชฒเซเชเซเชฐ" เชฎเชพเช เชฎเชพเชชเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ 500m 50% vCPU เชธเซเชเชตเซ เชเซ. เชฎเซเชฎเชฐเซ เชธเชเชธเชพเชงเชจเซ เชฌเชพเชเชเซเชธเชฎเชพเช เชฎเชพเชชเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เช
เชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชชเซเชฐเชคเซเชฏเชฏเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเชพเชฏ เชเซ, เชเซเชฎ เชเซ 500Mi, เชเซเชจเซ เช
เชฐเซเชฅ เชฅเชพเชฏ เชเซ 500 เชฎเซเชเชพเชฌเชพเชเชเซเชธ. เชธเชเชธเชพเชงเชจ เชตเชฟเชจเชเชคเซเช เชตเชฐเซเชเชฐ เชจเซเชกเซเชธ เชชเชฐ "เชฒเซเช" เชเซเชทเชฎเชคเชพ เชงเชฐเชพเชตเซ เชเซ, เชเชเชฒเซ เชเซ 1000 vCPU เชธเชพเชฅเซ เชจเซเชก เชชเชฐ 4m CPU เชตเชฟเชจเชเชคเซ เชธเชพเชฅเซเชจเซ เชชเซเชก เช
เชจเซเชฏ เชชเซเชกเซเชธ เชฎเชพเชเซ เชฎเชพเชคเซเชฐ 3 vCPUs เชเชชเชฒเชฌเซเชง เชฐเชนเซเชถเซ.
เชธเซเชฒเซเช (เชตเชงเชพเชฐเซ เช
เชจเชพเชฎเชค) เชตเชฟเชจเชเชคเซ เชเชฐเซเชฒ เชธเชเชธเชพเชงเชจเซ เช
เชจเซ เชตเชพเชธเซเชคเชตเชฟเช เชเชชเชฏเซเช เชตเชเซเชเซเชจเซ เชคเชซเชพเชตเชค เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชชเซเชก เชเซ เชเซ 2 GiB เชฎเซเชฎเชฐเซเชจเซ เชตเชฟเชจเชเชคเซ เชเชฐเซ เชเซ เชชเชฐเชเชคเซ เชฎเชพเชคเซเชฐ 200 MiB เชตเชพเชชเชฐเซ เชเซ เชคเซเชฎเชพเช ~1,8 GiB "เชตเชงเชพเชฐเชพเชจเซ" เชฎเซเชฎเชฐเซ เชนเซเชฏ เชเซ. เชตเชงเซ เชชเชกเชคเชพ เชชเซเชธเชพ เชเชฐเซเช เชฅเชพเชฏ เชเซ. เชเซเช เช
เชเชฆเชพเชเซ เช
เชเชฆเชพเช เชฒเชเชพเชตเซ เชถเชเซ เชเซ เชเซ 1 GiB เชฐเซเชกเชจเซเชกเชจเซเช เชฎเซเชฎเชฐเซเชจเซ เชเชฐเซเช เชฆเชฐ เชฎเชนเชฟเชจเซ ~$10 เชเซ.
CPU เชตเชฟเชจเชเชคเซเชจเซ 3000m เชฅเซ ~400m เชธเซเชงเซ เชเชเชพเชกเชตเชพเชฅเซ เช
เชจเซเชฏ เชตเชฐเซเชเชฒเซเชก เชฎเชพเชเซ เชธเชเชธเชพเชงเชจเซ เชฎเซเชเซเชค เชฅเชพเชฏ เชเซ เช
เชจเซ เชเซเชฒเชธเซเชเชฐเชจเซ เชจเชพเชจเซเช เชฅเชตเชพ เชฆเซ เชเซ.
"EC2 เชเชฆเชพเชนเชฐเชฃเซเชจเซ เชธเชฐเซเชฐเชพเชถ CPU เชเชชเชฏเซเช เชเชฃเซเชตเชพเชฐ เชธเชฟเชเชเชฒ-เชกเชฟเชเชฟเช เชเชเชพเชตเชพเชฐเซเชจเซ เชถเซเชฐเซเชฃเซเชฎเชพเช เชฐเชนเซ เชเซ,"
เชชเชฐเชเชคเซ เชถเซเช เชเชชเชฃเซ เชเชฐเซเชเชฐ เชเชเซเชเซเช เชเซเช เชเซ เชฒเซเชเซ YAML เชซเชพเชเชฒเซเชฎเชพเช เชฎเซเชฒเซเชฏเซ เชฌเชฆเชฒเซ? เชจเชพ, เชฎเชถเซเชจเซ เชคเซ เชตเชงเซ เชธเชพเชฐเซ เชฐเซเชคเซ เชเชฐเซ เชถเชเซ เชเซ! เชเซเชฌเชฐเชจเซเชเซเชธ
เชฎเซเช เชเช เชจเชพเชจเซเช เชฒเชเซเชฏเซเช
EC2 เชธเซเชชเซเช เชเชจเซเชธเซเชเชจเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ
เชเซเชฒเซเชฒเซเช เชชเชฐเชเชคเซ เชเชเชพเชฎเชพเช เชเชเซเช เชจเชนเซเช, AWS EC2 เชเชฐเซเชเชจเซ เชเซเชฌเชฐเชจเซเชเซเชธ เชตเชฐเซเชเชฐ เชจเซเชกเซเชธ เชคเชฐเซเชเซ เชธเซเชชเซเช เชเชจเซเชธเซเชเชจเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชเชพเชกเซ เชถเชเชพเชฏ เชเซ.
EC2 เชธเซเชชเซเช เชชเชฐ เชเซเชฌเชฐเชจเซเชเซเชธ เชเซเชตเซ เชฐเซเชคเซ เชเชฒเชพเชตเชตเซเช? เชคเซเชฏเชพเช เชเชฃเชพ เชฌเชงเชพ เชตเชฟเชเชฒเซเชชเซ เชเซ: SpotInst เชเซเชตเซ เชคเซเชคเซเชฏ เชชเชเซเชท เชธเซเชตเชพเชจเซ เชเชชเชฏเซเช เชเชฐเซ (เชนเชตเซ "เชธเซเชชเซเช" เชเชนเซเชตเชพเชฏ เชเซ, เชฎเชจเซ เชเซเชฎ เชชเซเชเชถเซ เชจเชนเซเช), เช เชฅเชตเชพ เชซเชเซเชค เชคเชฎเชพเชฐเชพ เชเซเชฒเชธเซเชเชฐเชฎเชพเช Spot AutoScalingGroup (ASG) เชเชฎเซเชฐเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชฌเชนเซเชตเชฟเชง เชเชจเซเชธเซเชเชจเซเชธ เชชเซเชฐเชเชพเชฐเซ เชธเชพเชฅเซ "เชเซเชทเชฎเชคเชพ-เชเชชเซเชเชฟเชฎเชพเชเช" เชธเซเชชเซเช ASG เชฎเชพเชเซ เช เชนเซเช เชเซเชฒเชพเชเชกเชซเซเชฐเซเชฎเซเชถเชจ เชธเซเชจเชฟเชชเซเช เชเซ:
MySpotAutoScalingGroup:
Properties:
HealthCheckGracePeriod: 300
HealthCheckType: EC2
MixedInstancesPolicy:
InstancesDistribution:
OnDemandPercentageAboveBaseCapacity: 0
SpotAllocationStrategy: capacity-optimized
LaunchTemplate:
LaunchTemplateSpecification:
LaunchTemplateId: !Ref LaunchTemplate
Version: !GetAtt LaunchTemplate.LatestVersionNumber
Overrides:
- InstanceType: "m4.2xlarge"
- InstanceType: "m4.4xlarge"
- InstanceType: "m5.2xlarge"
- InstanceType: "m5.4xlarge"
- InstanceType: "r4.2xlarge"
- InstanceType: "r4.4xlarge"
LaunchTemplate:
LaunchTemplateId: !Ref LaunchTemplate
Version: !GetAtt LaunchTemplate.LatestVersionNumber
MinSize: 0
MaxSize: 100
Tags:
- Key: k8s.io/cluster-autoscaler/node-template/label/aws.amazon.com/spot
PropagateAtLaunch: true
Value: "true"
เชเซเชฌเชฐเชจเซเชเซเชธ เชธเชพเชฅเซ เชธเซเชชเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเซเชจเซ เชเซเชเชฒเซเช เชจเซเชเชงเซ:
- เชคเชฎเชพเชฐเซ เชธเซเชชเซเช เชเชฐเซเชฎเชฟเชจเซเชถเชจเชจเซ เชนเซเชจเซเชกเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ เชเซเชฏเชพเชฐเซ เชเชจเซเชธเซเชเชจเซเชธ เชฌเชเชง เชฅเชพเชฏ เชคเซเชฏเชพเชฐเซ เชจเซเชกเชจเซ เชฎเชฐเซเช เชเชฐเซเชจเซ
- Zalando เชเชชเชฏเซเช เชเชฐเซ เชเซ
เชเชพเชเชเซ เชจเซเชก เชชเซเชฒ เชชเซเชฐเชพเชฅเชฎเชฟเชเชคเชพเช เชธเชพเชฅเซ เชธเชคเซเชคเชพเชตเชพเชฐ เชเซเชฒเชธเซเชเชฐ เชเชเซเชธเซเชเซเชฒเชฟเชเช - เชธเซเชชเซเช เชจเซเชกเซเชธ
เชฆเชฌเชพเชฃ เชเชฐเซ เชถเชเชพเชฏ เชเซ เชธเซเชชเซเชเชฎเชพเช เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ เชตเชฐเซเชเชฒเซเชกเชจเซ "เชจเซเชเชงเชฃเซ" เชธเซเชตเซเชเชพเชฐเซ
เชธเชพเชฐเชพเชเชถ
เชนเซเช เชเชถเชพ เชฐเชพเชเซเช เชเซเช เชเซ เชคเชฎเชจเซ เชคเชฎเชพเชฐเชพ เชเซเชฒเชพเชเชก เชฌเชฟเชฒเชจเซ เชเชเชพเชกเชตเชพเชฎเชพเช เชชเซเชฐเชธเซเชคเซเชค เชเซเชเชฒเชพเช เชธเชพเชงเชจเซ เชเชชเชฏเซเชเซ เชฒเชพเชเชถเซ. เชคเชฎเซ เชฒเซเชเชจเซ เชฎเซเชเชพเชญเชพเชเชจเซ เชธเชพเชฎเชเซเชฐเซเช เช
เชนเซเช เชชเชฃ เชฎเซเชณเชตเซ เชถเชเซ เชเซ
เชเซเชฌเชฐเชจเซเชเซเชธ เชชเชฐ เชเซเชฒเชพเชเชก เชเชฐเซเช เชฌเชเชพเชตเชตเชพ เชฎเชพเชเซ เชคเชฎเชพเชฐเซ เชถเซเชฐเซเชทเซเช เชชเชฆเซเชงเชคเชฟเช เชถเซเช เชเซ? เชเซเชชเชพ เชเชฐเซเชจเซ เชฎเชจเซ เชเชฃเชพเชตเซ
เชธเซเชฐเซเชธ: www.habr.com