ื—ืžืฉ ื”ื—ืžืฆื•ืช ื‘ืขืช ืคืจื™ืกืช ื”ืืคืœื™ืงืฆื™ื” ื”ืจืืฉื•ื ื” ื‘-Kubernetes

ื—ืžืฉ ื”ื—ืžืฆื•ืช ื‘ืขืช ืคืจื™ืกืช ื”ืืคืœื™ืงืฆื™ื” ื”ืจืืฉื•ื ื” ื‘-Kubernetesื›ื™ืฉืœื•ืŸ ืžืืช ืืจื™ืก-ื“ืจื™ืžืจ

ืื ืฉื™ื ืจื‘ื™ื ืžืืžื™ื ื™ื ืฉืžืกืคื™ืง ืœื”ืขื‘ื™ืจ ืืช ื”ืืคืœื™ืงืฆื™ื” ืœ-Kubernetes (ื‘ืืžืฆืขื•ืช Helm ืื• ื™ื“ื ื™ืช) ื•ื”ื ื™ืฉืžื—ื•. ืื‘ืœ ื–ื” ืœื ื›ืœ ื›ืš ืคืฉื•ื˜.

ืงื‘ื•ืฆื” ืคืชืจื•ื ื•ืช ืขื ืŸ ืฉืœ Mail.ru ืชืจื’ื ืžืืžืจ ืžืืช ืžื”ื ื“ืก DevOps ื’'ื•ืœื™ืืŸ ื’ื™ื ื“ื™. ื”ื•ื ืžืฉืชืฃ ื‘ืื™ืœื• ืžืœื›ื•ื“ื•ืช ื ืงืœืขื” ื”ื—ื‘ืจื” ืฉืœื• ื‘ืžื”ืœืš ืชื”ืœื™ืš ื”ื”ื’ื™ืจื” ื›ื“ื™ ืฉืœื ืชื“ืจื•ืš ืขืœ ืื•ืชื” ื’ืจื™ืคื”.

ืฉืœื‘ ืจืืฉื•ืŸ: ื”ื’ื“ืจืช ื‘ืงืฉื•ืช ื•ืžื’ื‘ืœื•ืช ืฉืœ ืคื•ื“

ื ืชื—ื™ืœ ื‘ื”ืงืžืช ืกื‘ื™ื‘ื” ื ืงื™ื™ื” ื‘ื” ื”ืคื•ื“ ืฉืœื ื• ื™ืคืขืœ. Kubernetes ืขื•ืฉื” ืขื‘ื•ื“ื” ื ื”ื“ืจืช ื‘ืชื–ืžื•ืŸ ืชืจืžื™ืœื™ื ื•ื‘ื˜ื™ืคื•ืœ ื‘ืžืฆื‘ื™ ื›ืฉืœ. ืื‘ืœ ื”ืชื‘ืจืจ ืฉื”ืžืชื–ืžืŸ ืœืคืขืžื™ื ืœื ื™ื›ื•ืœ ืœืžืงื ืคื•ื“ ืื ืงืฉื” ืœื”ืขืจื™ืš ื›ืžื” ืžืฉืื‘ื™ื ื”ื•ื ืฆืจื™ืš ื›ื“ื™ ืœืขื‘ื•ื“ ื‘ื”ืฆืœื—ื”. ื›ืืŸ ืขื•ืœื•ืช ื‘ืงืฉื•ืช ืœืžืฉืื‘ื™ื ื•ืžื’ื‘ืœื•ืช. ื™ืฉ ื”ืจื‘ื” ื•ื™ื›ื•ื—ื™ื ืœื’ื‘ื™ ื”ื’ื™ืฉื” ื”ื˜ื•ื‘ื” ื‘ื™ื•ืชืจ ืœืงื‘ื™ืขืช ื‘ืงืฉื•ืช ื•ืžื’ื‘ืœื•ืช. ืœืคืขืžื™ื ื–ื” ื‘ืืžืช ืžืจื’ื™ืฉ ื›ืื™ืœื• ื–ื” ื™ื•ืชืจ ืืžื ื•ืช ืžืืฉืจ ืžื“ืข. ื”ื ื” ื”ื’ื™ืฉื” ืฉืœื ื•.

ื‘ืงืฉื•ืช ืคื•ื“ - ื–ื”ื• ื”ืขืจืš ื”ืขื™ืงืจื™ ื”ืžืฉืžืฉ ืืช ื”ืžืชื–ืžืŸ ื›ื“ื™ ืœืžืงื ืืช ื”ืชืจืžื™ืœ ื‘ืฆื•ืจื” ืžื™ื˜ื‘ื™ืช.

ืฉืœ ืชื™ืขื•ื“ Kubernetes: ืฉืœื‘ ื”ืกื™ื ื•ืŸ ืงื•ื‘ืข ืืช ืงื‘ื•ืฆืช ื”ืฆืžืชื™ื ืฉื‘ื”ื ื ื™ืชืŸ ืœืชื–ืžืŸ ืืช ื”ืคื•ื“. ืœื“ื•ื’ืžื”, ืžืกื ืŸ PodFitsResources ื‘ื•ื“ืง ืื ืœืฆื•ืžืช ื™ืฉ ืžืกืคื™ืง ืžืฉืื‘ื™ื ื›ื“ื™ ืœืกืคืง ืืช ื‘ืงืฉื•ืช ื”ืžืฉืื‘ ื”ืกืคืฆื™ืคื™ื•ืช ืฉืœ ื”ืคื•ื“.

ืื ื• ืžืฉืชืžืฉื™ื ื‘ื‘ืงืฉื•ืช ื™ื™ืฉื•ืžื™ื ื›ื“ื™ ืฉื ื™ืชืŸ ื™ื”ื™ื” ืœื”ืฉืชืžืฉ ื‘ื”ืŸ ื›ื“ื™ ืœื”ืขืจื™ืš ื›ืžื” ืžืฉืื‘ื™ื ืœืžืขืฉื” ื”ื™ื™ืฉื•ื ื–ืงื•ืง ืœื• ื›ื“ื™ ืœืขื‘ื•ื“ ื›ืจืื•ื™. ื‘ื“ืจืš ื–ื• ื”ืžืชื–ืžืŸ ื™ื›ื•ืœ ืœืžืงื ืฆืžืชื™ื ื‘ืฆื•ืจื” ืžืฆื™ืื•ืชื™ืช. ื‘ืชื—ื™ืœื” ืจืฆื™ื ื• ืœื”ื’ื“ื™ืจ ื‘ืงืฉื•ืช ืขื ืฉื•ืœื™ื™ื ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืฉืœื›ืœ ืคื•ื“ ื™ื”ื™ื” ืžืกืคืจ ื’ื“ื•ืœ ืžืกืคื™ืง ืฉืœ ืžืฉืื‘ื™ื, ืืš ืฉืžื ื• ืœื‘ ืฉืžืฉืžื ื™ ื”ืชื–ืžื•ืŸ ื’ื“ืœื• ืžืฉืžืขื•ืชื™ืช ื•ื—ืœืง ืžื”ืคื•ื“ื™ื ืžืขื•ืœื ืœื ืชื•ื–ืžื ื• ื‘ืžืœื•ืื, ื›ืื™ืœื• ืœื ื”ืชืงื‘ืœื• ื‘ืงืฉื•ืช ืœืžืฉืื‘ื™ื ืขื‘ื•ืจื.

ื‘ืžืงืจื” ื–ื”, ื”ืžืชื–ืžืŸ ื”ื™ื” ื“ื•ื—ืฃ ืชืจืžื™ืœื™ื ื”ื—ื•ืฆื” ื•ืœื ื”ื™ื” ืžืกื•ื’ืœ ืœืชื–ืžืŸ ืื•ืชื ืžื—ื“ืฉ ืžื›ื™ื•ื•ืŸ ืฉืœืžื™ืฉื•ืจ ื”ื‘ืงืจื” ืœื ื”ื™ื” ืžื•ืฉื’ ื›ืžื” ืžืฉืื‘ื™ื ืชื“ืจื•ืฉ ื”ืืคืœื™ืงืฆื™ื”, ืžืจื›ื™ื‘ ืžืจื›ื–ื™ ื‘ืืœื’ื•ืจื™ืชื ื”ืชื–ืžื•ืŸ.

ืžื’ื‘ืœื•ืช ืชืจืžื™ืœื™ื - ื–ื”ื• ื’ื‘ื•ืœ ื‘ืจื•ืจ ื™ื•ืชืจ ืœืชืจืžื™ืœ. ื”ื•ื ืžื™ื™ืฆื’ ืืช ื›ืžื•ืช ื”ืžืฉืื‘ื™ื ื”ืžืงืกื™ืžืœื™ืช ืฉื”ืืฉื›ื•ืœ ื™ืงืฆื” ืœืžื™ื›ืœ.

ืฉื•ื‘, ืž ืชื™ืขื•ื“ ืจืฉืžื™: ืื ืœืžื™ื›ืœ ื™ืฉ ืžื’ื‘ืœืช ื–ื™ื›ืจื•ืŸ ืฉืœ 4 GiB, ืื–ื™ ื”-kubelet (ื•ื–ืžืŸ ื”ืจื™ืฆื” ืฉืœ ื”ืžื™ื›ืœ) ื™ืื›ืคื• ืื•ืชื”. ื–ืžืŸ ื”ืจื™ืฆื” ืื™ื ื• ืžืืคืฉืจ ืœืžื›ื•ืœื” ืœื”ืฉืชืžืฉ ื™ื•ืชืจ ืžืžื’ื‘ืœืช ื”ืžืฉืื‘ื™ื ืฉืฆื•ื™ื ื”. ืœื“ื•ื’ืžื”, ื›ืืฉืจ ืชื”ืœื™ืš ื‘ืงื•ื ื˜ื™ื™ื ืจ ืžื ืกื” ืœื”ืฉืชืžืฉ ื‘ื™ื•ืชืจ ืžื›ืžื•ืช ื”ื–ื™ื›ืจื•ืŸ ื”ืžื•ืชืจืช, ืœื™ื‘ืช ื”ืžืขืจื›ืช ืžืคืกื™ืงื” ืืช ื”ืชื”ืœื™ืš ืขื ืฉื’ื™ืืช "ื—ืกืจ ื–ื™ื›ืจื•ืŸ" (OOM).

ืžื™ื›ืœ ื™ื›ื•ืœ ืชืžื™ื“ ืœื”ืฉืชืžืฉ ื‘ื™ื•ืชืจ ืžืฉืื‘ื™ื ืžืžื” ืฉืฆื•ื™ืŸ ื‘ื‘ืงืฉืช ื”ืžืฉืื‘, ืืš ืœืขื•ืœื ืœื ื™ื•ื›ืœ ืœื”ืฉืชืžืฉ ื‘ื™ื•ืชืจ ืžืžื” ืฉืฆื•ื™ืŸ ื‘ืžื’ื‘ืœื”. ืงืฉื” ืœื”ื’ื“ื™ืจ ืืช ื”ืขืจืš ื”ื–ื” ื‘ืฆื•ืจื” ื ื›ื•ื ื”, ืื‘ืœ ื”ื•ื ื—ืฉื•ื‘ ืžืื•ื“.

ื‘ืื•ืคืŸ ืื™ื“ื™ืืœื™, ืื ื• ืจื•ืฆื™ื ืฉื“ืจื™ืฉื•ืช ื”ืžืฉืื‘ื™ื ืฉืœ ืชืจืžื™ืœ ื™ืฉืชื ื• ื‘ืžื”ืœืš ืžื—ื–ื•ืจ ื”ื—ื™ื™ื ืฉืœ ืชื”ืœื™ืš ืžื‘ืœื™ ืœื”ืคืจื™ืข ืœืชื”ืœื™ื›ื™ื ืื—ืจื™ื ื‘ืžืขืจื›ืช - ื–ื• ื”ืžื˜ืจื” ืฉืœ ื”ืฆื‘ืช ื’ื‘ื•ืœื•ืช.

ืœืฆืขืจื™, ืื ื™ ืœื ื™ื›ื•ืœ ืœืชืช ื”ื ื—ื™ื•ืช ืกืคืฆื™ืคื™ื•ืช ืœื’ื‘ื™ ื”ืขืจื›ื™ื ืœื”ื’ื“ื™ืจ, ืื‘ืœ ืื ื—ื ื• ื‘ืขืฆืžื ื• ืžืงืคื™ื“ื™ื ืขืœ ื”ื›ืœืœื™ื ื”ื‘ืื™ื:

  1. ื‘ืืžืฆืขื•ืช ื›ืœื™ ื‘ื“ื™ืงืช ืขื•ืžืก, ืื ื• ืžื“ืžื™ื ืจืžืช ืชืขื‘ื•ืจื” ื‘ืกื™ืกื™ืช ื•ืžื ื˜ืจื™ื ืืช ื”ืฉื™ืžื•ืฉ ื‘ืžืฉืื‘ื™ ื”ืคื•ื“ (ื–ื™ื›ืจื•ืŸ ื•ืžืขื‘ื“).
  2. ืื ื—ื ื• ืžื’ื“ื™ืจื™ื ืืช ื‘ืงืฉื•ืช ื”ืคื•ื“ ืœืขืจืš ื ืžื•ืš ื‘ืื•ืคืŸ ืฉืจื™ืจื•ืชื™ (ืขื ื”ื’ื‘ืœืช ืžืฉืื‘ื™ื ืฉืœ ื‘ืขืจืš ืคื™ 5 ืžืขืจืš ื”ื‘ืงืฉื•ืช) ื•ืžืชื‘ื•ื ื ื™ื. ื›ืืฉืจ ื”ื‘ืงืฉื•ืช ื ืžื•ื›ื•ืช ืžื“ื™, ื”ืชื”ืœื™ืš ืœื ื™ื›ื•ืœ ืœื”ืชื—ื™ืœ, ื•ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื’ื•ืจื ืœืฉื’ื™ืื•ืช ื–ืžืŸ ืจื™ืฆื” ืžืกืชื•ืจื™ื•ืช ืฉืœ Go.

ืฉื™ืžื• ืœื‘ ืฉืžื’ื‘ืœื•ืช ืžืฉืื‘ื™ื ื’ื‘ื•ื”ื•ืช ื™ื•ืชืจ ืžืงืฉื•ืช ืขืœ ืชื–ืžื•ืŸ ืžื›ื™ื•ื•ืŸ ืฉื”ืคื•ื“ ื–ืงื•ืง ืœืฆื•ืžืช ื™ืขื“ ืขื ืžืกืคื™ืง ืžืฉืื‘ื™ื ื–ืžื™ื ื™ื.

ืชืืจื• ืœืขืฆืžื›ื ืžืฆื‘ ืฉื‘ื• ื™ืฉ ืœื›ื ืฉืจืช ืื™ื ื˜ืจื ื˜ ืงืœ ืžืฉืงืœ ืขื ืžื’ื‘ืœืช ืžืฉืื‘ื™ื ื’ื‘ื•ื”ื” ืžืื•ื“, ื ื’ื™ื“ 4 GB ืฉืœ ื–ื™ื›ืจื•ืŸ. ืกื‘ื™ืจ ืœื”ื ื™ื— ืฉืชื”ืœื™ืš ื–ื” ื™ืฆื˜ืจืš ืœื”ืชืื™ื ืื•ืคืงื™ืช, ื•ื›ืœ ืžื•ื“ื•ืœ ื—ื“ืฉ ื™ืฆื˜ืจืš ืœื”ื™ื•ืช ืžืชื•ื–ืžืŸ ื‘ืฆื•ืžืช ืขื ืœืคื—ื•ืช 4 GB ืฉืœ ื–ื™ื›ืจื•ืŸ ื–ืžื™ืŸ. ืื ืœื ืงื™ื™ื ืฆื•ืžืช ื›ื–ื”, ืขืœ ื”ืืฉื›ื•ืœ ืœื”ืฆื™ื’ ืฆื•ืžืช ื—ื“ืฉ ื›ื“ื™ ืœืขื‘ื“ ืืช ื”ืคื•ื“ ื”ื–ื”, ืžื” ืฉืขืฉื•ื™ ืœืงื—ืช ื–ืžืŸ ืžื”. ื—ืฉื•ื‘ ืœืฆืžืฆื ืืช ื”ื”ื‘ื“ืœ ื‘ื™ืŸ ื‘ืงืฉื•ืช ืžืฉืื‘ื™ื ื•ืžื’ื‘ืœื•ืช ืœืžื™ื ื™ืžื•ื ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืงื ื” ืžื™ื“ื” ืžื”ื™ืจ ื•ื—ืœืง.

ืฉืœื‘ ืฉื ื™: ื”ื’ื“ืจืช ืžื‘ื—ื ื™ ื—ื™ื•ื ื™ื•ืช ื•ืžื•ื›ื ื•ืช

ื–ื”ื• ืขื•ื“ ื ื•ืฉื ืขื“ื™ืŸ ืฉื ื“ื•ืŸ ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื‘ืงื”ื™ืœืช Kubernetes. ื—ืฉื•ื‘ ืฉืชื”ื™ื” ื”ื‘ื ื” ื˜ื•ื‘ื” ืฉืœ ืžื‘ื—ื ื™ Liveness ื•ืžื•ื›ื ื•ืช, ืฉื›ืŸ ื”ื ืžืกืคืงื™ื ืžื ื’ื ื•ืŸ ืœื”ืคืขืœืช ืชื•ื›ื ื” ื‘ืฆื•ืจื” ื—ืœืงื” ื•ืœืžื–ืขืจ ื–ืžืŸ ื”ืฉื‘ืชื”. ืขื ื–ืืช, ื”ื ืขืœื•ืœื™ื ืœื’ืจื•ื ืœืคื’ื™ืขื” ืจืฆื™ื ื™ืช ื‘ื‘ื™ืฆื•ืขื™ื ื‘ืืคืœื™ืงืฆื™ื” ืฉืœืš ืื ืœื ืžื•ื’ื“ืจื™ื ื›ื”ืœื›ื”. ืœื”ืœืŸ ืชืงืฆื™ืจ ืฉืœ ืื™ืš ืฉืชื™ ื”ื“ื•ื’ืžืื•ืช ื ืจืื•ืช.

ื—ื™ ืžืจืื” ืื โ€‹โ€‹ื”ืžื›ื•ืœื” ืคื•ืขืœืช. ืื ื”ื•ื ื ื›ืฉืœ, ื”-kubelet ื”ื•ืจื’ ืืช ื”ืžื™ื›ืœ ื•ืžื“ื™ื ื™ื•ืช ื”ืคืขืœื” ืžื—ื“ืฉ ืžื•ืคืขืœืช ืขื‘ื•ืจื•. ืื ื”ืžื›ื•ืœื” ืœื ืžืฆื•ื™ื“ืช ื‘- Liveness, ืื– ืžืฆื‘ ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ื™ื”ื™ื” ื”ืฆืœื—ื” - ื–ื” ืžื” ืฉื”ื•ื ืื•ืžืจ ื‘ื• ืชื™ืขื•ื“ Kubernetes.

ื‘ื“ื™ืงื•ืช Liveness ืฆืจื™ื›ื•ืช ืœื”ื™ื•ืช ื–ื•ืœื•ืช, ื›ืœื•ืžืจ ื”ืŸ ืœื ืืžื•ืจื•ืช ืœืฆืจื•ืš ืžืฉืื‘ื™ื ืจื‘ื™ื, ืžื›ื™ื•ื•ืŸ ืฉื”ืŸ ืคื•ืขืœื•ืช ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื•ืฆืจื™ื›ื•ืช ืœื™ื™ื“ืข ืืช Kubernetes ืฉื”ืืคืœื™ืงืฆื™ื” ืคื•ืขืœืช.

ืื ืชื’ื“ื™ืจ ืืช ื”ืืคืฉืจื•ืช ืœืคืขื•ืœ ื›ืœ ืฉื ื™ื™ื”, ื–ื” ื™ื•ืกื™ืฃ ื‘ืงืฉื” ืื—ืช ืœืฉื ื™ื™ื”, ืื– ืฉื™ื ืœื‘ ืฉื™ื“ืจืฉื• ืžืฉืื‘ื™ื ื ื•ืกืคื™ื ื›ื“ื™ ืœื˜ืคืœ ื‘ืชืขื‘ื•ืจื” ื–ื•.

ื‘ื—ื‘ืจืชื ื•, ื‘ื“ื™ืงื•ืช Liveness ื‘ื•ื“ืงื•ืช ืืช ืžืจื›ื™ื‘ื™ ื”ืœื™ื‘ื” ืฉืœ ืืคืœื™ืงืฆื™ื”, ื’ื ืื ื”ื ืชื•ื ื™ื (ืœืžืฉืœ, ืžืžืกื“ ื ืชื•ื ื™ื ืžืจื•ื—ืง ืื• ืžื˜ืžื•ืŸ) ืื™ื ื ื ื’ื™ืฉื™ื ื‘ืžืœื•ืื.

ื”ื’ื“ืจื ื• ืืช ื”ืืคืœื™ืงืฆื™ื•ืช ืขื ื ืงื•ื“ืช ืงืฆื” "ื‘ืจื™ืื•ืช" ืฉืคืฉื•ื˜ ืžื—ื–ื™ืจื” ืงื•ื“ ืชื’ื•ื‘ื” ืฉืœ 200. ื–ื•ื”ื™ ืื™ื ื“ื™ืงืฆื™ื” ืœื›ืš ืฉื”ืชื”ืœื™ืš ืคื•ืขืœ ื•ืžืกื•ื’ืœ ืœืขื‘ื“ ื‘ืงืฉื•ืช (ืืš ืขื“ื™ื™ืŸ ืœื ืชืขื‘ื•ืจื”).

ืœื“ื•ื’ืžื” ืžื•ื›ื ื•ืช ืžืฆื™ื™ืŸ ืื ื”ืžื›ื•ืœื” ืžื•ื›ื ื” ืœื”ื’ื™ืฉ ื‘ืงืฉื•ืช. ืื ื‘ื“ื™ืงืช ื”ืžื•ื›ื ื•ืช ื ื›ืฉืœืช, ื‘ืงืจ ื ืงื•ื“ืช ื”ืงืฆื” ืžืกื™ืจ ืืช ื›ืชื•ื‘ืช ื”-IP ืฉืœ ื”ืคื•ื“ ืžื ืงื•ื“ื•ืช ื”ืงืฆื” ืฉืœ ื›ืœ ื”ืฉื™ืจื•ืชื™ื ื”ืชื•ืืžื™ื ืœืชืจืžื™ืœ. ื–ื” ืžืฆื•ื™ืŸ ื’ื ื‘ืชื™ืขื•ื“ ืฉืœ Kubernetes.

ื‘ื“ื™ืงื•ืช ืžื•ื›ื ื•ืช ืฆื•ืจื›ื•ืช ื™ื•ืชืจ ืžืฉืื‘ื™ื ืžื›ื™ื•ื•ืŸ ืฉื”ื ื—ื™ื™ื‘ื™ื ืœื”ื™ืฉืœื— ืœ-backend ื‘ืื•ืคืŸ ืฉืžืฆื™ื™ืŸ ืฉื”ืืคืœื™ืงืฆื™ื” ืžื•ื›ื ื” ืœืงื‘ืœ ื‘ืงืฉื•ืช.

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

ืื ืชื—ืœื™ื˜ ืœื‘ืฆืข ืฉืื™ืœืชื” ื‘ืžืกื“ ื”ื ืชื•ื ื™ื ื›ื“ื™ ืœื‘ื“ื•ืง ืืช ืžื•ื›ื ื•ืช ื”ื™ื™ืฉื•ื ืฉืœืš, ื•ื“ื ืฉื”ื•ื ื–ื•ืœ ื›ื›ืœ ื”ืืคืฉืจ. ื‘ื•ืื• ื ื™ืงื— ืืช ื”ื‘ืงืฉื” ื”ื–ื•:

SELECT small_item FROM table LIMIT 1

ื”ื ื” ื“ื•ื’ืžื” ืœืื•ืคืŸ ืฉื‘ื• ืื ื• ืžื’ื“ื™ืจื™ื ืืช ืฉื ื™ ื”ืขืจื›ื™ื ื”ืœืœื• ื‘-Kubernetes:

livenessProbe: 
 httpGet:   
   path: /api/liveness    
   port: http 
readinessProbe:  
 httpGet:    
   path: /api/readiness    
   port: http  periodSeconds: 2

ืืชื” ื™ื›ื•ืœ ืœื”ื•ืกื™ืฃ ื›ืžื” ืืคืฉืจื•ื™ื•ืช ืชืฆื•ืจื” ื ื•ืกืคื•ืช:

  • initialDelaySeconds - ื›ืžื” ืฉื ื™ื•ืช ื™ืขื‘ืจื• ื‘ื™ืŸ ื”ืฉืงืช ื”ืžื›ื•ืœื” ืœืชื—ื™ืœืช ื”ืคืขืœืช ื”ื“ื’ื™ืžื•ืช.
  • periodSeconds - ืžืจื•ื•ื— ื”ืžืชื ื” ื‘ื™ืŸ ืจื™ืฆื•ืช ืžื“ื’ื.
  • timeoutSeconds - ืžืกืคืจ ื”ืฉื ื™ื•ืช ืฉืื—ืจื™ื”ื ื”ื™ื—ื™ื“ื” ื ื—ืฉื‘ืช ืœืžืฆื‘ ื—ื™ืจื•ื. ืคืกืง ื–ืžืŸ ืงื‘ื•ืข.
  • failureThreshold - ืžืกืคืจ ื›ืฉืœื™ ื”ื‘ื“ื™ืงื” ืœืคื ื™ ืฉืœื™ื—ืช ืื•ืช ื”ืคืขืœื” ืžื—ื“ืฉ ืœืชืจืžื™ืœ.
  • successThreshold - ืžืกืคืจ ื”ื‘ื“ื™ืงื•ืช ื”ืžื•ืฆืœื—ื•ืช ืœืคื ื™ ืฉื”ืคื•ื“ ื ื›ื ืก ืœืžืฆื‘ ืžื•ื›ืŸ (ืœืื—ืจ ื›ืฉืœ, ื›ืืฉืจ ื”ืคื•ื“ ืžืชื—ื™ืœ ืื• ืžืชืื•ืฉืฉ).

ืฉืœื‘ ืฉืœื™ืฉื™: ื”ื’ื“ืจืช ืžื“ื™ื ื™ื•ืช ื‘ืจื™ืจืช ืžื—ื“ืœ ืฉืœ ืจืฉืช ืขื‘ื•ืจ ื”ืคื•ื“

ืœ-Kubernetes ื™ืฉ ื˜ื•ืคื•ื’ืจืคื™ืช ืจืฉืช "ืฉื˜ื•ื—ื”"; ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ื›ืœ ื”ืคื•ื“ื™ื ืžืชืงืฉืจื™ื ื™ืฉื™ืจื•ืช ืื—ื“ ืขื ื”ืฉื ื™. ื‘ืžืงืจื™ื ืžืกื•ื™ืžื™ื ื–ื” ืœื ืจืฆื•ื™.

ื‘ืขื™ื™ืช ืื‘ื˜ื—ื” ืืคืฉืจื™ืช ื”ื™ื ืฉืชื•ืงืฃ ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ื™ื™ืฉื•ื ืคื’ื™ืข ื™ื—ื™ื“ ื›ื“ื™ ืœืฉืœื•ื— ืชืขื‘ื•ืจื” ืœื›ืœ ื”ืคื•ื“ื™ื ื‘ืจืฉืช. ื›ืžื• ื‘ืชื—ื•ืžื™ ืื‘ื˜ื—ื” ืจื‘ื™ื, ืขื™ืงืจื•ืŸ ื”ื–ื›ื•ืช ื”ืงื˜ื ื” ื—ืœ ื›ืืŸ. ื‘ืื•ืคืŸ ืื™ื“ื™ืืœื™, ืžื“ื™ื ื™ื•ืช ื”ืจืฉืช ืฆืจื™ื›ื” ืœืฆื™ื™ืŸ ื‘ืžืคื•ืจืฉ ืื™ืœื• ื—ื™ื‘ื•ืจื™ื ื‘ื™ืŸ ืชืจืžื™ืœื™ื ืžื•ืชืจื™ื ื•ืื™ืœื• ืœื.

ืœื“ื•ื’ืžื”, ืœื”ืœืŸ ืžื“ื™ื ื™ื•ืช ืคืฉื•ื˜ื” ืฉืžื•ื ืขืช ื›ืœ ืชืขื‘ื•ืจื” ื ื›ื ืกืช ืขื‘ื•ืจ ืžืจื—ื‘ ืฉืžื•ืช ืกืคืฆื™ืคื™:

---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:  
 name: default-deny-ingress
spec:  
 podSelector: {}  
 policyTypes:  
   - Ingress

ื”ื“ืžื™ื” ืฉืœ ืชืฆื•ืจื” ื–ื•:

ื—ืžืฉ ื”ื—ืžืฆื•ืช ื‘ืขืช ืคืจื™ืกืช ื”ืืคืœื™ืงืฆื™ื” ื”ืจืืฉื•ื ื” ื‘-Kubernetes
(https://miro.medium.com/max/875/1*-eiVw43azgzYzyN1th7cZg.gif)
ืคืจื˜ื™ื ื ื•ืกืคื™ื ื›ืืŸ.

ืฉืœื‘ ืจื‘ื™ืขื™: ื”ืชื ื”ื’ื•ืช ืžื•ืชืืžืช ืื™ืฉื™ืช ื‘ืืžืฆืขื•ืช ื•ื•ื™ื ื•ืžื™ื›ืœื™ init

ืื—ืช ื”ืžื˜ืจื•ืช ื”ืขื™ืงืจื™ื•ืช ืฉืœื ื• ื”ื™ื™ืชื” ืœืกืคืง ืคืจื™ืกื•ืช ืœ-Kubernetes ืœืœื ื–ืžืŸ ื”ืฉื‘ืชื” ืœืžืคืชื—ื™ื. ื–ื” ืงืฉื” ื›ื™ ื™ืฉื ืŸ ืืคืฉืจื•ื™ื•ืช ืจื‘ื•ืช ืœืกื’ื™ืจืช ื™ื™ืฉื•ืžื™ื ื•ืœืคื™ื ื•ื™ ื”ืžืฉืื‘ื™ื ืฉื‘ื”ื ื”ืฉืชืžืฉื•.

ืงืฉื™ื™ื ืžื™ื•ื—ื“ื™ื ื”ืชืขื•ืจืจื• ืขื nginx. ืฉืžื ื• ืœื‘ ืฉื›ืืฉืจ ื”ืชืจืžื™ืœื™ื ื”ืœืœื• ื ืคืจืกื• ื‘ืจืฆืฃ, ื—ื™ื‘ื•ืจื™ื ืคืขื™ืœื™ื ื ืฉืžื˜ื• ืœืคื ื™ ื”ืฉืœืžืชื ื‘ื”ืฆืœื—ื”.

ืœืื—ืจ ืžื—ืงืจ ืžืงื™ืฃ ื‘ืื™ื ื˜ืจื ื˜, ืžืชื‘ืจืจ ืฉ-Kubernetes ืœื ืžื—ื›ื” ืฉื—ื™ื‘ื•ืจื™ Nginx ื™ืžืฆื• ืืช ืขืฆืžื ืœืคื ื™ ืฉืžืคืกื™ืงื™ื ืืช ื”ืคื•ื“. ื‘ืืžืฆืขื•ืช ื•ื• ื˜ืจื•ื-ืขืฆื™ืจื”, ื”ื˜ืžืขื ื• ืืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื”ื‘ืื” ื•ื ืคื˜ืจื ื• ืœื—ืœื•ื˜ื™ืŸ ืžื–ืžืŸ ื”ื”ืฉื‘ืชื”:

lifecycle: 
 preStop:
   exec:
     command: ["/usr/local/bin/nginx-killer.sh"]

ื•ื”ื ื” nginx-killer.sh:

#!/bin/bash
sleep 3
PID=$(cat /run/nginx.pid)
nginx -s quit
while [ -d /proc/$PID ]; do
   echo "Waiting while shutting down nginx..."
   sleep 10
done

ืคืจื“ื™ื’ืžื” ืฉื™ืžื•ืฉื™ืช ื ื•ืกืคืช ื”ื™ื ื”ืฉื™ืžื•ืฉ ื‘ืžื™ื›ืœื™ init ืœื˜ื™ืคื•ืœ ื‘ื”ืคืขืœื” ืฉืœ ื™ื™ืฉื•ืžื™ื ืกืคืฆื™ืคื™ื™ื. ื–ื” ืฉื™ืžื•ืฉื™ ื‘ืžื™ื•ื—ื“ ืื ื™ืฉ ืœืš ืชื”ืœื™ืš ื”ืขื‘ืจืช ืžืกื“ ื ืชื•ื ื™ื ืขืชื™ืจ ืžืฉืื‘ื™ื ืฉืฆืจื™ืš ืœืคืขื•ืœ ืœืคื ื™ ื”ืคืขืœืช ื”ื™ื™ืฉื•ื. ืืชื” ื™ื›ื•ืœ ื’ื ืœืฆื™ื™ืŸ ืžื’ื‘ืœืช ืžืฉืื‘ื™ื ื’ื‘ื•ื”ื” ื™ื•ืชืจ ืขื‘ื•ืจ ืชื”ืœื™ืš ื–ื” ืžื‘ืœื™ ืœื”ื’ื“ื™ืจ ืžื’ื‘ืœื” ื›ื–ื• ืขื‘ื•ืจ ื”ื™ื™ืฉื•ื ื”ืจืืฉื™.

ืกื›ืžื” ื ืคื•ืฆื” ื ื•ืกืคืช ื”ื™ื ื’ื™ืฉื” ืœืกื•ื“ื•ืช ื‘ืžื™ื›ืœ init ื”ืžืกืคืง ืืช ื”ืื™ืฉื•ืจื™ื ื”ืœืœื• ืœืžื•ื“ื•ืœ ื”ืจืืฉื™, ืžื” ืฉืžื•ื ืข ื’ื™ืฉื” ืœื ืžื•ืจืฉื™ืช ืœืกื•ื“ื•ืช ืžืžื•ื“ื•ืœ ื”ื™ื™ืฉื•ื ื”ืจืืฉื™ ืขืฆืžื•.

ื›ืจื’ื™ืœ, ืฆื™ื˜ื•ื˜ ืžื”ืชื™ืขื•ื“: ืžื›ืœื™ Init ืžืจื™ืฆื™ื ื‘ื‘ื˜ื—ื” ืงื•ื“ ืžื•ืชืื ืื™ืฉื™ืช ืื• ื›ืœื™ ืขื–ืจ ืฉืื—ืจืช ื™ืคื—ื™ืชื• ืืช ื”ืื‘ื˜ื—ื” ืฉืœ ืชืžื•ื ืช ืžื™ื›ืœ ื”ืืคืœื™ืงืฆื™ื”. ืขืœ ื™ื“ื™ ืฉืžื™ืจืช ื›ืœื™ื ืžื™ื•ืชืจื™ื ื ืคืจื“ื™ื, ืืชื” ืžื’ื‘ื™ืœ ืืช ืžืฉื˜ื— ื”ื”ืชืงืคื” ืฉืœ ืชืžื•ื ืช ืžื™ื›ืœ ื”ื™ื™ืฉื•ื.

ืฉืœื‘ ื—ืžื™ืฉื™: ื”ื’ื“ืจืช ื”ืœื™ื‘ื”

ืœื‘ืกื•ืฃ, ื‘ื•ืื• ื ื“ื‘ืจ ืขืœ ื˜ื›ื ื™ืงื” ืžืชืงื“ืžืช ื™ื•ืชืจ.

Kubernetes ื”ื™ื ืคืœื˜ืคื•ืจืžื” ื’ืžื™ืฉื” ื‘ืžื™ื•ื—ื“ ื”ืžืืคืฉืจืช ืœืš ืœื”ืคืขื™ืœ ืขื•ืžืกื™ ืขื‘ื•ื“ื” ื›ืคื™ ืฉืืชื” ืจื•ืื” ืœื ื›ื•ืŸ. ื™ืฉ ืœื ื• ืžืกืคืจ ื™ื™ืฉื•ืžื™ื ื‘ืขืœื™ ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื ืฉื“ื•ืจืฉื™ื ืžืฉืื‘ื™ื ืจื‘ื™ื ื‘ื™ื•ืชืจ. ืœืื—ืจ ื‘ื™ืฆื•ืข ื‘ื“ื™ืงื•ืช ืขื•ืžืก ืžืงื™ืคื•ืช, ื’ื™ืœื™ื ื• ืฉืืคืœื™ืงืฆื™ื” ืื—ืช ืžืชืงืฉื” ืœื”ืชืžื•ื“ื“ ืขื ืขื•ืžืก ื”ืชืขื‘ื•ืจื” ื”ืฆืคื•ื™ ื›ืืฉืจ ื”ื’ื“ืจื•ืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืฉืœ Kubernetes ื”ื™ื• ื‘ืชื•ืงืฃ.

ืขื ื–ืืช, Kubernetes ืžืืคืฉืจ ืœืš ืœื”ืคืขื™ืœ ืžื™ื›ืœ ืžื™ื•ื—ืก ืฉืžืฉื ื” ืคืจืžื˜ืจื™ื ืฉืœ ื”ืœื™ื‘ื” ืจืง ืขื‘ื•ืจ ืคื•ื“ ืกืคืฆื™ืคื™. ื”ื ื” ืžื” ืฉื”ืฉืชืžืฉื ื• ื›ื“ื™ ืœืฉื ื•ืช ืืช ื”ืžืกืคืจ ื”ืžืจื‘ื™ ืฉืœ ื—ื™ื‘ื•ืจื™ื ืคืชื•ื—ื™ื:

initContainers:
  - name: sysctl
     image: alpine:3.10
     securityContext:
         privileged: true
      command: ['sh', '-c', "sysctl -w net.core.somaxconn=32768"]

ื–ื•ื”ื™ ื˜ื›ื ื™ืงื” ืžืชืงื“ืžืช ื™ื•ืชืจ ืฉืœืขืชื™ื ืงืจื•ื‘ื•ืช ืื™ืŸ ืฆื•ืจืš ื‘ื”. ืื‘ืœ ืื ื”ื™ื™ืฉื•ื ืฉืœืš ืžืชืงืฉื” ืœื”ืชืžื•ื“ื“ ืขื ืขื•ืžืก ืจื‘, ืืชื” ื™ื›ื•ืœ ืœื ืกื•ืช ืœืฉื ื•ืช ื›ืžื” ืžื”ื”ื’ื“ืจื•ืช ื”ืืœื”. ืคืจื˜ื™ื ื ื•ืกืคื™ื ืขืœ ืชื”ืœื™ืš ื–ื” ื•ืงื‘ื™ืขืช ืขืจื›ื™ื ืฉื•ื ื™ื - ื›ืžื• ืชืžื™ื“ ื‘ืชื™ืขื•ื“ ื”ืจืฉืžื™.

ืœืกื™ื›ื•ื

ื‘ืขื•ื“ ืฉ-Kubernetes ืขืฉื•ื™ ืœื”ื™ืจืื•ืช ื›ืžื• ืคืชืจื•ืŸ ืžื•ื›ืŸ ืžื—ื•ืฅ ืœืงื•ืคืกื”, ื™ืฉ ื›ืžื” ืฆืขื“ื™ื ืขื™ืงืจื™ื™ื ืฉืขืœื™ืš ืœื ืงื•ื˜ ื›ื“ื™ ืฉื”ื™ื™ืฉื•ืžื™ื ืฉืœืš ื™ืคืขืœื• ื‘ืฆื•ืจื” ื—ืœืงื”.

ื‘ืžื”ืœืš ื”ื’ื™ืจื” ืฉืœ Kubernetes, ื—ืฉื•ื‘ ืœืขืงื•ื‘ ืื—ืจ "ืžื—ื–ื•ืจ ื‘ื“ื™ืงืช ื”ืขื•ืžืก": ื”ืคืขืœ ืืช ื”ืืคืœื™ืงืฆื™ื”, ื‘ื“ื•ืง ืื•ืชื”, ืฆืคื” ื‘ืžื“ื“ื™ื ื•ื”ืชื ื”ื’ื•ืช ืงื ื” ืžื™ื“ื”, ื”ืชืื ืืช ื”ืชืฆื•ืจื” ืขืœ ืกืžืš ื”ื ืชื•ื ื™ื ื”ืœืœื•, ื•ืื– ื—ื–ื•ืจ ืขืœ ื”ืžื—ื–ื•ืจ ืฉื•ื‘.

ื”ื™ื” ืžืฆื™ืื•ืชื™ ืœื’ื‘ื™ ื”ืชื ื•ืขื” ื”ืฆืคื•ื™ื” ืฉืœืš ื•ื ืกื” ืœื“ื—ื•ืฃ ืžืขื‘ืจ ืœื” ื›ื“ื™ ืœืจืื•ืช ืื™ืœื• ืจื›ื™ื‘ื™ื ื ืฉื‘ืจื™ื ืงื•ื“ื. ืขื ื’ื™ืฉื” ืื™ื˜ืจื˜ื™ื‘ื™ืช ื–ื•, ืจืง ื›ืžื” ืžื”ื”ืžืœืฆื•ืช ื”ืžืคื•ืจื˜ื•ืช ืขืฉื•ื™ื•ืช ืœื”ืกืคื™ืง ื›ื“ื™ ืœื”ืฉื™ื’ ื”ืฆืœื—ื”. ืื• ืฉื–ื” ืขืฉื•ื™ ืœื“ืจื•ืฉ ื”ืชืืžื” ืื™ืฉื™ืช ืขืžื•ืงื” ื™ื•ืชืจ.

ืฉืืœ ืืช ืขืฆืžืš ืชืžื™ื“ ืืช ื”ืฉืืœื•ืช ื”ืืœื”:

  1. ื›ืžื” ืžืฉืื‘ื™ื ืฆื•ืจื›ื•ืช ื™ื™ืฉื•ืžื™ื ื•ื›ื™ืฆื“ ื™ืฉืชื ื” ื ืคื— ื–ื”?
  2. ืžื”ืŸ ื“ืจื™ืฉื•ืช ืงื ื” ื”ืžื™ื“ื” ื”ืืžื™ืชื™ื•ืช? ื›ืžื” ืชืขื‘ื•ืจื” ื”ืืคืœื™ืงืฆื™ื” ืชื˜ืคืœ ื‘ืžืžื•ืฆืข? ืžื” ืœื’ื‘ื™ ืขื•ืžืกื™ ืฉื™ื?
  3. ื‘ืื™ื–ื• ืชื“ื™ืจื•ืช ื”ืฉื™ืจื•ืช ื™ืฆื˜ืจืš ืœื”ืชืื™ื ืœืจื•ื—ื‘? ื‘ืื™ื–ื• ืžื”ื™ืจื•ืช ืฆืจื™ืš ืœื”ื‘ื™ื ืคื•ื“ื™ื ื—ื“ืฉื™ื ืœืื™ื ื˜ืจื ื˜ ื›ื“ื™ ืœืงื‘ืœ ืชื ื•ืขื”?
  4. ื‘ืื™ื–ื• ืžื™ื“ื” ื ืกื’ืจื•ืช ื”ืชืจืžื™ืœื™ื? ื”ืื ื–ื” ื ื—ื•ืฅ ื‘ื›ืœืœ? ื”ืื ื ื™ืชืŸ ืœื”ืฉื™ื’ ืคืจื™ืกื” ืœืœื ื–ืžืŸ ื”ืฉื‘ืชื”?
  5. ื›ื™ืฆื“ ื ื™ืชืŸ ืœืžื–ืขืจ ืกื™ื›ื•ื ื™ ืื‘ื˜ื—ื” ื•ืœื”ื’ื‘ื™ืœ ืืช ื”ื ื–ืง ืžื›ืœ ืชืจืžื™ืœ ืฉื ืคื’ืข? ื”ืื ืœืฉื™ืจื•ืชื™ื ื›ืœืฉื”ื ื™ืฉ ื”ืจืฉืื•ืช ืื• ื’ื™ืฉื” ืฉื”ื ืœื ื“ื•ืจืฉื™ื?

Kubernetes ืžืกืคืงืช ืคืœื˜ืคื•ืจืžื” ืžื“ื”ื™ืžื” ื”ืžืืคืฉืจืช ืœืš ืœืžื ืฃ ืฉื™ื˜ื•ืช ืขื‘ื•ื“ื” ืžื•ืžืœืฆื•ืช ืœืคืจื™ืกืช ืืœืคื™ ืฉื™ืจื•ืชื™ื ื‘ืืฉื›ื•ืœ. ืขื ื–ืืช, ื›ืœ ืืคืœื™ืงืฆื™ื” ืฉื•ื ื”. ืœืคืขืžื™ื ื”ื™ื™ืฉื•ื ื“ื•ืจืฉ ืงืฆืช ื™ื•ืชืจ ืขื‘ื•ื“ื”.

ืœืžืจื‘ื” ื”ืžื–ืœ, Kubernetes ืžืกืคืงืช ืืช ื”ืชืฆื•ืจื” ื”ื“ืจื•ืฉื” ื›ื“ื™ ืœื”ืฉื™ื’ ืืช ื›ืœ ื”ืžื˜ืจื•ืช ื”ื˜ื›ื ื™ื•ืช. ื‘ืืžืฆืขื•ืช ืฉื™ืœื•ื‘ ืฉืœ ื‘ืงืฉื•ืช ื•ืžื’ื‘ืœื•ืช ืžืฉืื‘ื™ื, ื‘ื“ื™ืงื•ืช ื—ื™ื•ื ื™ื•ืช ื•ืžื•ื›ื ื•ืช, ืžื™ื›ืœื™ ืื™ื ื˜, ืžื“ื™ื ื™ื•ืช ืจืฉืช ื•ื›ื•ื•ื ื•ืŸ ืœื™ื‘ื” ืžื•ืชืืžืช ืื™ืฉื™ืช, ืืชื” ื™ื›ื•ืœ ืœื”ืฉื™ื’ ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื ื™ื—ื“ ืขื ืกื•ื‘ืœื ื•ืช ืชืงืœื•ืช ื•ืžื“ืจื’ื™ื•ืช ืžื”ื™ืจื”.

ืžื” ืขื•ื“ ืœืงืจื•ื:

  1. ืฉื™ื˜ื•ืช ืขื‘ื•ื“ื” ืžื•ืžืœืฆื•ืช ื•ืฉื™ื˜ื•ืช ืขื‘ื•ื“ื” ืžื•ืžืœืฆื•ืช ืœื”ืคืขืœืช ืงื•ื ื˜ื™ื™ื ืจื™ื ื•-Kubernetes ื‘ืกื‘ื™ื‘ื•ืช ื™ื™ืฆื•ืจ.
  2. 90+ ื›ืœื™ื ืฉื™ืžื•ืฉื™ื™ื ืขื‘ื•ืจ Kubernetes: ืคืจื™ืกื”, ื ื™ื”ื•ืœ, ื ื™ื˜ื•ืจ, ืื‘ื˜ื—ื” ื•ืขื•ื“.
  3. ื”ืขืจื•ืฅ ืฉืœื ื• Around Kubernetes ื‘ื˜ืœื’ืจื.

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

ื”ื•ืกืคืช ืชื’ื•ื‘ื”