ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ Π² ΡΠ΅ΡΠΈΡ ΠΊΡΠ°ΡΠΊΠΈΡ
ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ² ΠΏΠΎ Kubernetes. ΠΡΠΎ ΡΠ΅Π³ΡΠ»ΡΡΠ½Π°Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Ρ ΡΠ°ΠΌΡΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌΠΈ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΈ Π½Π° Π½Π°ΡΠΈΡ
ΡΡΠ΅Π½ΠΈΠ½Π³Π°Ρ
. ΠΡΠ²Π΅ΡΠ°Π΅Ρ ΡΠΊΡΠΏΠ΅ΡΡ ΠΏΠΎ Kubernetes.
Π‘Π΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ ΡΠΊΡΠΏΠ΅ΡΡ β ΠΠ°Π½ΠΈΡΠ»Ρ ΠΠΎΠ»Π΅Π½ΡΠΈΠΊ (
Daniele Polencic ). ΠΠ°Π½ΠΈΡΠ»Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΠ Π²Learnk8s .
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ²Π΅Ρ Π½Π° ΡΠ²ΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅,
ΠΡΠΎΠΏΡΡΡΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΠΏΠΎΡΡΡ?
ΠΠ°ΠΊ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΡ Kubernetes Π² ΡΠ°Π·Π½ΡΡ Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΠ°Ρ ?
ΠΡΠ°ΡΠΊΠΎ:
ΡΠΊΠΎΡΠΎ Π²ΡΡ ΠΎΠ΄ΠΈΡ Kubefed v2 , Π° Π΅ΡΠ΅ ΡΠΎΠ²Π΅ΡΡΡ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΎShipper ΠΈΠΏΡΠΎΠ΅ΠΊΡΠ΅ multi-cluster-scheduler .
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΡΠ΅ΠΏΠ»ΠΈΡΠΈΡΡΠ΅ΡΡΡ ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΡΠ΅Π³ΠΈΠΎΠ½Π°ΠΌ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΡΡΠ΅Π΄Π°Ρ .
ΠΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ΅Π³ΠΈΠΎΠ½ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½, ΡΡΠ°ΡΠΈΠΊ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠ΅ΡΠ΅Π±ΠΎΠ΅Π².
Π‘ Kubernetes ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡ ΠΎΠΆΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΡΠ΅Π³ΠΈΠΎΠ½Π°ΠΌ.
Π£ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠ΅Π³ΠΈΠΎΠ½, ΡΡΠ΅Π΄Ρ ΠΈΠ»ΠΈ Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ°ΡΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠ±Π»Π°ΠΊΠ°Ρ ΠΈ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅.
ΠΠΎ ΠΊΠ°ΠΊ ΡΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π±ΡΠΎΡΠ°?
ΠΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ΄ΠΈΠ½ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±Π»Π°ΡΠ½ΡΡ
ΡΡΠ΅Π΄ ΠΏΠΎ Π΅Π΄ΠΈΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ?
ΠΠ»ΠΈ Π·Π°Π²Π΅ΡΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ
ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² ΠΈ Π½Π°ΠΉΡΠΈ ΡΠΏΠΎΡΠΎΠ± ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ
?
ΠΠ΄ΠΈΠ½ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠΈΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΏΠΎ Π΅Π΄ΠΈΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ Π½Π΅ ΡΠ°ΠΊ-ΡΠΎ ΠΏΡΠΎΡΡΠΎ.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, Ρ Π²Π°Ρ Π°Π²Π°ΡΠΈΡ, ΠΏΠΎΡΠ΅ΡΡΠ½Π° ΡΠ²ΡΠ·Π½ΠΎΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΡΠ²Π΅Ρ, ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΡΠ΅ΡΡΡΡΠΎΠ² Π½Π΅ ΡΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΠΌ Π½Π΅ ΡΠ΄Π°ΡΡΡΡ ΡΠ²ΡΠ·Π°ΡΡΡΡ Ρ ΠΌΠ°ΡΡΠ΅ΡΠΎΠΌ.
Π ΠΏΡΠΈ ΡΡΠΈΠΌ Ρ Π²Π°Ρ ΡΡΠ°ΡΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ (kube-proxy
Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅) ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
podβΠΎΠ² (kubelet Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ).
Π§ΡΠΎ Π΅ΡΠ΅ Ρ ΡΠΆΠ΅, Π΅ΡΠ»ΠΈ Kubernetes Π½Π΅ Π²ΠΈΠ΄ΠΈΡ ΡΠ·Π΅Π», ΠΎΠ½ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ΅ΡΡΠ½Π½ΡΠΉ ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ podβΡ ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΡΠ·Π»Π°ΠΌ.
Π ΠΈΡΠΎΠ³Π΅ podβΠΎΠ² Ρ Π²Π°Ρ Π² Π΄Π²Π° ΡΠ°Π·Π° Π±ΠΎΠ»ΡΡΠ΅.
ΠΡΠ»ΠΈ Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΡΠ²Π΅ΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅Π³ΠΈΠΎΠ½, Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡΠ° Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ etcd. (ΠΏΡΠΈΠΌ. ΡΠ΅Π΄. β ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ etcd Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ . ΠΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π³ΡΡΠΏΠΏΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅Π³ΠΈΠΎΠ½Π΅. ΠΡΠ°Π²Π΄Π°, ΠΏΠΎΠ»ΡΡΠΈΠ² ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΡΠΊΡ ΠΎΡΠΊΠ°Π·Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. ΠΠ°ΡΠΎ Π±ΡΡΡΡΠΎ.)
etcd ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ
Π’ΠΎ Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄ΠΎΡΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡΠ°, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² etcd.
ΠΡΠ»ΠΈ Π·Π°Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ etcd ΡΠ΅Π·ΠΊΠΎ Π²ΡΡΠ°ΡΡΠ°Π΅Ρ, ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΡΡΠ΅ΠΌΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ etcd Π² ΡΠ°Π·Π½ΡΡ
ΡΠ΅Π³ΠΈΠΎΠ½Π°Ρ
, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΡΠΎΠ±Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π΅Π³ΠΎ Π½Π° Π΄ΠΈΡΠΊ.
ΠΡΠΎ ΠΎΡΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ
Kubernetes.
ΠΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Π½ΡΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΡΠ²Π΅Ρ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
Π ΡΠ°Π· ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π½Π΅ ΠΎΠ΄ΠΈΠ½, Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ΅ΠΏΠ½Π°Ρ ΡΠ΅Π°ΠΊΡΠΈΡ, ΠΈ Π²Π΅ΡΡ ΠΊΠ»Π°ΡΡΠ΅Ρ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ.
etcd Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π΅Π½ ΠΊ Π·Π°Π΄Π΅ΡΠΆΠΊΠ΅, ΡΡΠΎ
Π‘Π΅ΠΉΡΠ°Ρ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Ρ ΠΎΡΠΎΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ΅ΡΠΈ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°.
Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈ Π³ΡΡΠΏΠΏΠ° SIG-cluster ΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΠΎΡΠΊΠ΅ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Kubernetes ΠΎΡΠΊΠ΅ΡΡΡΠΈΡΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ.
ΠΠ°ΡΠΈΠ°Π½Ρ 1: ΡΠ΅Π΄Π΅ΡΠ°ΡΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² Ρ kubefed
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ ΠΎΡ SIG-cluster β
ΠΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° kube federation.
ΠΠ°ΡΠ°Π»ΠΎ Π±ΡΠ»ΠΎ Ρ ΠΎΡΠΎΡΠΈΠΌ, Π½ΠΎ Π² ΠΈΡΠΎΠ³Π΅ kube federation ΡΠ°ΠΊ ΠΈ Π½Π΅ ΡΡΠ°Π» ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π» Π½Π΅ Π²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ.
ΠΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π» ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΡ, Π½ΠΎ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π½Π΅ StatefulSets.
Π Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ΅Π΄Π΅ΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π»Π°ΡΡ Π² Π²ΠΈΠ΄Π΅ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ ΠΈ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π»Π°ΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡΡ.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π² ΡΠ΅Π΄Π΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΈΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ.
ΠΠΎΠ»ΡΡΠΈΠ»ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ Π±Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΠΊ.
SIG-cluster ΠΏΡΠΎΠ΄Π΅Π»Π°Π»ΠΈ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΡΠ»Π΅ kubefed v1 ΠΈ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠΉΡΠΈ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ.
ΠΠΌΠ΅ΡΡΠΎ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ ΠΎΠ½ΠΈ ΡΠ΅ΡΠΈΠ»ΠΈ Π²ΡΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠ°Ρ . ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΡΠ΅ΡΡΡΡΠΎΠ² (Custom Resource Definition, CRD).
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²Ρ ΠΎΠ΄ΠΈΡΡ Π² ΡΠ΅Π΄Π΅ΡΠ°ΡΠΈΡ, Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ CRD ΠΈΠ· ΡΡΠ΅Ρ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ²:
- ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π΅ΠΏΠ»ΠΎΠΉ;
- ΡΠ°Π·Π΄Π΅Π»
placement
, Π³Π΄Π΅ Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠ΅ΡΡΡΡ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² ΡΠ΅Π΄Π΅ΡΠ°ΡΠΈΠΈ; - ΡΠ°Π·Π΄Π΅Π»
override
, Π³Π΄Π΅ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π²Π΅Ρ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠ· placement.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ Ρ ΡΠ°Π·Π΄Π΅Π»Π°ΠΌΠΈ placement ΠΈ override.
apiVersion: types.federation.k8s.io/v1alpha1
kind: FederatedDeployment
metadata:
name: test-deployment
namespace: test-namespace
spec:
template:
metadata:
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- image: nginx
name: nginx
placement:
clusterNames:
- cluster2
- cluster1
overrides:
- clusterName: cluster2
clusterOverrides:
- path: spec.replicas
value: 5
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΏΠΎΡΡΠ°Π²ΠΊΠ° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΏΠΎ Π΄Π²ΡΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°ΠΌ: cluster1
ΠΈ cluster2
.
ΠΠ΅ΡΠ²ΡΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ, Π° Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 5.
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ΅ΠΏΠ»ΠΈΠΊ, kubefed2 ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ReplicaSchedulingPreference, Π³Π΄Π΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠΎ Π²Π΅ΡΡ:
apiVersion: scheduling.federation.k8s.io/v1alpha1
kind: ReplicaSchedulingPreference
metadata:
name: test-deployment
namespace: test-ns
spec:
targetKind: FederatedDeployment
totalReplicas: 9
clusters:
A:
weight: 1
B:
weight: 2
Π‘ΡΡΡΠΊΡΡΡΠ° CRD ΠΈ API Π΅ΡΠ΅ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ Π³ΠΎΡΠΎΠ²Ρ, ΠΈ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²Π΅Π΄Π΅ΡΡΡ Π°ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ°.
Π‘Π»Π΅Π΄ΠΈΡΠ΅ Π·Π° kubefed2, Π½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ΅Π΄Ρ ΠΎΠ½ ΠΏΠΎΠΊΠ° Π½Π΅ Π³ΠΎΠ΄ΠΈΡΡΡ.
Π£Π·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ kubefed2 ΠΈΠ·
ΠΠ°ΡΠΈΠ°Π½Ρ 2: ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² Π² ΡΡΠΈΠ»Π΅ Booking.com
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Booking.com Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°Π»ΠΈΡΡ kubefed v2, Π·Π°ΡΠΎ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π»ΠΈ Shipper β ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π΄Π»Ρ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°Ρ , Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅Π³ΠΈΠΎΠ½Π°Ρ ΠΈ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΠ±Π»Π°ΠΊΠ°Ρ .
ΠΠ±Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°Ρ (ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π½ΠΈΡ ΡΠ΅ΠΏΠ»ΠΈΠΊ).
ΠΠΎ Π·Π°Π΄Π°ΡΠ° Shipper β ΡΠ½ΠΈΠ·ΠΈΡΡ ΡΠΈΡΠΊ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΠΏΠΎΡΡΠ°Π²ΠΊΠ΅.
Π Shipper ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ΄ ΡΠ°Π³ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΠΈ ΡΠ΅ΠΊΡΡΠΈΠΌ Π΄Π΅ΠΏΠ»ΠΎΠ΅ΠΌ ΠΈ ΠΎΠ±ΡΠ΅ΠΌ Π²Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΡΡΠ°ΡΠΈΠΊΠ°.
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΡΠ΅ΡΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅Ρ, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Shipper ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π΅Ρ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°ΠΌ.
Π Π΅ΡΠ΅ Shipper ΠΎΡΠ΅Π½Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Helm-ΡΠ°ΡΡΡ ΠΊΠ°ΠΊ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ vanilla ΡΠ΅ΡΡΡΡΡ.
Π ΠΎΠ±ΡΠΈΡ
ΡΠ΅ΡΡΠ°Ρ
, Shipper ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ Helm-ΡΠ°ΡΡ:
apiVersion: shipper.booking.com/v1alpha1
kind: Application
metadata:
name: super-server
spec:
revisionHistoryLimit: 3
template:
chart:
name: nginx
repoUrl: https://storage.googleapis.com/shipper-demo
version: 0.0.1
clusterRequirements:
regions:
- name: local
strategy:
steps:
- capacity:
contender: 1
incumbent: 100
name: staging
traffic:
contender: 0
incumbent: 100
- capacity:
contender: 100
incumbent: 0
name: full on
traffic:
contender: 100
incumbent: 0
values:
replicaCount: 3
Shipper Π½Π΅ΠΏΠ»ΠΎΡ ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°ΠΌΠΈ, Π½ΠΎ Π΅Π³ΠΎ ΡΠ΅ΡΠ½Π°Ρ ΡΠ²ΡΠ·Ρ Ρ Helm ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠ°Π΅Ρ.
Π Π²Π΄ΡΡΠ³ ΠΌΡ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ Ρ Helm Π½Π°
Π£Π·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ Shipper ΠΈ Π΅Π³ΠΎ ΡΠΈΠ»ΠΎΡΠΎΡΠΈΠΈ Π²
ΠΡΠ»ΠΈ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΊΠΎΠΏΠ°ΡΡΡΡ Π² ΠΊΠΎΠ΄Π΅,
ΠΠ°ΡΠΈΠ°Π½Ρ 3: «ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΎΠ΅» ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ²
Kubefed v2 ΠΈ Shipper ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅Π΄Π΅ΡΠ°ΡΠΈΠ΅ΠΉ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ², ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°ΠΌ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ².
ΠΠΎ Π²Π΄ΡΡΠ³ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ, StatefulSets, DaemonSets ΠΈ Ρ. Π΄. Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ?
ΠΠ°ΠΊ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ Π² ΡΠ΅Π΄Π΅ΡΠ°ΡΠΈΡ, Π½Π΅ ΠΌΠ΅Π½ΡΡ YAML?
ΠΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ΄ΡΠΌΡΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠΌ ΠΈ ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ΅ΡΡΡΡΡ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, multi-cluster-scheduler Π²Π½Π΅Π΄ΡΡΠ΅ΡΡΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ» Kubernetes ΠΈ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ΄Ρ.
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠΉ ΠΏΠΎΠ΄ ΡΡΠ°Π·Ρ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° ΠΏΡΡΡΡΡΠΊΡ.
multi-cluster-scheduler ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ
Π²Π΅Π±-hooks Π΄Π»Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ° , ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΡΡ Π²ΡΠ·ΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π΅Π·Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠΉ pod-ΠΏΡΡΡΡΡΠΊΡ.
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ pod ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΊΠ» ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π³Π΄Π΅ ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΡΠΎΡΠ° Π²ΡΠ΅ΠΉ ΡΠ΅Π΄Π΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, pod ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ.
Π ΠΈΡΠΎΠ³Π΅ Ρ Π²Π°Ρ Π»ΠΈΡΠ½ΠΈΠΉ pod, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ, ΠΏΡΠΎΡΡΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ΅ΡΡΠΎ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Π°ΠΌ Π½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΏΠΈΡΠ°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²ΠΎΠΊ.
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΡΡΡ, ΡΠΎΠ·Π΄Π°ΡΡΠΈΠΉ pod, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³ΠΎΡΠΎΠ² Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ.
ΠΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, Π²Π΅Π΄Ρ Ρ Π²Π°Ρ Π²Π΄ΡΡΠ³ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ, ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠ΅Π³ΠΈΠΎΠ½Π°ΠΌ, Π° Π²Ρ ΠΈ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ. ΠΠΏΡΠΎΡΠ΅ΠΌ, ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΈΡΠΊΠΎΠ²Π°Π½Π½ΠΎ, Π²Π΅Π΄Ρ Π·Π΄Π΅ΡΡ Π²ΡΠ΅ Π΄Π΅ΡΠΆΠΈΡΡΡ Π½Π° ΠΌΠ°Π³ΠΈΠΈ.
ΠΠΎ Π΅ΡΠ»ΠΈ Shipper ΡΡΠ°ΡΠ°Π΅ΡΡΡ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, ΡΠΌΡΠ³ΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ ΠΏΠΎΡΡΠ°Π²ΠΎΠΊ, multi-cluster-scheduler Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡΡΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΡ Π·Π°Π΄Π°Π½ΠΈΠΉ.
Π£ Π½Π΅Π³ΠΎ Π½Π΅Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΡΡ ΠΏΠΎΡΡΠ°Π²ΠΎΠΊ.
ΠΠΎΠ»ΡΡΠ΅ ΠΎ multi-cluster-scheduler ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ Π½Π°
ΠΡΠ»ΠΈ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΎ multi-cluster-scheduler Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ, Ρ Admiralty Π΅ΡΡΡ
ΠΡΡΠ³ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ
Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠΈ β ΡΠ»ΠΎΠΆΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ°, ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΈΠ·ΡΡΠΈΡΡ ΡΡΡ ΡΠ΅ΠΌΡ, Π²ΠΎΡ Π²Π°ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΡΡΡΠΎΠ²:
Submariner ΠΎΡ Rancher β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΠΈΠΉ ΠΎΠ²Π΅ΡΠ»Π΅ΠΉ-ΡΠ΅ΡΠΈ ΡΠ°Π·Π½ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² Kubernetes.- Π ΠΎΠ·Π½ΠΈΡΠ½Π°Ρ ΡΠ΅ΡΡ Target ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ
Unimatrix Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Spinnaker, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π΅ΠΏΠ»ΠΎΠΉ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°Ρ . - ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ IPV6 ΠΈ
Π΅Π΄ΠΈΠ½ΡΡ ΡΠ΅ΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅Π³ΠΈΠΎΠ½Π°Ρ . - ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ service mesh, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
Istio Π΄Π»Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² . - Cilium, ΠΏΠ»Π°Π³ΠΈΠ½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ΅ΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ
ΡΡΠ½ΠΊΡΠΈΡ cluster mesh , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΡΠ΅ΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ²
ΠΠΎΡ ΠΈ Π²ΡΠ΅ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½Ρ
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ Π΄ΠΎΡΠΈΡΠ°Π»ΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°!
ΠΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ²,
ΠΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π²Π°Ρ ΡΠΏΠΎΡΠΎΠ± ΠΊ ΡΡΡΠ»ΠΊΠ°ΠΌ.
ΠΡΠΎΠ±Π°Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ ΠΡΠΈΡΡ ΠΠ΅ΡΠ±ΠΈΡΡΡ-Π‘ΠΌΠΈΡΡ (
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com