Top 10 ืงื•ื‘ืขืจื ืขื˜ืขืก ื˜ืจื™ืงืก ืื•ืŸ ืขืฆื•ืช

Top 10 ืงื•ื‘ืขืจื ืขื˜ืขืก ื˜ืจื™ืงืก ืื•ืŸ ืขืฆื•ืช

ืขืก ืื™ื– ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืจืขืคึฟืขืจืขื ืฅ ืœื™ื˜ืขืจืึทื˜ื•ืจ ืื•ื™ืฃ ื“ื™ ืื™ื ื˜ืขืจื ืขื˜, ืึธื‘ืขืจ ืžืืœ ื“ื™ ืกื™ืžืคึผืœืึทืกื˜ ืขืฆื” ืื™ื– ื“ื™ ืžืขืจืกื˜ ื•ื•ืขืจื˜ืคื•ืœ. ืžืึทื ืฉืึทืคึฟื˜ Kubernetes aaS ืคึฟื•ืŸ Mail.ru ืื™ื‘ืขืจื’ืขื–ืขืฆื˜ ืึท ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹ืฆืขืŸ ื˜ืจื™ืงืก ืื•ืŸ ืขืฆื•ืช, ื•ื•ืืก ื“ืขืจ ืžื—ื‘ืจ ืคื•ื ืขื ืืจื˜ื™ืงืœ ื”ืื˜ ื’ืขื–ืืžืœื˜ ื ืืš ื ื™ืืจ ืคื•ืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืงื•ื‘ืขืจื ืขื˜ืขืก. ื“ื™ ืขืฆื•ืช ื–ืขื ืขืŸ ื ื™ืฉื˜ ืกืึธืจื˜ื™ืจื˜ ืœื•ื™ื˜ ื•ื•ื™ื›ื˜ื™ืงื™ื™ื˜, ืึธื‘ืขืจ ืžื™ืจ ื˜ืจืึทื›ื˜ืŸ ืึทื– ืึทืœืขืžืขืŸ ื•ื•ืขื˜ ื’ืขืคึฟื™ื ืขืŸ ืขืคึผืขืก ื ื•ืฆื™ืง ืคึฟืึทืจ ื–ื™ืš.

ื“ื™ ืกื™ืžืคึผืœืึทืกื˜ ื‘ืึทืคึฟืขืœ ืฆื• ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ Kubernetes

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

echo "source <(kubectl completion bash)" >> ~/.bashrc

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

ืคืขืœื™ืงื™ื™ึทื˜ ื–ื›ึผืจื•ืŸ ืื•ืŸ ืงืคึผื• ืœื™ืžืึทืฅ ืื™ืŸ ืึท ื ืึทืžืขืกืคึผืึทืกืข

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

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

apiVersion: v1
kind: LimitRange
metadata:
  name: mem-limit-range
spec:
  limits:
  - default:
      memory: 512Mi
    defaultRequest:
      memory: 256Mi
    type: Container

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

ืžื™ืกื˜ ื–ืึทืžืœื•ื ื’ ืื™ืŸ ืขืœื˜ืขืจืข ื•ื•ืขืจืกื™ืขืก ืคื•ืŸ Kubernetes

ืงื•ื‘ืขืœืขื˜ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜ ืกื˜ืึทืจืฅ ืžื™ืกื˜ ื–ืึทืžืœื•ื ื’ ื•ื•ืขืŸ var/lib/docker ืึทืงื™ืึทืคึผื™ื™ื– 90% ืคื•ืŸ ืคืึทืจืึทื ืขืŸ ื“ื™ืกืง ืคึผืœืึทืฅ. ื“ืึธืก ืื™ื– ื’ืจื•ื™ืก, ืึธื‘ืขืจ ื‘ื™ื– Kubernetes 1.7 ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืงื™ื™ืŸ ืคืขืœื™ืงื™ื™ึทื˜ ืœื™ืžื™ื˜ ืื•ื™ืฃ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ื™ื ืึธื“ืขืก ื’ืขื ื™ืฆื˜, ื•ื•ืึธืก ืฉื˜ื™ืžืขืŸ ืฆื• ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ื˜ืขืงืขืก ืื™ืŸ ื“ื™ ื˜ืขืงืข ืกื™ืกื˜ืขื.

ืคึผืึทื˜ืขื ื˜ืฉืึทืœื™ ื“ื™ื™ืŸ ืงืึทื ื˜ื™ื™ื ืขืจ var/lib/docker ืงืขืŸ ื‘ืœื•ื™ื– ื ื•ืฆืŸ 50% ืคื•ืŸ ื“ื™ ื“ื™ืกืง ืคึผืœืึทืฅ, ืึธื‘ืขืจ ืงืขืŸ ืœื•ื™ืคืŸ ืื•ื™ืก ืคื•ืŸ ื™ื ืึธื“ืขืก, ื•ื•ืึธืก ื•ื•ืขื˜ ืคืึทืจืฉืึทืคืŸ ืคึผืจืึธื‘ืœืขืžืก ืคึฟืึทืจ ื˜ื•ืขืจืก.

ืื™ืŸ ืขืœื˜ืขืจืข ื•ื•ืขืจืกื™ืขืก ืคื•ืŸ ืงื•ื‘ืขืœืขื˜ ืคื•ืŸ 1.4 ืฆื• 1.6 ืื™ืจ ื•ื•ืขื˜ ื”ืึธื‘ืŸ ืฆื• ืœื™ื™ื’ืŸ ื“ืขื ืคืึธืŸ:

--eviction-hard
=memory.available<100Mi,nodefs.available<10%,nodefs.inodesFree<5%

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

ืžื™ื ื™ืงื•ื‘ืข ... ืงืœื™ื™ืŸ ืึธื‘ืขืจ ืฉื˜ืึทืจืง ื”ื™ื’ืข ืงื•ื‘ืขืจื ืขื˜ืขืก

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

minikube start

ืื•ื™ื‘ ืื™ืจ ืœื•ื™ืคืŸ ื“ืขื ื‘ืึทืคึฟืขืœ, ืึท ืคืึทืงื˜ื™ืฉ Kubernetes ืงื ื•ื™ืœ ืคืœื™ืกื ื“ื™ืง ืื•ื™ืฃ ื“ื™ื™ืŸ ืžืึทืฉื™ืŸ.

Top 10 ืงื•ื‘ืขืจื ืขื˜ืขืก ื˜ืจื™ืงืก ืื•ืŸ ืขืฆื•ืช
ื‘ื™ืœื“ ืžืงื•ืจ

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

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

eval $(minikube docker-env)

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

ื“ื• ื–ืืœืกื˜ ื ื™ืฉื˜ ื’ืขื‘ืŸ kubectl ืึทืงืกืขืก ืฆื• ืึทืœืขืžืขืŸ

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

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

ืคื™ืจืŸ ืคึผืึธื“ ื‘ืึทื“ื–ืฉื™ืฅ

ื•ื•ื™ ืฆื• ืขื ืฉื•ืจ ืงื™ื™ืŸ ื“ืึทื•ื ื˜ื™ื™ื ืคึฟืึทืจ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ืŸ ืึท Kubernetes ืงื ื•ื™ืœ? PodDisruptionBudget ืื•ืŸ ื•ื•ื™ื“ืขืจ PodDisruptionBudget.

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

ื‘ืึทืžืขืจืงื•ื ื’: ื“ื™ PDB ื‘ื•ื“ื–ืฉืขื˜ ืื™ื– ื’ืขื ื•ืžืขืŸ ืื™ืŸ ื—ืฉื‘ื•ืŸ ื‘ืœื•ื™ื– ื•ื•ืขืŸ ื“ื™ ื‘ื•ื“ื–ืฉืขื˜ ื”ื™ืœืขืœ ืื™ื– ืจื™ื•ื•ืขืจืกืึทื‘ืึทืœ (ื•ื•ืึทืœืึทื ื˜ืขืจื™ ื“ื™ืกืจืึทืคึผืฉืึทืŸ). ืื™ืŸ ืกื™ื˜ื•ืึทื˜ื™ืึธื ืก ื•ื•ื™ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืคื™ื™ืœื™ืขืจื–, PDB ื•ื•ืขื˜ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ.

ื‘ื™ื™ึทืฉืคึผื™ืœ PDB:

apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  name: app-a-pdb
spec:
  minAvailable: 2
  selector:
      matchLabels:
        app: app-a

ื“ื™ ืฆื•ื•ื™ื™ ื”ื•ื™ืคึผื˜ ืคึผืึทืจืึทืžืขื˜ืขืจืก ื–ืขื ืขืŸ matchLabels ะธ minAvailable. ื“ืขืจ ืขืจืฉื˜ืขืจ ืคึผืึทืจืึทืžืขื˜ืขืจ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื•ื•ืึธืก ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื“ื™ ื‘ื•ื“ื–ืฉืขื˜ ืึทืคึผืœื™ื™ื– ืฆื•. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื•ื™ื‘ ืื™ืš ื”ืึธื‘ืŸ ื“ื™ืคึผืœื•ื™ืžืึทื ืฅ ืžื™ื˜ ืœืึทื‘ืขืœืก app: app-a ะธ app: app-b, ื“ืขืžืึธืœื˜ ื“ืขื ืคึผื“ื‘ ื•ื•ืขื˜ ืฆื•ืœื™ื™ื’ืŸ ื‘ืœื•ื™ื– ืฆื• ื“ืขืจ ืขืจืฉื˜ืขืจ.

ืคึผืึทืจืึทืžืขื˜ืขืจ minAvailable ื’ืขื ื•ืžืขืŸ ืื™ืŸ ื—ืฉื‘ื•ืŸ ื•ื•ืขืŸ ืขืžืคึผื˜ื™ื™ื ื’ (ืจื™ื™ื ื™ืงื•ื ื’) ื“ื™ ื ืึธื“ืข. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื™ืŸ ืื•ื ื“ื–ืขืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื‘ืขืฉืึทืก ืขืžืคึผื˜ื™ื™ื ื’, ืึทืœืข ื™ื ืกื˜ืึทื ืกื™ื– ื–ืขื ืขืŸ ื™ื•ื•ื™ืงื˜ื™ื“ app: app-a, ื—ื•ืฅ ืฆื•ื•ื™ื™.

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

ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธืŸ ื’ืขื–ื•ื ื˜ ืžืึธื ื™ื˜ืึธืจื™ื ื’

ืึทื–ืึท ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืื™ื– ืžืขื’ืœืขืš ืื™ืŸ ืฆื•ื•ื™ื™ ื•ื•ืขื’ืŸ: ื ื™ืฆืŸ ื’ืจื™ื™ื˜ืงื™ื™ึทื˜ ืึธื“ืขืจ ืœื™ื™ื•ื•ื ืึทืก ื˜ืขืกืฅ.

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

ื“ื™ ืจื’ืข (ืœื™ื™ื•ื•ื ืึทืก) ื•ื•ื™ื™ื–ื˜ ืฆื™ ื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ืื™ื– ื’ืขื–ื•ื ื˜ ืึธื“ืขืจ ื“ืึทืจืฃ ื–ื™ื™ืŸ ืจื™ืกื˜ืึทืจื˜ื™ื“.

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

ื˜ืึทื’ืก ื–ืขื ืขืŸ ืื•ืžืขื˜ื•ื

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

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

ื–ืืœ ืก ื–ืึธื’ืŸ ืื™ืจ ื ื•ืฆืŸ ื“ื™ ื–ืขืœื‘ืข ืงื ื•ื™ืœ ืคึฟืึทืจ dev ะธ qa. ื“ืขื ืžื™ื˜ืœ ืื™ืจ ืงืขื ืขืŸ ื”ืึธื‘ืŸ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ app-a, ืกื™ื™ืžืึทืœื˜ื™ื™ื ื™ืึทืกืœื™ ืืจื‘ืขื˜ืŸ ืื™ืŸ ื‘ื™ื™ื“ืข ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ qa ะธ dev. ืื™ืŸ ื“ืขื ืคืึทืœ, ืžื™ืจ ืงืขื ืขืŸ ืกืขืคึผืขืจืึทื˜ืœื™ ืึทืงืกืขืก ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื‘ื™ื™ึทืฉืคึผื™ืœ ืื™ืŸ ืึท ืกืคึผืขืฆื™ืคื™ืฉ ืกื•ื•ื™ื•ื•ืข ื“ื•ืจืš ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ืฆื•ื ืขืžืขืŸ ืคึผืึทืจืึทืžืขื˜ืขืจ environment. ืœืžืฉืœ, app: app-a ะธ environment: dev ืคึฟืึทืจ ืื™ื™ืŸ ืกื•ื•ื™ื•ื•ืข, ืื•ืŸ app: app-a ะธ environment: qa ืคึฟืึทืจ ื“ื™ ืจื’ืข.

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

ื‘ืึทืงื•ืžืขืŸ ืึธืจื’ืึทื ื™ื–ื™ืจื˜

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

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

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

ื˜ืจืขืคืŸ ื’ื™ื™

ืžื™ืจ ื”ืึธื‘ืŸ ื’ืขืจืื˜ืขื•ื•ืขื˜ ื“ื™ ื”ื•ื™ืคึผื˜ ืขืฆื” ืคึฟืึทืจ ืœืขืฆื˜. ืœืขืจืŸ ื“ื™ Go ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทืš.

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

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

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

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

ื•ื•ืึธืก ืึทื ื“ืขืจืฉ ืฆื• ืœื™ื™ืขื ืขืŸ:

  1. ื“ืจื™ื™ ืœืขื•ื•ืขืœืก ืคื•ืŸ ืึทื•ื˜ืึธืกืงืึทืœื™ื ื’ ืื™ืŸ Kubernetes ืื•ืŸ ื•ื•ื™ ืฆื• ื ื•ืฆืŸ ื–ื™ื™ ื™ืคืขืงื˜ื™ื•ื•ืœื™.
  2. ืงื•ื‘ืขืจื ืขื˜ืขืก ืึทืจื‘ืขื˜ืขืจ ื ืึธื•ื“ื–: ืคื™ืœืข ืงืœื™ื™ืŸ ืึธื“ืขืจ ื•ื•ื™ื™ื ื™ืง ื’ืจื•ื™ืก ืึธื ืขืก?
  3. 25 ื ื•ืฆื™ืง ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ื“ื™ืคึผืœื•ื™ื™ื ื’ ืื•ืŸ ืึธื ืคื™ืจื•ื ื’ ืคื•ืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก.

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

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’