10 ื”ื˜ืจื™ืงื™ื ื•ื”ื˜ื™ืคื™ื ื”ืžื•ื‘ื™ืœื™ื ืฉืœ Kubernetes

10 ื”ื˜ืจื™ืงื™ื ื•ื”ื˜ื™ืคื™ื ื”ืžื•ื‘ื™ืœื™ื ืฉืœ Kubernetes

ื™ืฉ ื”ืจื‘ื” ืกืคืจื•ืช ืขื™ื•ืŸ ื‘ืื™ื ื˜ืจื ื˜, ืื‘ืœ ืœืคืขืžื™ื ื”ืขืฆื” ื”ืคืฉื•ื˜ื” ื‘ื™ื•ืชืจ ื”ื™ื ื”ื—ืฉื•ื‘ื” ื‘ื™ื•ืชืจ. ืงึฐื‘ื•ึผืฆึธื” Kubernetes aaS ืž-Mail.ru ืžึฐืชื•ึผืจื’ึธื ืžื‘ื—ืจ ืฉืœ ืขืฉืจื” ื˜ืจื™ืงื™ื ื•ื˜ื™ืคื™ื, ืฉื›ื•ืชื‘ ื”ืžืืžืจ ืืกืฃ ืœืื—ืจ ืฉื ื” ืฉืœ ืขื‘ื•ื“ื” ืขื Kubernetes. ื”ื˜ื™ืคื™ื ืœื ืžืžื•ื™ื ื™ื ืœืคื™ ื—ืฉื™ื‘ื•ืช, ืื‘ืœ ืื ื—ื ื• ื—ื•ืฉื‘ื™ื ืฉื›ืœ ืื—ื“ ื™ืžืฆื ืžืฉื”ื• ืฉื™ืžื•ืฉื™ ืขื‘ื•ืจ ืขืฆืžื•.

ื”ืคืงื•ื“ื” ื”ืคืฉื•ื˜ื” ื‘ื™ื•ืชืจ ืœืขื‘ื•ื“ื” ืขื Kubernetes

ืžืœื›ืชื—ื™ืœื”, ืื•ืœื™ ื”ืคืขื•ืœื” ื”ืคืฉื•ื˜ื” ื•ื”ืฉื™ืžื•ืฉื™ืช ื‘ื™ื•ืชืจ ื‘ืขื‘ื•ื“ื” ืขื Kubernetes. ื”ืคืงื•ื“ื” ื”ื‘ืื” ืžืืคืฉืจืช ื”ืฉืœืžืช ืคืงื•ื“ื” kubectl ื‘ืžืขื˜ืคืช bash:

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

ื”ืฉืœืžื” ืื•ื˜ื•ืžื˜ื™ืช kubectl ื™ื™ื›ืชื‘ ืœืงื•ื‘ืฅ .bashrc ื•ื™ื•ืคืขืœ ืื•ื˜ื•ืžื˜ื™ืช ื‘ื›ืœ ืคืขื ืฉื”ืžืขื˜ืคืช ืžื•ืคืขืœืช. ื–ื” ืžืื™ืฅ ื”ืงืœื“ืช ืคืงื•ื“ื•ืช ื•ืคืจืžื˜ืจื™ื ืืจื•ื›ื™ื ื›ื’ื•ืŸ all-namespaces. ืงืจื ืขื•ื“ ื‘ ืขื–ืจื” ืฉืœ Kubernetes bash.

ืžื’ื‘ืœื•ืช ื‘ืจื™ืจืช ืžื—ื“ืœ ืฉืœ ื–ื™ื›ืจื•ืŸ ื•-CPU ื‘ืžืจื—ื‘ ืฉืžื•ืช

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

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

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

ืฆื•ืจ yaml ื›ื–ื” ื•ื”ื—ืœ ืขืœ ื›ืœ ืžืจื—ื‘ ืฉืžื•ืช. ืœื“ื•ื’ืžื”, ืœืžืจื—ื‘ ื”ืฉืžื•ืช limit-example. ื›ืขืช ืœื›ืœ ืงื•ื ื˜ื™ื™ื ืจ ืฉื ืคืจืก ื‘ืžืจื—ื‘ ื”ืฉืžื•ืช ื”ื–ื” ืชื”ื™ื” ืžื’ื‘ืœื” ืฉืœ 512Mi, ืืœื ืื ื›ืŸ ื ืงื‘ืขื” ืžื’ื‘ืœื” ืื™ืฉื™ืช ื ื•ืกืคืช ืขื‘ื•ืจ ืงื•ื ื˜ื™ื™ื ืจ ื–ื”.

ืื™ืกื•ืฃ ืืฉืคื” ื‘ื’ืจืกืื•ืช ื™ืฉื ื•ืช ื™ื•ืชืจ ืฉืœ Kubernetes

Kubelet ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ืžืชื—ื™ืœ ืื™ืกื•ืฃ ืืฉืคื” ื›ืืฉืจ var/lib/docer ืชื•ืคืก 90% ืžืฉื˜ื— ื”ื“ื™ืกืง ื”ื–ืžื™ืŸ. ืขื ื–ืืช, ื–ื” ื ื”ื“ืจ, ืขื“ ืœ-Kubernetes 1.7 ืœื ื”ื™ื™ืชื” ืžื’ื‘ืœืช ื‘ืจื™ืจืช ืžื—ื“ืœ ืขืœ ืžืกืคืจ ื”ืื™ื ื•ื“ื™ื ื‘ืฉื™ืžื•ืฉ, ื”ืชื•ืืžื™ื ืืช ืžืกืคืจ ื”ืงื‘ืฆื™ื ื‘ืžืขืจื›ืช ื”ืงื‘ืฆื™ื.

ืคื•ื˜ื ืฆื™ืืœื™ ื”ืžื™ื›ืœ ืฉืœืš var/lib/docer ืขืฉื•ื™ ืœื”ืฉืชืžืฉ ืจืง ื‘-50% ืžืฉื˜ื— ื”ื“ื™ืกืง, ืืš ืขืœื•ืœื™ื ืœื”ื™ื’ืžืจ ื”ืื™ื ื•ื“ื™ื, ืžื” ืฉื™ื’ืจื•ื ืœื‘ืขื™ื•ืช ืœืขื•ื‘ื“ื™ื.

ื‘ื’ืจืกืื•ืช ื™ืฉื ื•ืช ื™ื•ืชืจ ืฉืœ kubelet ืž-1.4 ืขื“ 1.6 ืชืฆื˜ืจืš ืœื”ื•ืกื™ืฃ ืืช ื”ื“ื’ืœ ื”ื–ื”:

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

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

Minikube... Kubernetes ืžืงื•ืžื™ื™ื ืงื˜ื ื™ื ืืš ื—ื–ืงื™ื

Minikube ื”ื™ื ื”ื“ืจืš ื”ืงืœื” ื‘ื™ื•ืชืจ ืœื”ืคืขื™ืœ ืืฉื›ื•ืœ Kubernetes ืžืงื•ืžื™. ื”ื•ื ืžื•ืคืขืœ ื‘ืคืงื•ื“ื” ืคืฉื•ื˜ื”:

minikube start

ื”ืคืขืœืช ืคืงื•ื“ื” ื–ื• ืžื‘ื™ืื” ืœืืฉื›ื•ืœ Kubernetes ืืžื™ืชื™ ื”ืคื•ืขืœ ื‘ืžื—ืฉื‘ ืฉืœืš.

10 ื”ื˜ืจื™ืงื™ื ื•ื”ื˜ื™ืคื™ื ื”ืžื•ื‘ื™ืœื™ื ืฉืœ Kubernetes
ืžืงื•ืจ ืื™ื•ืจ

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

ื›ื“ื™ ืœืืœืฅ ืืช Docker ืœื“ื—ื•ืฃ ืืช ื”ืชืžื•ื ื” ืœืืฉื›ื•ืœ Kubernetes ื”ืžืงื•ืžื™, ืžื›ื•ื ื” Docker ืžืงื‘ืœืช ืืช ื”ืคืงื•ื“ื” ื”ื‘ืื”:

eval $(minikube docker-env)

ื›ืขืช ืื ื• ื™ื›ื•ืœื™ื ืœื‘ื ื•ืช ื™ื™ืฉื•ืžื™ื ืขืœ ืืฉื›ื•ืœ Kubernetes ืžืงื•ืžื™.

ืืœ ืชื™ืชืŸ ืœ-kubectl ื’ื™ืฉื” ืœื›ื•ืœื

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

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

ื ื”ืœ ืชืงืฆื™ื‘ื™ ืคื•ื“

ื›ื™ืฆื“ ืœื”ื‘ื˜ื™ื— ืฉืื™ืŸ ื–ืžืŸ ื”ืฉื‘ืชื” ืœืืคืœื™ืงืฆื™ื” ื‘ืืฉื›ื•ืœ Kubernetes? PodDisruptionBudget ื•ืฉื•ื‘ PodDisruptionBudget.

ืืฉื›ื•ืœื•ืช ืžืชืขื“ื›ื ื™ื ืžืขืช ืœืขืช ื•ืฆืžืชื™ื ืžืชืจื•ืงื ื™ื. ืฉื•ื ื“ื‘ืจ ืœื ืขื•ืžื“ ืžืœื›ืช, ื–ื• ื”ืžืฆื™ืื•ืช. ื›ืœ ืคืจื™ืกื” ืขื ื™ื•ืชืจ ืžืžื•ืคืข ืื—ื“ ืฆืจื™ื›ื” ืœื›ืœื•ืœ PDB (PodDisruptionBudget). ื”ื•ื ื ื•ืฆืจ ื‘ืงื•ื‘ืฅ yaml ืคืฉื•ื˜ ืฉืžื•ื—ืœ ืขืœ ื”ืืฉื›ื•ืœ. ืื–ื•ืจ ื”ื›ื™ืกื•ื™ ืฉืœ PDB ืžืกื•ื™ื ื ืงื‘ืข ืขืœ ื™ื“ื™ ื‘ื•ืจืจื™ ื”ืชื•ื•ื™ื•ืช.

ื”ืขืจื”: ืชืงืฆื™ื‘ 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, ืื– PDB ื–ื” ื™ื—ื•ืœ ืจืง ืขืœ ื”ืจืืฉื•ืŸ.

ืคืจืžื˜ืจ minAvailable ื ืœืงื— ื‘ื—ืฉื‘ื•ืŸ ื‘ืขืช โ€‹โ€‹ืจื™ืงื•ืŸ (ื ื™ืงื•ื™) ื”ืฆื•ืžืช. ืœื“ื•ื’ืžื”, ื‘ื“ื•ื’ืžื” ืฉืœื ื•, ื‘ืžื”ืœืš ื”ืจื™ืงื•ืŸ, ื›ืœ ื”ืžืงืจื™ื ืžืคื•ื ื™ื app: app-a, ืœืžืขื˜ ืฉื ื™ื™ื.

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

ื ื™ื˜ื•ืจ ืชืงื™ื ื•ืช ื”ืืคืœื™ืงืฆื™ื”

ื ื™ื˜ื•ืจ ื›ื–ื” ืืคืฉืจื™ ื‘ืฉืชื™ ื“ืจื›ื™ื: ื‘ืืžืฆืขื•ืช ืžื‘ื—ื ื™ Readiness ืื• Liveness.

ื”ื‘ื“ื™ืงื” ื”ืจืืฉื•ื ื” (ืžื•ื›ื ื•ืช) ืงื•ื‘ืขืช ืืช ืžื•ื›ื ื•ืช ื”ืžื›ื•ืœื” ืœืงื‘ืœ ืชืขื‘ื•ืจื”.

ื”ืฉื ื™ (ื—ื™ื•ืช) ืžืจืื” ืื โ€‹โ€‹ื”ืžื™ื›ืœ ื‘ืจื™ื ืื• ืฉื™ืฉ ืœื”ืคืขื™ืœ ืื•ืชื• ืžื—ื“ืฉ.

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

ืชื’ื™ื ื ืžืฆืื™ื ื‘ื›ืœ ืžืงื•ื

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

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

ื ื ื™ื— ืฉืืชื” ืžืฉืชืžืฉ ื‘ืื•ืชื• ืืฉื›ื•ืœ ืขื‘ื•ืจ dev ะธ qa. ื–ื” ืื•ืžืจ ืฉืืชื” ื™ื›ื•ืœ ืœืงื‘ืœ ื™ื™ืฉื•ื app-a, ื‘ื• ื–ืžื ื™ืช ืขื‘ื•ื“ื” ื‘ืฉืชื™ ื”ืกื‘ื™ื‘ื•ืช qa ะธ dev. ื‘ืžืงืจื” ื–ื”, ื ื•ื›ืœ ืœื’ืฉืช ื‘ื ืคืจื“ ืœืžื•ืคืข ื”ื™ื™ืฉื•ื ื‘ืกื‘ื™ื‘ื” ืกืคืฆื™ืคื™ืช ืขืœ ื™ื“ื™ ืฆื™ื•ืŸ ื”ืคืจืžื˜ืจ ื”ืžืชืื™ื environment. ืœื“ื•ื’ืžื”, app: app-a ะธ environment: dev ืขื‘ื•ืจ ืกื‘ื™ื‘ื” ืื—ืช, ื• app: app-a ะธ environment: qa ืขื‘ื•ืจ ื”ืฉื ื™.

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

ืœืขืฉื•ืช ืกื“ืจ ื‘ื“ื‘ืจื™ื

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

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

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

ื”ื›ื™ืจื• ืืช Go

ืืช ื”ืขืฆื” ื”ืขื™ืงืจื™ืช ืฉืžืจื ื• ืœืกื•ืฃ. ืœืžื“ ืืช ืฉืคืช ื”ืชื›ื ื•ืช Go.

Kubernetes ืคื•ืชื—ื” ื‘-Go, ื›ืœ ื”ื”ืจื—ื‘ื•ืช ื ื›ืชื‘ื•ืช ื‘-Go, ื•ื’ื ืกืคืจื™ื™ืช ื”ืœืงื•ื—ื•ืช ืฉืœ client-go ื ืชืžื›ืช ืจืฉืžื™ืช.

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

ืœื™ืžื•ื“ ืฉืคืช ื”ืชื›ื ื•ืช Go ื•ืฉืœื™ื˜ื” ื‘-client-go ื”ื™ื ืื•ืœื™ ื”ืขืฆื” ื”ื—ืฉื•ื‘ื” ื‘ื™ื•ืชืจ ืฉืชื•ื›ืœ ืœืชืช ืœืžืฉืชืžืฉื™ Kubernetes ื—ื“ืฉื™ื.

ืชื•ืจื’ื ื‘ืชืžื™ื›ื” ืฉืœ Mail.ru Cloud Solutions

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

  1. ืฉืœื•ืฉ ืจืžื•ืช ืฉืœ ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ื‘-Kubernetes ื•ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื”ืŸ ื‘ื™ืขื™ืœื•ืช.
  2. ืฆืžืชื™ ืขื‘ื•ื“ื” ืฉืœ Kubernetes: ืจื‘ื™ื ืงื˜ื ื™ื ืื• ืžืขื˜ ื’ื“ื•ืœื™ื?
  3. 25 ื›ืœื™ื ืฉื™ืžื•ืฉื™ื™ื ืœืคืจื™ืกื” ื•ื ื™ื”ื•ืœ ืฉืœ Kubernetes.

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

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