ื”ืฉื•ื•ืืช ืขืœื•ื™ื•ืช ื‘-Managed Kubernetes (2020)

ื”ืขืจื”. ืชืจื’ื•ื: ืžื”ื ื“ืก DevOps ื”ืืžืจื™ืงืื™ ืกื™ื“ ืคืืœืืก, ืžืฉืชืžืฉ ื”ื”ื›ืจื–ื” ื”ืื—ืจื•ื ื” ืขืœ Google Cloud ื›ืžื“ืจื™ืš ืื™ื ืคื•ืจืžื˜ื™ื‘ื™, ื”ืฉื•ื•ื™ืชื™ ืืช ืขืœื•ืช ืฉื™ืจื•ืช Managed Kubernetes (ื‘ืชืฆื•ืจื•ืช ืฉื•ื ื•ืช) ืžืกืคืงื™ ื”ืขื ืŸ ื”ืžื•ื‘ื™ืœื™ื ื‘ืขื•ืœื. ื™ืชืจื•ืŸ ื ื•ืกืฃ ื‘ืขื‘ื•ื“ืชื• ื”ื™ื” ืคืจืกื•ื ื”-Jupyter Notebook ื”ืžืงื‘ื™ืœ, ื”ืžืืคืฉืจ (ืขื ื™ื“ืข ืžื™ื ื™ืžืœื™ ื‘-Python) ืœื”ืชืื™ื ืืช ื”ื—ื™ืฉื•ื‘ื™ื ืฉื‘ื•ืฆืขื• ื›ืš ืฉื™ืชืื™ืžื• ืœืฆืจื›ื™ื ืฉืœื›ื.

TL; DR: Azure ื•-Digital Ocean ืœื ื’ื•ื‘ื™ื ืชืฉืœื•ื ืขื‘ื•ืจ ืžืฉืื‘ื™ ืžื—ืฉื•ื‘ ื”ืžืฉืžืฉื™ื ืขื‘ื•ืจ ืžื™ืฉื•ืจ ื”ื‘ืงืจื”, ืžื” ืฉื”ื•ืคืš ืื•ืชื ืœื‘ื—ื™ืจื” ื˜ื•ื‘ื” ืœืคืจื™ืกืช ืืฉื›ื•ืœื•ืช ืงื˜ื ื™ื ืจื‘ื™ื. ืœื”ืคืขืœืช ืžืกืคืจ ืงื˜ืŸ ืฉืœ ืืฉื›ื•ืœื•ืช ื’ื“ื•ืœื™ื, GKE ื”ื•ื ื”ืžืชืื™ื ื‘ื™ื•ืชืจ. ื‘ื ื•ืกืฃ, ื ื™ืชืŸ ืœื”ื•ื–ื™ืœ ืขืœื•ื™ื•ืช ื‘ืื•ืคืŸ ืžืฉืžืขื•ืชื™ ืขืœ ื™ื“ื™ ืฉื™ืžื•ืฉ ื‘ืฆืžืชื™ื ื ืงื•ื“ืชื™ื™ื/ืžื ืข/ืขื“ื™ืคื•ืช ื ืžื•ื›ื” ืื• ืขืœ ื™ื“ื™ "ื”ืจืฉืžื”" ืœืฉื™ืžื•ืฉ ืืจื•ืš ื˜ื•ื•ื— ื‘ืื•ืชื ืฆืžืชื™ื (ื–ื” ื—ืœ ืขืœ ื›ืœ ื”ืคืœื˜ืคื•ืจืžื•ืช).

ื”ืฉื•ื•ืืช ืขืœื•ื™ื•ืช ื‘-Managed Kubernetes (2020)
ื’ื•ื“ืœ ืืฉื›ื•ืœ (ืžืกืคืจ ืขื•ื‘ื“ื™ื)

ืกืงื™ืจื”

ื”ื•ื“ืขืช Google Cloud ืœืื—ืจื•ื ื” ื”ื”ื›ืจื–ื” ืฉืœ GKE ืœื”ืชื—ื™ืœ ืœื’ื‘ื•ืช 10 ืกื ื˜ ืœืฉืขื” ืืฉื›ื•ืœ ืขื‘ื•ืจ ื›ืœ ืฉืขืช ืืฉื›ื•ืœ, ื”ื ื™ืขื” ืื•ืชื™ ืœื”ืชื—ื™ืœ ืœื ืชื— ืืช ื”ืชืžื—ื•ืจ ืฉืœ ื”ืฆืขื•ืช Kubernetes ื”ืžื ื•ื”ืœื•ืช ื”ื’ื“ื•ืœื•ืช.

ื”ืฉื•ื•ืืช ืขืœื•ื™ื•ืช ื‘-Managed Kubernetes (2020)
ื”ื”ื•ื“ืขื” ื”ื–ื• ื”ืจื’ื™ื– ืžืื•ื“ ื›ืžื”...

ื”ื“ืžื•ื™ื•ืช ื”ืจืืฉื™ื•ืช ืฉืœ ื”ืžืืžืจ ื”ืŸ:

ืคื™ืจื•ื˜ ืขืœื•ื™ื•ืช

ื”ืขืœื•ืช ื”ื›ื•ืœืœืช ืฉืœ ื”ืฉื™ืžื•ืฉ ื‘-Kubernetes ื‘ื›ืœ ืื—ืช ืžื”ืคืœื˜ืคื•ืจืžื•ืช ื”ืœืœื• ืžื•ืจื›ื‘ืช ืžื”ืจื›ื™ื‘ื™ื ื”ื‘ืื™ื:

  • ื“ืžื™ ื ื™ื”ื•ืœ ืืฉื›ื•ืœื•ืช;
  • ืื™ื–ื•ืŸ ืขื•ืžืกื™ื (ืขื‘ื•ืจ Ingress);
  • ืžืฉืื‘ื™ ืžื—ืฉื•ื‘ (vCPU ื•ื–ื™ื›ืจื•ืŸ) ืฉืœ ืขื•ื‘ื“ื™ื;
  • ืชืขื‘ื•ืจืช ื™ืฆื™ืื”;
  • ืื—ืกื•ืŸ ืงื‘ื•ืข;
  • ืขื™ื‘ื•ื“ ื ืชื•ื ื™ื ืขืœ ื™ื“ื™ ืžืื–ืŸ ืขื•ืžืกื™ื.

ื‘ื ื•ืกืฃ, ืกืคืงื™ ืขื ืŸ ืžืฆื™ืขื™ื ื”ื ื—ื•ืช ืžืฉืžืขื•ืชื™ื•ืช ืื ื”ืœืงื•ื— ืจื•ืฆื”/ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘-preempible ืœึฐื–ึทื”ื•ึนืช ืื• ืฆืžืชื™ื ื‘ืขื“ื™ืคื•ืช ื ืžื•ื›ื” OR ืžืชื—ื™ื™ื‘ืช ืœื”ืฉืชืžืฉ ื‘ืื•ืชื ืฆืžืชื™ื ืœืžืฉืš 1-3 ืฉื ื™ื.

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

  • Uptime (ื”ืกื›ื ืจืžืช ืฉื™ืจื•ืช);
  • ื”ืžืขืจื›ืช ื”ืืงื•ืœื•ื’ื™ืช ืฉืœ ื”ืขื ืŸ ืฉืžืกื‘ื™ื‘;
  • ื’ืจืกืื•ืช ื–ืžื™ื ื•ืช ืฉืœ K8s;
  • ืื™ื›ื•ืช ื”ืชื™ืขื•ื“/ืขืจื›ืช ื”ื›ืœื™ื.

ืขื ื–ืืช, ื’ื•ืจืžื™ื ืืœื” ื”ื ืžืขื‘ืจ ืœื”ื™ืงืฃ ืฉืœ ืžืืžืจ/ืžื—ืงืจ ื–ื”. IN ืคื•ืกื˜ ื‘ืคื‘ืจื•ืืจ ื‘ื‘ืœื•ื’ StackRox ื’ื•ืจืžื™ื ืฉืื™ื ื ืžื—ื™ืจื™ื ืขื‘ื•ืจ EKS, AKS ื•-GKE ื ื“ื•ื ื™ื ื‘ืคื™ืจื•ื˜.

ืžื—ื‘ืจืช Jupyter

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

ืืชื” ื™ื›ื•ืœ ืœื”ืชืืžืŸ ืขื ื’ืจืกื” ื—ื™ื” ืฉืœ ืคื ืงืก ื”ืจืฉื™ืžื•ืช ื‘-Binder:

ื”ืฉื•ื•ืืช ืขืœื•ื™ื•ืช ื‘-Managed Kubernetes (2020)
managed-kubernetes-price-exploration.ipynb ื‘ืืชืจ mybinder.org

ื”ื•ื“ืข ืœื™ ืื ื”ื—ื™ืฉื•ื‘ื™ื ืื• ื”ืชืžื—ื•ืจ ื”ืžืงื•ืจื™ ืื™ื ื ื ื›ื•ื ื™ื (ื ื™ืชืŸ ืœืขืฉื•ืช ื–ืืช ื‘ืืžืฆืขื•ืช ื‘ืขื™ื” ืื• ื‘ืงืฉืช ืžืฉื™ื›ื” ื‘-GitHub - ื”ื ื” ื”ืžืื’ืจ).

ืžืžืฆืื™ื

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

  • ื‘ื ื™ื’ื•ื“ ืœ-GKE ื•-EKS, AKS ื•-Digital Ocean ืœื ื’ื•ื‘ื™ื ืชืฉืœื•ื ืขื‘ื•ืจ ืžืฉืื‘ื™ ืฉื›ื‘ืช ื”ื‘ืงืจื”. AKS ื•-DO ืจื•ื•ื—ื™ื•ืช ื™ื•ืชืจ ืื ื”ืืจื›ื™ื˜ืงื˜ื•ืจื” ื›ื•ืœืœืช ืืฉื›ื•ืœื•ืช ืงื˜ื ื™ื ืจื‘ื™ื (ืœื“ื•ื’ืžื”, ืืฉื›ื•ืœ ืื—ื“ ืœื›ืœ ื›ืœ ืžืคืชื— ืื• ื›ืœ ืœืงื•ื—).
  • ืžืฉืื‘ื™ ื”ืžื—ืฉื•ื‘ ื”ืžืขื˜ ืคื—ื•ืช ื™ืงืจื™ื ืฉืœ GKE ื”ื•ืคื›ื™ื ืื•ืชื• ืœืจื•ื•ื—ื™ ื™ื•ืชืจ ื›ื›ืœ ืฉื’ื“ืœื™ื ืฉืœ ืืฉื›ื•ืœื•ืช*.
  • ืฉื™ืžื•ืฉ ื‘ืฆืžืชื™ื ืžื•ื ืขื™ื ืื• ื‘ื–ื™ืงื” ืืจื•ื›ืช ื˜ื•ื•ื— ืœืฆืžืชื™ื ื™ื›ื•ืœ ืœื”ืคื—ื™ืช ืขืœื•ื™ื•ืช ื‘ื™ื•ืชืจ ืž-50%. ื”ืขืจื”: Digital Ocean ืื™ื ื• ืžืฆื™ืข ื”ื ื—ื•ืช ืืœื•.
  • ื”ืขืžืœื•ืช ื”ื™ื•ืฆืื•ืช ืฉืœ ื’ื•ื’ืœ ื’ื‘ื•ื”ื•ืช ื™ื•ืชืจ, ืืš ืขืœื•ืช ืžืฉืื‘ื™ ื”ืžื—ืฉื•ื‘ ื”ื™ื ื’ื•ืจื ืžื›ืจื™ืข ื‘ื—ื™ืฉื•ื‘ (ืืœื ืื ื”ืืฉื›ื•ืœ ืฉืœืš ืžื™ื™ืฆืจ ื›ืžื•ืช ืžืฉืžืขื•ืชื™ืช ืฉืœ ื ืชื•ื ื™ื ื™ื•ืฆืื™ื).
  • ื‘ื—ื™ืจืช ืกื•ื’ื™ ืžื›ื•ื ื•ืช ื‘ื”ืชื‘ืกืก ืขืœ ืฆืจื›ื™ ื”ืžืขื‘ื“ ื•ื”ื–ื™ื›ืจื•ืŸ ืฉืœ ืขื•ืžืกื™ ื”ืขื‘ื•ื“ื” ืฉืœืš ืชืขื–ื•ืจ ืœืš ืœื”ื™ืžื ืข ืžืชืฉืœื•ื ื ื•ืกืฃ ืขื‘ื•ืจ ืžืฉืื‘ื™ื ืฉืื™ื ื ื‘ืฉื™ืžื•ืฉ.
  • Digital Ocean ื’ื•ื‘ื” ืคื—ื•ืช ืขื‘ื•ืจ vCPU ื•ื™ื•ืชืจ ืขื‘ื•ืจ ื–ื™ื›ืจื•ืŸ ื‘ื”ืฉื•ื•ืื” ืœืคืœื˜ืคื•ืจืžื•ืช ืื—ืจื•ืช - ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ื’ื•ืจื ืžื›ืจื™ืข ืขื‘ื•ืจ ืกื•ื’ื™ื ืžืกื•ื™ืžื™ื ืฉืœ ืขื•ืžืกื™ ืขื‘ื•ื“ื” ืžื—ืฉื•ื‘.

*ื”ืขืจื”: ื ื™ืชื•ื— ืžืฉืชืžืฉ ื‘ื ืชื•ื ื™ื ืœืฆืžืชื™ ืžื—ืฉื•ื‘ ืœืžื˜ืจื•ืช ื›ืœืœื™ื•ืช (ืžื˜ืจื” ื›ืœืœื™ืช). ืืœื• ื”ื ืžื•ืคืขื™ n1 GCP Compute Engine, ืžื•ืคืขื™ m5 AWS ec2, ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช D2v3 Azure ื•-DO droplets ืขื ืžืขื‘ื“ื™ื ื™ื™ืขื•ื“ื™ื™ื. ื‘ืชื•ืจื•, ืืคืฉืจ ืœืขืจื•ืš ืžื—ืงืจ ื‘ื™ืŸ ืกื•ื’ื™ื ืื—ืจื™ื ืฉืœ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช (ื™ืฆื™ื‘ื•ืช, ืจืžืช ื›ื ื™ืกื”). ื‘ืžื‘ื˜ ืจืืฉื•ืŸ, ื”ืขืœื•ืช ืฉืœ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ืชืœื•ื™ื” ื‘ืื•ืคืŸ ืœื™ื ื™ืืจื™ ื‘ืžืกืคืจ ื”-vCPUs ื•ื‘ื›ืžื•ืช ื”ื–ื™ื›ืจื•ืŸ, ืื‘ืœ ืื ื™ ืœื ื‘ื˜ื•ื— ืฉื”ื”ื ื—ื” ื”ื–ื• ืชืชืงื™ื™ื ื‘ื™ื—ืกื™ ื–ื™ื›ืจื•ืŸ/CPU ืžืื•ื“ ืœื ืกื˜ื ื“ืจื˜ื™ื™ื.

ื”ืžืืžืจ ืžื“ืจื™ืš ื”ืขืœื•ื™ื•ืช ื”ืื•ืœื˜ื™ืžื˜ื™ื‘ื™ ืฉืœ Kubernetes: AWS ืžื•ืœ GCP ืžื•ืœ Azure ืžื•ืœ Digital Ocean, ืฉืคื•ืจืกื ื‘-2018, ื”ืฉืชืžืฉ ื‘ืืฉื›ื•ืœ ื”ืชื™ื™ื—ืกื•ืช ืขื 100 ืœื™ื‘ื•ืช vCPU ื•-400 GB ืฉืœ ื–ื™ื›ืจื•ืŸ. ืœืฉื ื”ืฉื•ื•ืื”, ืœืคื™ ื”ื—ื™ืฉื•ื‘ื™ื ืฉืœื™, ืืฉื›ื•ืœ ื“ื•ืžื” ื‘ื›ืœ ืื—ืช ืžื”ืคืœื˜ืคื•ืจืžื•ืช ื”ืœืœื• (ืœืžืงืจื™ื ืœืคื™ ื“ืจื™ืฉื”) ื™ืขืœื” ืืช ื”ืกื›ื•ื ื”ื‘ื:

  • AKS: 51465 ื“ื•ืœืจ ืœืฉื ื”
  • EKS: 43138 ื“ื•ืœืจ ืœืฉื ื”
  • GKE: 30870 ื“ื•ืœืจ ืœืฉื ื”
  • DO: 36131 ื“ื•ืœืจ ืœืฉื ื”

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

ื .ื‘ ืžื”ืžืชืจื’ื

ืงืจื ื’ื ื‘ื‘ืœื•ื’ ืฉืœื ื•:

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

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